- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Mon, 14 Jul 2008 12:13:43 -0400 (EDT)
- To: schneid@fzi.de
- Cc: public-owl-wg@w3.org, alanruttenberg@gmail.com
From: "Michael Schneider" <schneid@fzi.de> Subject: RE: RDF/XML shorthand for RDF reification Date: Tue, 1 Jul 2008 14:19:05 +0200 > Hi Peter! > > Peter F. Patel-Schneider wrote: > > >I'm not sure that I believe this. > > > >I think that one consequence of using the shorthand would be that an > >annotated axiom might not entail itself in OWL Full. > > > >For example, how would one arrange it so that > > > >SubClass(Label("Foo") A B) > > > >entails > > > >SubClass(Label("Foo") A B) > > > >in the OWL Full arena? > > I am not certain that I correctly understand the question. In general (by > Simple Semantics) every RDF graph entails itself. So as long as a DL axiom > has a mapping to RDF, the respective RDF graph entails itself in OWL Full. > > In the case of your example axiom above, the RDF mapping would be (but using > a URI instead of a bNode for the axiom): > > ex:axiom rdf:type owl:Axiom > ex:axiom rdf:subject A > ex:axiom rdf:property rdfs:subClassOf > ex:axiom rdf:object B > ex:axiom rdfs:label "Foo"^^xsd:string One problem is that it isn't the case that the reification URI can be constructed in this way. Instead the reification URI is one of the rdf:ID-style URIs. > The RDF/XML serialization would be pretty compact in this case, but this is > has no impact on OWL Full, which only deals with the (abstract) RDF graph. > > >peter > > Cheers, > Michael 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*. peter PS: I believe that my RDF above is technically invalid because it reuses an rdf:ID value.
Received on Monday, 14 July 2008 16:14:35 UTC