- 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