Search Mailing List Archives

Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[protege-discussion] inconsistent ontology error

Timothy Redmond tredmond at
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 

> 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 

> 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.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: AllInOne.owl
Type: application/rdf+xml
Size: 8003416 bytes
Desc: not available
URL: <>

More information about the protege-discussion mailing list