Re: RDF graph merging question

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