Proposal to resolve ISSUE-67

> The mapping rules use RDF reification.
> However, RDF reification has very weak semantics, making it  
> difficult to achieve an OWL Full semantics that works.
> It is unlikely that  RDF graph's constructed with such rules mean  
> what is intended.


In the current mapping, we have:
> Axioms with annotations are reified. If s p o is the RDF  
> serialization of the corresponding axiom without annotations given  
> in Table 2 and the axiom contains annotations Annotation(apIDi  
> cti), 1 ² i ² n, then, instead of being serialized as s p o, the  
> axiom is serialized as follows:
>
> _:x rdf:type owl11:Axiom
> _:x T(apIDi) T(cti) 1 ² i ² n
>
>
>
>
> _:x rdf:subject s
> _:x rdf:predicate p
> _:x rdf:object o
>
>

I believe the main difficulty is that in the RDF semantics

_:x rdf:subject s
_:x rdf:predicate p
_:x rdf:object o

does not entail

s p o

The proposed resolution is to have the triple {s p o} also serialized.

-

Consider an axiom from OWL 1.0 whose mapping, barring annotations,  
remains the same in OWL 1.1. Suppose that axiom is mapped to {s p o}.  
If we now look at the situation in 1.1 we see that the same axiom  
with an annotation has a few more triples (the reifying triples), but  
is also *missing* the triple {s p o}. From an RDF point of view,  
adding an annotation to an axiom is nonmonotonic.

Putting {s p o} back in the mapping means that adding an annotation  
to an axiom only means adding some triples to the serialization. I  
believe that this means that the OWL Full semantics has an easier job  
handling the annotated axioms. Rather than have to start with the  
weak semantics of the reified triples and reconstitute entailments  
that would follow from {s p o}, they instead only need to account for  
the additional implications of the reifications of the triples.  
Because the semantics of reifications is so weak, I expect that this  
will be relatively simple, but I defer to Michael to comment on this.

-

I note that making this change has the side effect that in the case  
that there are two almost identical axioms, differing only in that  
one has an annotation and the other not, it will not be possible to  
faithfully roundtrip. This is because in this case we will have (for  
our example above) two {s,p,o} triples generated, but the RDF will  
collapse this in to one. I don't personally consider this a problem,  
but if a tool desires to remember that a particular axiom doesn't  
have an annotation, it can annotate this axiom with an (optional)  
Annotation(syntaxHint ThisAxiomHasNoOtherAnnotation).

-

One last issue is the question of whether a blank node _:x should be  
used in the mapping rather than giving an explicit name to the  
reification. If this raises any issues in the OWL Full semantics then  
I suggest that we generate a unique name for the axiom in the OWL1.1  
namespace. I believe that it would be adequate to use the URI that is  
the concatenation of the expansion of owl11:aa_, the time of  
serialization(as would be encoded for xsd:dateTime), and and an ascii  
encoding of the md5 of the functional syntax expression of the axiom.  
However, nothing should depend on the actual naming convention.

-Alan

Received on Monday, 24 March 2008 01:59:01 UTC