Search Mailing List Archives
[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