RE: Intersection of properties?

Jeff Thompson wrote:

>Please forgive my naive question as I try to clarify: If I published an
>ontology with a million axioms, I used OWL because it is decidable so that
a
>rules engine examining the ontology won't choke.  BUT before I published
the ontology
>I made sure that it didn't have any contradicting statements.  What rules
>engine did I use to do THAT?  And I ran that rules engine to check for
>contradictions without worrying that it would choke, even though the
ontology has a
>million axioms. So, either
>   1) it is a decidable (terminating) problem to determine if an
>ontology has
>contradictions, or
>   2) it is not decidable so I have to just publish my ontology not
>knowing if it has contradictory assertions and just hope for the best.
>
>I suspect 1) is the truth.  Am I wrong?  Aren't people using some tool
>or another to check for contradictions in their ontology?  

You are asking whether a given OWL DL knowledge base (axioms + assertions)
is consistent or not (has contradictions), and this is indeed a decidable
problem. You can use any compliant OWL DL reasoner (e.g. Pellet) to check
for consistency.

But since you stress the fact that you use an ontology with a "million
axioms", you should note that decidability is only ensured in theory.
Actually, the consistency problem in OWL DL has a terrible worst case
complexity, being NExpTime-complete. So, depending on the size and form of
your ontology, it might happen that you have to wait for the result of the
consistency check for a pretty long time - maybe the universe will die its
heat death before. ;-)
 
>And why can't these rules used by this tool be expressed in the ontology
itself?

I'm not sure I understand this question. IIRC, Pellet will tell you that it
cannot do reasoning on inconsistent ontologies, so Pellet actually performs
a consistency check before it starts a reasoning task. From what you say, it
seems to me that you want to do a consistency check once before deploying
your ontology. For this, simply use Pellet (or any other OWL DL compliant
reasoner), which will do the job for you.

But if you want to use some rule engine, like the one shipping with Jena,
e.g. to expand an ontology given in RDF into an inference graph, and if you
want to do a consistency check each time you perform this expansion process,
then you probably will need to produce a few lines of programming code:
First call Pellet to perform the consistency check, and afterwards apply
Jena to expand the graph.

Cheers,
Michael

--
Dipl.-Inform. Michael Schneider
FZI Forschungszentrum Informatik Karlsruhe
Abtl. Information Process Engineering (IPE)
Tel  : +49-721-9654-726
Fax  : +49-721-9654-727
Email: Michael.Schneider@fzi.de
Web  : http://www.fzi.de/ipe/eng/mitarbeiter.php?id=555

FZI Forschungszentrum Informatik an der Universität Karlsruhe
Haid-und-Neu-Str. 10-14, D-76131 Karlsruhe
Tel.: +49-721-9654-0, Fax: +49-721-9654-959
Stiftung des bürgerlichen Rechts
Az: 14-0563.1 Regierungspräsidium Karlsruhe
Vorstand: Rüdiger Dillmann, Michael Flor, Jivka Ovtcharova, Rudi Studer
Vorsitzender des Kuratoriums: Ministerialdirigent Günther Leßnerkraus

Received on Tuesday, 5 August 2008 08:47:38 UTC