RE: RDF/XML shorthand for RDF reification

Peter F. Patel-Schneider wrote:

>But the major problem is that the graphs that "result" from my example
>are
>*not* the same (or, at least, making them the same is very problematic).
>
>Here is an augmentation of the example:
>
>A user (perhaps using Protege) creates an ontology that contains
>
>	SubClass(Label("Foo") A B)
>
>and then (for some reason) publishes it as an RDF document, which under
>the proposed mapping would look something like (modulo my bugs in
>writing idiomatic RDF):
>
>	<owl:Class rdf:about="...A">
>	  <rdfs:subClassOf rdf:ID="serialization979817982379">
>	     <owl:Class rdf:about="...B" />
> 	  </rdfs:subClassOf>
>	</owl:Class>
>
>	<rdf:Description rdf:ID="serialization979817982379">
>	  <rdfs:label>Foo</rdfs:label>
>	</rdf:Description>
>
>so far, so good.
>
>Then some other OWL Full user wants to know whether the ontology
>contains a subclass axiom from A to B with label "Foo".  The user
>constructs another RDF document containing
>
>
>	<owl:Class rdf:about="...A">
>	  <rdfs:subClassOf rdf:ID="serialization1123456789">
>	     <owl:Class rdf:about="...B" />
> 	  </rdfs:subClassOf>
>	</owl:Class>
>
>	<rdf:Description rdf:ID="serialization1123456789">
>	  <rdfs:label>Foo</rdfs:label>
>	</rdf:Description>
>
>and asks an OWL Full reasoner whether the published RDF document entails
>this RDF document.
>
>The answer, surprisingly, is *no*.

Here is another example:

  (G1) ex:foo rdf:type owl:Ontology .
       ex:foo rdfs:comment "created 2008-07-15 08:27" .

  (G2) ex:foo rdf:type owl:Ontology .
       ex:foo rdfs:comment "created 2008-07-15 09:31" .

These two ontologies aren't semantically equivalent in OWL Full, too.

Also, if the Functional-to-RDF mapping is not completely deterministic, one
couldn't expect to receive semantically equivalent RDF graphs, when
serializing the same Functional-style ontologies twice (at least not when
serialized with different tools). An example would be that an AllDifferent
axiom is once serialized into the respective owl:AllDifferent construct, and
another time in a bunch of owl:differentFrom triples.

Slightest variations to an RDF graph may easily lead to semantic
non-equivalence w.r.t. OWL Full semantics, even if such variations are
indistinguishable when regarded as OWL DL ontologies in RDF graph form. Every
OWL Full user has to keep this in mind. Having this in mind, I would generally
regard it to be a bad idea to try to do an equivalence comparison on two RDF
graphs, when these graphs are produced from the same OWL DL ontology
(or only to ask whether the second instance is entailed by the first one).

Of course, one shouldn't deliberately enforce such variations. So if the
Reification rdf:ID problem is easily avoidable, then let's avoid it. (The
easiest way is, of course, to avoid the use of RDF reification for encoding
axiom annotations at all.) But if there are good technical reasons to apply
it, then I wouldn't regard this to be a huge issue for OWL Full. That's 
something
one has to live with, because it will happen all time long, and I think that 
it's
not hard to live with.

For me, the relevant point is that the primary entailment isn't hurt,
which is the creation of the original axiom triple from the reified statement.
And, in fact, this will always be the same, regardless whether the root node 
is a
bNode or an URI, and in the case of an URI regardless of the actually chosen
URI.

Cheers,
Michael

Received on Tuesday, 15 July 2008 09:00:34 UTC