W3C home > Mailing lists > Public > www-rdf-interest@w3.org > May 2004

Re: Schema-aware RDF aggregation

From: Graham Klyne <GK@ninebynine.org>
Date: Mon, 17 May 2004 23:41:01 +0100
Message-Id: <5.1.0.14.2.20040517233613.02fe0b98@127.0.0.1>
To: "Benjamin D. Smedberg" <bsmedberg@covad.net>, www-rdf-interest@w3.org

In general, I'd say that the RDF semantics do not sanction any kind of 
property-renaming (which you call re-ordering in the case of rdf:Seq member 
properties).  The semantics of rdf container membership properties are 
quite weak, and don't suggest any significant change of *formal* semantics 
incurred by the renaming you described, but I'd say it's still not valid in 
the general case.

Certain specific applications may interpret container membership in a way 
that justifies (or preserves truth) under the renamings you describe, but 
I'd be very wary of any suggestion that this was a generally valid thing to do.

In general, when aggregating (merging) RDF graphs, URIs should not be 
changed (whether used in subject object or property positions), and blank 
nodes (bnodes) must be handled in such a way that bnodes from two graphs 
remain distinct in the merged graph.  In some representations, this may 
involve reallocation of the bnode identifiers.

#g
--

At 11:48 17/05/04 -0400, Benjamin D. Smedberg wrote:

>I've been working on RDF aggregation in the context of the Mozilla 
>platform, and had some questions about whether RDF aggregation is 
>standardized in any way, or should be:
>
>My primary question arises in regards to the standard rdf:Seq resources. 
>If you are aggregating several RDF graphs, should you reorder the child 
>arcs? For example, aggregate the following graphs:
>
>
>
>Graph 1-A
>
>
>
>
>
>
><http://foo.com/URI> <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1> 
><http://www.foo.com/child1>
><http://foo.com/URI> <http://www.w3.org/1999/02/22-rdf-syntax-ns#_2> 
><http://www.foo.com/child2>
>
>
>
>Graph 1-B
>
>
>
>
>
>
>
><http://foo.com/URI> <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1> 
><http://www.bar.com/child1>
><http://foo.com/URI> <http://www.w3.org/1999/02/22-rdf-syntax-ns#_2> 
><http://www.bar.com/child2>
>
>
>
>
>
>Graph 1-aggregated
>
>
>
>
>In my opinion, the logical/semantically-correct aggregation would be like so:
>
>
><http://foo.com/URI> <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1> 
><http://www.foo.com/child1>
><http://foo.com/URI> <http://www.w3.org/1999/02/22-rdf-syntax-ns#_2> 
><http://www.foo.com/child2>
><http://foo.com/URI> <http://www.w3.org/1999/02/22-rdf-syntax-ns#_3> 
><http://www.bar.com/child1>
><http://foo.com/URI> <http://www.w3.org/1999/02/22-rdf-syntax-ns#_4> 
><http://www.bar.com/child2>
>
>
>
>Now, I take on a more complicated semantic scenario. Imagine an RDF 
>vocabulary that defines mirrors for a busy website using the property 
><http://namespace.foo/mirrors>http://namespace.foo/mirrors This resource 
>points to a rdf:Bag which contains a list of mirrors for the specified 
>website. Assuming that the aggregator knows about this RDF namespace, can 
>it reasonably combine the mirrors triples (and the Bag resource)? May it 
>do so only if the Bag resource is anonymous? May it "silently" infer a 
>rdfs:sameAs relationship between the "two" bags involved?
>
>
>
>Graph 2-A
>
>
>
>
>
>
><http://foo.com/> <http://namespace.foo/mirrors> _:mylist
>_:mylist <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> 
><http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq>
>_:mylist <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1> 
><http://www.bar.com/mirror/foo.com/>
>_:mylist <http://www.w3.org/1999/02/22-rdf-syntax-ns#_2> 
><http://www.baz.com/mirror-foo/>
>
>
>
>Graph 2-B
>
>
>
>
>
>
>
><http://foo.com/> <http://namespace.foo/mirrors> _:mylist2
>_:mylist2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> 
><http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq>
>_:mylist2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1> 
><http://www.personal.us/foo>
>_:mylist2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#_2> 
><http://www.backup.de/foo>
>
>
>Graph 2-aggregated
>
>
>
>
>
>
><http://foo.com/> <http://namespace.foo/mirrors> _:node
>_:node <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> 
><http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq>
>_:node <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1> 
><http://www.bar.com/mirror/foo.com/>
>_:node <http://www.w3.org/1999/02/22-rdf-syntax-ns#_2> 
><http://www.baz.com/mirror-foo/>
>_:node <http://www.w3.org/1999/02/22-rdf-syntax-ns#_3> 
><http://www.personal.us/foo>
>_:node <http://www.w3.org/1999/02/22-rdf-syntax-ns#_4> 
><http://lists.w3.org/Archives/Public/www-rdf-interest/>

------------
Graham Klyne
For email:
http://www.ninebynine.org/#Contact
Received on Monday, 17 May 2004 19:09:03 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:52:07 GMT