- From: Alan Ruttenberg <alanruttenberg@gmail.com>
- Date: Sun, 23 Mar 2008 21:58:22 -0400
- To: "Web Ontology Language ((OWL)) Working Group WG" <public-owl-wg@w3.org>
> 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