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] reasoner issue

jie zheng jiezheng at pcbi.upenn.edu
Thu Jun 2 18:11:43 PDT 2011


Hi Tania,

It's very helpful.

Thanks a lot.

Jie

On 6/2/2011 6:31 PM, Tania Tudorache wrote:
> Yes, it is an ordering of types problem. This bug manifests only if 
> the rdfs:Class type declaration shows up before the owl:Class type 
> declaration. Most of the times, classes are declared either as owl 
> classes or as rdfs classes, not both (although it is not incorrect), 
> so this bug would not manifest.
>
> There is an easy workaround for this problem: the "offending" 
> rdfs:Class type declaration occurs in the file: 
> http://purl.obolibrary.org/obo/iao/dev/ontology-metadata.owl
> You can have a local copy of the file, and use a local file repository 
> for your ontology pointing to the local copy. In the local copy of the 
> file, you can replace the rdfs:Class type declaration with an 
> owl:Class type declaration.
>
> If you do this small change, then the reasoner should work fine in 
> Protege 3.x.
>
> I am happy to provide more help if needed.
>
> Tania
>
> On 06/02/2011 03:16 PM, Jie Zheng wrote:
>> Hi Tania,
>>
>> Thanks for your explanation.
>>
>> The reason I checked consistent of the ontology using Protege 3.x 
>> because we are thinking to use collaborative ontology development 
>> tool, WebProtégé, which only supported by Protege 3.x.
>>
>> I have used Protege 3.4.1 before to develop OBI which imports BFO 
>> too. The Pellet worked fine. It's strange to have this issue now.
>>
>> Best,
>>
>> Jie
>>
>> On 6/2/2011 6:07 PM, Tania Tudorache wrote:
>>> Hi Jie,
>>>
>>> In general, it is better to trust the reasoning capabilities of 
>>> Protege 4.x rather than Protege 3.x. I checked and your ontology is 
>>> consistent.
>>>
>>> The reason you get the inconsistent classes in Protege 3.x is 
>>> because of a class cast exception that happens while the ontology is 
>>> "sent" to the reasoner. The cause for this exception is that the 
>>> class 
>>> "http://www.ifomis.org/bfo/1.1/snap#GenericallyDependentContinuant" 
>>> that has as declared types both rdfs:Class and owl:Class in two 
>>> different imports, and Protege 3.x creates it as a RDFSNamedClass 
>>> object rather than a OWLNamedClass object, and hence the class cast 
>>> exception. If the ontology would make it fine to the reasoner in 
>>> Protege 3.x, it would be consistent.
>>>
>>> So, I would suggest that you continue to use Protege 4.1, if 
>>> possible. We'll add the bug to be fixed for Protege 3.x, but as this 
>>> is not a very common situation, and the fix would involve some 
>>> performance hit, we will need to consider it carefully.
>>>
>>> Cheers,
>>> Tania
>>>
>>>
>>> On 06/02/2011 01:55 PM, Jie Zheng wrote:
>>>> We developed an ontology using Protege 4.1. The Pellet and Hermit 
>>>> were used for consistent checking and inference. No inconsistency 
>>>> is found. However, when we ran Pellet 1.5.2 in Protege 3.4.6, it 
>>>> showed a long list of inconsistent concepts. The following message 
>>>> was shown when ran the Pellet:
>>>>
>>>> WARNING: Errors at synchronizing OWL model with the reasoner -- 
>>>> java.lang.ClassCastException: 
>>>> edu.stanford.smi.protegex.owl.model.impl.DefaultRDFSNamedClass can
>>>> not be cast to edu.stanford.smi.protegex.owl.model.OWLNamedClass
>>>>         at 
>>>> edu.stanford.smi.protegex.owl.owlapi.converter.OWLAPIConverter.convertClasses(Unknown 
>>>> Source)
>>>>         at 
>>>> edu.stanford.smi.protegex.owl.owlapi.converter.OWLAPIConverter.convert(Unknown 
>>>> Source)
>>>>         at 
>>>> edu.stanford.smi.protegex.owl.inference.pellet.ProtegePelletOWLAPIReasoner.getOwlApiOntology(Unknown 
>>>> Source)
>>>>         at 
>>>> edu.stanford.smi.protegex.owl.inference.pellet.ProtegePelletOWLAPIReasoner.rebind(Unknown 
>>>> Source)
>>>>         at 
>>>> edu.stanford.smi.protegex.owl.inference.protegeowl.task.protegereasoner.SynchronizeReasonerTask.transmitToReasoner(Unknown 
>>>> Source)
>>>>         at 
>>>> edu.stanford.smi.protegex.owl.inference.protegeowl.task.protegereasoner.SynchronizeReasonerTask.run(Unknown 
>>>> Source)
>>>>         at 
>>>> edu.stanford.smi.protegex.owl.inference.reasoner.AbstractProtegeReasoner.synchronizeReasoner(Unknown 
>>>> Source)
>>>>         at 
>>>> edu.stanford.smi.protegex.owl.inference.pellet.AbstractProtegePelletReasoner.performTask(Unknown 
>>>> Source)
>>>>         at 
>>>> edu.stanford.smi.protegex.owl.inference.reasoner.AbstractProtegeReasoner.performTask(Unknown 
>>>> Source)
>>>>         at 
>>>> edu.stanford.smi.protegex.owl.inference.reasoner.AbstractProtegeReasoner.computeInferredIndividualTypes(Unknown 
>>>> Source)
>>>>         at 
>>>> edu.stanford.smi.protegex.owl.inference.ui.action.ComputeInferredTypesAction$1.executeReasonerActions(Unknown 
>>>> Source)
>>>>         at 
>>>> edu.stanford.smi.protegex.owl.inference.ui.ReasonerActionRunner$2.run(Unknown 
>>>> Source)
>>>>         at java.lang.Thread.run(Unknown Source)
>>>>
>>>> We don't know whether the ontology is inconsistent or it is caused 
>>>> by incompatible of two versions of Protege or some other issues.
>>>>
>>>> I attached the ontology. Any help on it is appreciated.
>>>>
>>>> Thanks,
>>>>
>>>> Jie
>>>>
>>>>
>>>> _______________________________________________
>>>> protege-discussion mailing list
>>>> protege-discussion at lists.stanford.edu
>>>> https://mailman.stanford.edu/mailman/listinfo/protege-discussion
>>>>
>>>> Instructions for unsubscribing:http://protege.stanford.edu/doc/faq.html#01a.03
>>>
>>>
>>> _______________________________________________
>>> protege-discussion mailing list
>>> protege-discussion at lists.stanford.edu
>>> https://mailman.stanford.edu/mailman/listinfo/protege-discussion
>>>
>>> Instructions for unsubscribing:http://protege.stanford.edu/doc/faq.html#01a.03
>>
>
>
> _______________________________________________
> protege-discussion mailing list
> protege-discussion at lists.stanford.edu
> https://mailman.stanford.edu/mailman/listinfo/protege-discussion
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.stanford.edu/pipermail/protege-discussion/attachments/20110602/343e390d/attachment.html>


More information about the protege-discussion mailing list