Search Mailing List Archives
[protege-discussion] inconsistent ontology error
Timothy Redmond
tredmond at stanford.edu
Tue Jun 28 08:32:09 PDT 2011
I think that the thing to explain is why the experiments are not
repeatable. Why haven't I seen the inconsistency when I classify your
ontology? (I have now classified it several times with different
reasoners.) Why did the pellet command line give different results than
Protege?
> Hi Timothy,
>
> I got import error when I ran Pellet 2.2.1 using command line.
> However, I still got ontology consistent message.
If you are getting an import error on the command line but not in
Protege then this is consistent with the idea that the issue is with the
imports. You are seeing evidence that the imports are run differently
from the command line than they are from Protege.
>
> It is weird if the error caused by imports.
A difference with the imported ontologies still seems like the most
likely theory to me. But there are easy things that you can do to rule
this out. Note that I am not necessarily suggesting that either
version of the imported ontologies has a problem. I am just focusing on
something that would be different from Protege, the pellet command line
and here at Stanford.
The simplest way to rule out imports is to put your ontology into a new
and completely empty directory. Then Protege and pellet will be forced
to find all the imports off the web. This is not a completely
repeatable experiment because the web is an unreliable medium and can
provide different results at different times. But if you do this and
the pellet command line and Protege still reach different results you
can be 90% certain it is not the imports.
A better way to make a reproducible experiment would be to merge the
ontology and its imports all into one file. This can be done with the
Refactor->Merge Ontologies... menu. In the select ontologies to merge
window you select all the ontologies. In the select merge type you
choose create new ontology. When you merge it you may have to give the
new ontology a different name than the existing ones (I am not sure
about this but if it is true then it is a bug that I should fix).
The result of this is a single merged file with no imports. The file is
then not dependent on any unreliable i/o operations and the results of a
load and classify should be consistent. You should then be able to
share this file with others and expect the them to get the same results
as you do. You should expect that the pellet command line will give the
same results as Protege. If this is not so then this is more
interesting and we will have to think harder.
I have attached my version of the merged file that I have now classified
with FaCT++ and HermiT without any exceptions. I will try pellet later
today.
> The OWL file I attached with changes we made based on the other OWL
> file which is consistent and I reasoned it again after I got problem
> with the changed version.
Inference can be delicate. A very small innocent looking change can
make the whole ontology go bad. In addition you have a small but
significant number of individuals in your ontology. A small fault with
individuals can make the ontology inconsistent and render the reasoner
useless. The fact that a change in the imported ontologies leads to a
contradiction does not mean that there is a problem with either version
of the imported ontologies.
-Timothy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.stanford.edu/pipermail/protege-discussion/attachments/20110628/6f20cce1/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: AllInOne.owl
Type: application/rdf+xml
Size: 8003416 bytes
Desc: not available
URL: <http://mailman.stanford.edu/pipermail/protege-discussion/attachments/20110628/6f20cce1/attachment.owl>
More information about the protege-discussion
mailing list