- From: Michael Schneider <schneid@fzi.de>
- Date: Tue, 15 Jul 2008 10:59:53 +0200
- To: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>
- Cc: <public-owl-wg@w3.org>, <alanruttenberg@gmail.com>
- Message-ID: <0EF30CAA69519C4CB91D01481AEA06A0A266B1@judith.fzi.de>
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