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: Tue, 31 Jul 2012 15:32:28 +0000
To: David Booth <david@dbooth.org>
CC: Melvin Carvalho <melvincarvalho@gmail.com>, Natasa Bulatovic <bulatovic@mpdl.mpg.de>, "semantic-web@w3.org" <semantic-web@w3.org>
Message-ID: <AFF1AF64-02EC-4FB7-B0E3-19D1639D087D@soton.ac.uk>
Thanks David, very helpful.

(I know we have rather gone off-topic, so if someone wants to change the subject feel free!)

I worry I am being thick, but in the Linked Data world, without a SPARQL endpoint, I just don't understand how Named Graphs can solve anything.

My consuming system (RKB) has the standard thing of a cache where we put the rdf we get by "follow-your-nose" URI resolution; we usually put it in a SPARQL store; but the only sensible Named Graphs we can get are the files they come from, or possibly make something up about the URI resolved.
I have just harvested >100M triples from 100s of ePrints repositories by F-Y-N into a local SPARQL store, and of course there is not a useful Named Graph in sight.

For sameAs.org, people sometimes ask me about getting the provenance out.
I can easily tell you some of the information on a per edge basis (well sort of - and modulo inference), and return it in RDF as part of the Linked Data offering.
But since it is not based on a SPARQL store, doing anything that relate to Named Graphs is something I haven't managed to get my head around.

So the Linked Data boundary apple to me as a publisher, as well as a consumer.

Am I not right in thinking that Follow-Your-Nose is effectively a filter that ensures that any Named Graph information in the source is lost, and so anything that relates to Named Graphs is worthless as incoming knowledge for Linked Data?
Or is it that there is a way I can get Named Graph information to cross the Linked Data URI conneg boundary?

Sorry if this is wrong because of my thickness/lack of reading or is all well-known and accepted.

Best
Hugh


On 31 Jul 2012, at 15:30, David Booth <david@dbooth.org>
 wrote:

> Hi Hugh,
> 
> On Mon, 2012-07-30 at 22:32 +0000, Hugh Glaser wrote:
>> 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.
> 
> Not wrong, but with experience people realized that named graphs are
> very helpful.  Yes, you *can* do anything with RDF without using named
> graphs.  In fact, named graphs could be encoded in RDF triples if you
> really wanted to do that -- just as in Lisp, *everything* is encoded
> using CAR/CDR pairs -- but it becomes quite clumsy and inconvenient to
> do it that way, and that drives up the complexity and
> development/maintenance cost.
>> 
>> 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?
> 
> I find the idea of using subPropertyOf quite creative and intriguing,
> and it may be a good solution in some cases.  But it does have the
> downside of requiring inference (to recognize that :knows3412 is a
> subPropertyOf foaf:knows), whereas the named graph approach doesn't.
> 
> David
> 
>> 
>> 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
>>> 
>>> 
>>> 
>>> 
>> 
>> 
>> 
>> 
> 
> -- 
> David Booth, Ph.D.
> http://dbooth.org/
> 
> Opinions expressed herein are those of the author and do not necessarily
> reflect those of his employer.
> 
Received on Tuesday, 31 July 2012 15:33:18 UTC

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