[OWL] On annotating axioms

Denny Vrandecic dvr at aifb.uni-karlsruhe.de
Wed Nov 23 17:36:32 EST 2005


On annotating axioms

After it came up in discussion last week, I hoped an elegant solution 
for annotating axioms would arise. Pitily, no one had a brilliant idea, 
so I went ahead and tackled the problem in my mediocre way.

First, what do I want to achieve with my solution:

1. Don't crack the Semantic Web stack. The solution has to be compatible 
to XML, RDF and OWL. I don't want to separate OWL from RDF, but to offer 
a solution that is able to be handled by both.
2. We want to annotate not just entities, but also axioms. Thus an axiom 
needs to be able to be a subject in a statement. Thus an axiom needs to 
have an URI.
3. The solution must be easy to implement, or either people will get my 
FOAF-file and see whom I care about and hurt them.

Did I miss something? I found two solutions for this problem.

A) Define the relationship between an ontology (which does have an URI) 
and the axioms stated inside. Then we can talk about the ontologies, 
annotate those, add provenance information, etc. Problem: after 
importing axioms from one ontology into another, those information is 
lost. We would need a whole infrastructre for Networked Ontologies to 
achieve that, which is a major and worthy task. With this solution, you 
can annotate a single axiom by putting it alone into an ontology, and 
claim that when annotating the ontology you actually annotate the axiom 
as well. Not my favourite solution, because of several drawbacks which I 
won't dwell in deeper if not asked.

B) The other solution is using Reification (stop yelling and moaning 
right now!). I'm serious. And it's not that hard, really. First, the OWL 
specification offers a standard of how to translate the Axioms into 
triples. Second, thte RDF specification offers a standard way to reify a 
triple. With the RDF reification we can give a triple a name. Then we 
can introduce a new resource type owl11:axiom, where its instances 
contains the triples that were translated from a certain DL Axiom. This 
rdf resource of type owl11:axiom is then the name/URI of the original DL 
Axiom.

RDF-triples that have a subject of type rdf:statement or owl11:axiom 
don't have semantics with regards to OWL DLs Model Theoretic Semantics, 
they are just syntactic parts of the ontology in order to allow the 
naming of axioms in order to annotate them.

For example, we say that all Humans are Mortal. In Abstract Syntax this is

SubClassOf(Human Mortal)

In RDF triples (N3) this is:
:Human rdfs:subClassOf :Mortal.

Now reifiying this we add the triples:
:statement1 rdf:type rdf:statement.
:statement1 rdf:hasSubject :Human.
:statement1 rdf:hasPredicate owl:subClassOf.
:statement1 rdf:hasObject :Mortal.
:axiom1 owl11:consistsOf :statement1.

Now we can make annotations:
:axiom1 :bestBefore "24/12/2011"^xsd:date.
:axiom1 :utteredBy :Aristotle.

Naturally, :bestBefore and :utteredBy have to be Annotation Properties.
When an axiom is broken up in more than one triple, the reasone of 
having an extra owl11:axiom instead of simply using rdf:statement should 
become clear.

Does this solution fulfill the given conditions?
1. The Semantic Web stack is safe and whole. RDF Semantics is adhered 
to, and OWL semantics is fine, and all syntax regulations imposed by XML 
and RDF/XML are regarded. Everything is fine.
2. Yep, we can annotate single axioms. Axioms have URIs. We can annotate 
our metadata! Yeah!
3. Is it easy to implement? I think it is: for reading OWL ontologies, a 
tool may just ignore all those extra triples (it can easily filter them 
out), and still remain faithful to the standard semantics. Tools that 
allow to name axioms (or annotate them) and want to deal with those, 
have to simply check for the correct reification (RDF toolkits should 
provide these anyway), and get the axiom's URI.

Problems that I see: I identified two problems. First, what happens, if 
those triples get separated from the other actual axiom triples? What if 
they get ripped apart and mushed into another ontology? Well, that 
problem is somewhat open for OWL DL and Lite anyway, since not all 
axioms map to single triples. The answer probably is, that reification 
would fail in that case. Strict reading could be that the ontology 
leaves OWL DL then and moves to OWL full, but I wouldn't require that.

Second problem, and this is by far more serious, is that people can't 
stand reification in RDF, that they simply hate it and that alone for 
that they will ignore this solution. I can only answer that reification 
in practise is probably much easier than expected when done properly, 
due to some short-hand notations available in RDF/XML-serialization, and 
other syntaxes. No one holds us back from changing the Abstract Syntax 
and the OWL XML Presentation Syntax appropriately in order to name 
axioms far more easy than in the proposed RDF/XML-Syntax. Serializations 
in RDF/XML-Syntax may get yucky, and the RDF graph of an OWL ontology 
could become cluttered, but then, so what? RDF/XML isn't read by anyone 
anyway, is it? And one can remove all those extra triples (and then the 
annotations) automatically if wished, without changing the Semantics of 
the ontology.

So, any comments on why this is bad? (Actually, I honestly think this is 
a practicable solution, though not elegant. I already see the 2007 ISWC 
best paper award, "On the Properties of Higher Order Logics in OWL"...)

I hope you won't kill me too hard for this solution :) And I need to 
change my FOAF-file now, in order to protect my friends...

best,
denny

-- 
Denny Vrandecic
Institute AIFB, University of Karlsruhe (TH)
http://www.aifb.uni-karlsruhe.de/WBS/
Blog: http://semantic.nodix.net


More information about the OWL mailing list