- From: Graham Klyne <GK@ninebynine.org>
- Date: Tue, 17 Aug 2004 15:57:58 +0100
- To: algermissen@acm.org, "www-rdf-interest@w3.org" <www-rdf-interest@w3.org>
At 15:12 17/08/04 +0200, Jan Algermissen wrote: >Hi, > >I have a question regarding the merging of RDF graphs, that contain >reified statements. > >I am using the example[1] from the RDF Primer. > >Suppose I have RDF graph A containing the following set of triples: > >exproducts:triple12345 rdf:type rdf:Statement . >exproducts:triple12345 rdf:subject exproducts:item10245 . >exproducts:triple12345 rdf:predicate exterms:weight . >exproducts:triple12345 rdf:object "2.4"^^xsd:decimal . > >Now, assume I also have a graph B, containing the following set: > >foo:bar rdf:type rdf:Statement . >foo:bar rdf:subject exproducts:item10245 . >foo:bar rdf:predicate exterms:weight . >foo:bar rdf:object "2.4"^^xsd:decimal . > >In my understanding the semantics of rdf:subject, rdf:predicate and >rdf:property allow to conclude that the two reified statements are the >same statement and should be represented as a single node in the >resulting merged RDF graph. > >Correct? Er, no. See section 3.3.1 of the RDF semantics specification, particulatly the final couple of paragraphs: [[ Since the relation between triples and reifications of triples in any RDF graph or graphs need not be one-to-one, asserting a property about some entity described by a reification need not entail that the same property holds of another such entity, even if it has the same components. For example, _:xxx rdf:type rdf:Statement . _:xxx rdf:subject <ex:subject> . _:xxx rdf:predicate <ex:predicate> . _:xxx rdf:object <ex:object> . _:yyy rdf:type rdf:Statement . _:yyy rdf:subject <ex:subject> . _:yyy rdf:predicate <ex:predicate> . _:yyy rdf:object <ex:object> . _:xxx <ex:property> <ex:foo> . does not entail _:yyy <ex:property> <ex:foo> . ]] -- http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#Reif Which effectively says that separate nodes must be maintained for each reification that appears. >But then, since the statements have been assigned different URIs (by >the different authors of the two graphs) it is not possible to >actually perform the merge, since RDF graphs only allow a single URI >per node. > >Correct? Yes. In light of the above, this is not problematic. >Now, assume the assigned URIs mactch, but the objects are different: > >exproducts:triple12345 rdf:type rdf:Statement . >exproducts:triple12345 rdf:subject exproducts:item10245 . >exproducts:triple12345 rdf:predicate exterms:weight . >exproducts:triple12345 rdf:object "2.4"^^xsd:decimal . > >and > >exproducts:triple12345 rdf:type rdf:Statement . >exproducts:triple12345 rdf:subject exproducts:item10245 . >exproducts:triple12345 rdf:predicate exterms:weight . >exproducts:triple12345 rdf:object "117.89"^^xsd:decimal . > >Now the assigned URI demands the merge, but the semantics of rdf:subject, >rdf:predicate and rdf:property tell us, that there are really two different >statements. > >What happens during the merge? This is an ill-formed reification, but valid RDF. Its semantics is not well-defined. (But the reification semantics is very weak in any case.) >Note that the underlying issue is, if the combination of rdf:subject, >rdf:predicate and rdf:property is identity-providing It's not.... >... and if so, how >this means of identity-providing relates to the URI-means of providing >identity. Is one stronger than the other? Etc... ... so there's no conflict to resolve. #g -- >Is there any material on the Web, that addresses these kinds of issues >when merging RDF graphs? > >I would really apprechiate if someone could shed some light on these >issues, thanks a lot in advance. > > >Jan > >[1] http://www.w3.org/TR/rdf-primer/#reification > >-- >Jan Algermissen http://www.topicmapping.com >Consultant & Programmer http://www.gooseworks.org ------------ Graham Klyne For email: http://www.ninebynine.org/#Contact
Received on Tuesday, 17 August 2004 14:58:40 UTC