- From: Andy Seaborne <andy@apache.org>
- Date: Fri, 09 Aug 2013 18:20:54 +0100
- To: public-rdf-wg@w3.org
On 08/08/13 05:46, Pat Hayes wrote: > > On Aug 7, 2013, at 12:54 PM, RDF Working Group Issue Tracker wrote: > >> RDF-ISSUE-140 (dataset-comparison): RDF Dataset Comparison (Ivan Herman) [RDF Concepts] >> >> http://www.w3.org/2011/rdf-wg/track/issues/140 >> >> Raised by: Ivan Herman >> On product: RDF Concepts >> >> I have a question/comment on this: >> >> [[ >> 4.1 RDF Dataset Comparison >> >> Two RDF datasets (the RDF dataset D1 with default graph DG1 and named graph NG1 and the RDF dataset D2 with default graph DG2 and named graph NG2) are dataset-isomorphic if and only if: >> >> • DG1 and DG2 are graph-isomorphic; >> • For each (n1,g1) in NG1, there exists (n2,g2) in NG2 such that n1=n2 and g1 and g2 are graph-isomorphic; >> • For each (n2,g2) in NG2, there exists (n1,g1) in NG1 such that n1=n2 and g1 and g2 are graph-isomorphic. >> >> ]] >> >> A graph name can now be a blank node. Wouldn't it be appropriate to use the 'M' mapping of section 3.6 for the graph names, too? Or are we deliberately silent on this? > > We need to do *something*, as the above definition is now wrong. For example, it says that these are isomorphic: > > { {_:x rdf:type ex:graphsIlike .} > _:x {ex:a ex:b ex:c} } > > { {_:y rdf:type ex:graphsIlike .} > _:x {ex:a ex:b ex:c} } > > which is incorrect. > > Yes, the best way to fix this would be to describe it in terms of the M mapping, IMO. Here is a stab: > > Two RDF datasets D1 (with default graph DG1 and named graph set NG1) > and D2 (with default graph DG2 and named graph set NG2) are > dataset-isomorphic if and only if there is a bijection M between the > nodes, triples and graphs in D1 and those in D2 such that: > > 1. M maps blank nodes to blank nodes > 2. M is the identity map on literals and URIs > 3. For every triple <s p o>, M(<s, p, o>)=<M(s), M(p), M(o)> > 4. For every graph G= {t1, ...1n}, M(G)={M(t1), ..., M(Tn)} > 5. DG2 = M(DG1) > 6. <n, G> is in NG1 if and only if <M(n), M(G)> is in NG2. > > I think this is correct and states the conditions about as neatly as possible. Looks good. One tweak "M between the nodes, triples and graphs in D1" ==> "M between the RDF Terms, triples, graphs and graph labels in D2" node -> "RDF term" explicitly put 'graph label' in the things mapped The latter is not strictly necessary if 'RDF term' is used; 'node' is open to confusion with a general use of "node" as vertex of a graph. Andy > > Pat > > >> >> Ivan >> >> [http://lists.w3.org/Archives/Public/public-rdf-wg/2013Aug/0008.html] >> >> >> >> > > ------------------------------------------------------------ > IHMC (850)434 8903 or (650)494 3973 > 40 South Alcaniz St. (850)202 4416 office > Pensacola (850)202 4440 fax > FL 32502 (850)291 0667 mobile > phayesAT-SIGNihmc.us http://www.ihmc.us/users/phayes > > > > > >
Received on Friday, 9 August 2013 17:21:22 UTC