- From: Adam Souzis <adam-l@souzis.com>
- Date: Mon, 17 May 2004 09:49:15 -0700
- To: "Benjamin D. Smedberg" <bsmedberg@covad.net>
- Cc: www-rdf-interest@w3.org
It depends on the application -- what's meaning and purpose of the aggregation? You could merge the graphs as described in the RDF spec and then apply standard RDF semantics to the result. In that case, Graph 1-aggregated wouldn't have its membership properties renumbered and therefore be in some sense malformed, and Graph 2-aggregated would refer to two distinct containers, _:mylist1 and _:mylist2. But this approach almost certainly is not appropriate for your application. I recently implemented a merge algorithm for merging back changes made to a model for my RDF wiki application (rx4rdf.sf.net). I handle containers and lists (rdf:List) by only considering the relative order of the items, ignoring the specific ordinal or bnode identifier (for lists). The result of this algorithm is that Graph1-B would replace Graph1-A and Graph-2 would have 2 separate containers. But obviously these semantics wouldn't be appropriate for yours either. -- adam 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 *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/> > >
Received on Monday, 17 May 2004 12:49:21 UTC