W3C home > Mailing lists > Public > semantic-web@w3.org > July 2012

Re: Why do we name nodes and not edges?

From: Hugh Glaser <hg@ecs.soton.ac.uk>
Date: Mon, 30 Jul 2012 22:32:54 +0000
To: Melvin Carvalho <melvincarvalho@gmail.com>
CC: Natasa Bulatovic <bulatovic@mpdl.mpg.de>, "<semantic-web@w3.org>" <semantic-web@w3.org>
Message-ID: <CD9A0A2A-DBAB-4003-9375-F43A12F43929@soton.ac.uk>
Well I have to say that all this enthusiasm for Named Graphs amazes me.
This is of course primarily because I come from Linked Data, and since RDF does not include the name of the graph in its representations, or even in the model (as far as I can see), it is just plain wrong to look to Named Graphs as a major way of doing anything.
At great effort people define a beautiful Framework (RDF), but then say that to do all these different things you need some external stuff.
That would mean the Framework was wrong, and it is not clear to me that it is.

With respect to naming triples, at first sight it seems to me there is a perfectly sensible way of doing it, as I described in an earlier message.
There is no need to describe a language for encoding the whole triple - a unique URI for the edge uniquely identifies the triple, and seems quite natural.
This URI can then be subPropertyOf whatever it would have been in the general form.
So we have gained identifiers for triples for the possible maximum cost of one extra subPropertyOf triple for each triple to be identified.
And now RDF can be used to make statements about each triple (edge), and I can do it all in Linked Data.

This doesn't immediately solve the same thing as Named Graphs, where groups of triples/edges needed to be identified.
But can't the edges be gathered into Classes?
And with multiple inheritance, you can have arbitrary membership of Classes by any edge, giving much more power than simple Named Graphs, where triples/edges can only be members of one graph?

As Steve says, naming edges is about convention, and would look weird to some people.
But I find referring to an Oracle (the Named Graph) even weirder - if something doesn't come back in RDF on URI resolution, then for most of my apps I can't get to know about it.
Don't it in RDF requires no change at all in the technology - SCBD includes whatever you need.

Is there anything technically wrong with what I am describing?

Best
Hugh

On 30 Jul 2012, at 12:53, Melvin Carvalho <melvincarvalho@gmail.com> wrote:

> 
> 
> On 25 July 2012 18:11, Natasa Bulatovic <bulatovic@mpdl.mpg.de> wrote:
> Could you point to some examples where this scenario would be useful or recommended?
> 
> I dont really have a specific use case in mind, it's more a kind of high level question.
> 
> If naming is the most important thing we do, and we go to a lot of effort naming nodes, why is it that we seemingly put less effort in naming edges.
> 
> Of course it's possible to construct use cases.  
> 
> <#alice> :isInARealtionshipWith <#bob>
> 
> I may want to +1 this triple for example.
> 
> It also becomes easier to point to data, sign it etc.
> 
> But really my question is regarding the naming in general.
> 
> Follow up question:  could we quickly come to a consensus for a best practice to do this e.g.
> 
> urn : uuid/eav : subject delimiter predicate delimiter object
>  
> 
> Cheers,
> Natasa
> 
> Am 25.07.2012 18:04, schrieb Dave Reynolds:
> 
> If I understand Steve's point he was meaning that you can mint a new unique edge:xxxxxx identifier for each edge.
> 
> [Presumably you could make that a subPropertyOf the actual property you wanted to assert.]
> 
> Cheers,
> Dave
> 
> On 25/07/12 16:47, Aidan Hogan wrote:
> Steve,
> 
> If I understand Melvin's point, in RDF, edge:123456 is the URI of a
> property used to label the edge, not the edge itself.
> 
> Analogously, you don't identify a class-instance by it's class URI.
> 
> An edge is between two things. It might be directed and it might be
> labelled. In RDF it's both.
> 
> Hence, the edge would encapsulate the full triple, including source
> (subject) and target (object) nodes, as well as the label (predicate).
> 
> Cheers,
> Aidan
> 
> On 25/07/2012 16:18, Steve Harris wrote:
> Nothing stops you from giving edges a unique URI, infact I think I've
> worked on systems that did that.
> 
> e.g.
> 
> <foo> <http://example.com/edge/123456> 1 .
> <http://example.com/edge/123456> a rdf:Property .
> ...
> 
> - Steve
> 
> On 2012-07-25, at 16:07, Melvin Carvalho wrote:
> 
> Sorry if this topic has been covered before, but I have a question
> based on the axioms of the web, in particular:
> 
> *Axiom 0a: Universality 2    Any resource of significance should be
> given a URI.
> *
> In this case we consider the web to be a directed graph (of nodes and
> edges), where a *node* corresponds to a *resource* but edge does not.
> 
> We are encouraged to make nodes universal by giving them a URI.
> 
> Why dont edges get the same treatment, ie encouragment to give it a
> (universal) name.  Is it even practical?
> 
> I know there's such thing as reification but that seems to be
> unpopular (maybe before my time).
> 
> I'm just curious as to whether this seems asymmetrical, that nodes are
> seemigly treated in one way, and edges in another?
> 
> -- 
> Steve Harris, CTO
> Garlik, a part of Experian
> +44 7854 417 874 http://www.garlik.com/
> Registered in England and Wales 653331 VAT # 887 1335 93
> Registered office: Landmark House, Experian Way, Nottingham, Notts,
> NG80 1ZZ
> 
> 
> 
> 
> 
> 
> -- 
> --
> Natasa Bulatovic
> Max Planck Digital Library (MPDL)
> Amalienstrasse 33
> 80799 Munich, Germany
> http://www.mpdl.mpg.de
> 
> e-Mail: bulatovic@mpdl.mpg.de
> phone: +49-89-38602-223
> fax: +49-89-38602-280
> 
> 
> 
> 
Received on Monday, 30 July 2012 22:33:28 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 1 March 2016 07:42:35 UTC