Re: RDF/XML shorthand for RDF reification

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