HermiT Reasoner error log

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

HermiT Reasoner error log

Richard Pinka
Hello, 
as a beginner, I am hoping that Reasoner will help me to add new object properties when I add the properties to the classes of instances (e.g. Class A and Class B , and instance in Class B has properties such "hasA" and "isBof" to be connected with pairing instance from class B. 

i do not want to add these object properties manually to each of instance so i try to use reasoner HermiT. 

After starting it shows this error log as posted below. 
Can someone please tell me where problem may be ?   (it is possible that i have other object properties whose are doing this error, so i will be back when i check principle on testing ontology)


  ERROR  14:35:17  An error occurred during reasoning: Non-simple property 'owl:topObjectProperty'
or its inverse appears in the cardinality restriction 'ObjectMaxCardinality(1 owl:topObjectProperty owl:Thing)'..
java.lang.IllegalArgumentException:
Non-simple property 'owl:topObjectProperty' or its inverse appears in the cardinality restriction 'ObjectMaxCardinality(1 owl:topObjectProperty owl:Thing)'.
at org.semanticweb.HermiT.structural.ObjectPropertyInclusionManager.rewriteAxioms(ObjectPropertyInclusionManager.java:125) ~[na:na]
at org.semanticweb.HermiT.structural.OWLClausification.preprocessAndClausify(OWLClausification.java:161) ~[na:na]
at org.semanticweb.HermiT.Reasoner.loadOntology(Reasoner.java:211) ~[na:na]
at org.semanticweb.HermiT.Reasoner.<init>(Reasoner.java:202) ~[na:na]
at org.semanticweb.HermiT.Reasoner.<init>(Reasoner.java:176) ~[na:na]
at org.semanticweb.HermiT.ReasonerFactory.createHermiTOWLReasoner(ReasonerFactory.java:51) ~[na:na]
at org.semanticweb.HermiT.ReasonerFactory.createReasoner(ReasonerFactory.java:19) ~[na:na]
at org.protege.editor.owl.model.inference.ReasonerUtilities.createReasoner(ReasonerUtilities.java:20) ~[na:na]
at org.protege.editor.owl.model.inference.OWLReasonerManagerImpl$ClassificationRunner.ensureRunningReasonerInitialized(OWLReasonerManagerImpl.java:428) ~[na:na]
at org.protege.editor.owl.model.inference.OWLReasonerManagerImpl$ClassificationRunner.run(OWLReasonerManagerImpl.java:386) ~[na:na]
at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_121]

thank You
--
Richard Pinka
tel. +420 608 261 385 




_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: HermiT Reasoner error log

Michael DeBellis-2
Richard, for future reference: it makes it much easier to debug your problem if you attach your ontology file but here are a few points: First, remember that properties in OWL are not like properties in most OOP languages. Properties in OWL don't belong to any class, they are first class things on their own, like relations in First Order Logic. When you define the domain of a property that is somewhat similar to saying the property is associated with the domain class as in OOP but there are really major differences (e.g., the domain can be a class expression that includes different classes or the union of classes or there may be no defined domain at all).

Second, from the error message it seems you have used owl:topObjectProperty in some unsupported way such as the range of some other property. You should almost never use or change  owl:topObjectProperty except that when you create a new property it will always be a sub-property of  owl:topObjectProperty, even if you define a property as a sub-property of some other property that property or one of it's super-properties must at some point be a sub-property of  owl:topObjectProperty.   owl:topObjectProperty is to object properties as owl:Thing is to classes. 

Hope that helps, if you are still having trouble attach the ontology in another message. Also, if you haven't done the Pizza tutorial on the Protege Wiki you should definitely do that before you start trying to define your own ontologies.

Michael

On Thu, Mar 12, 2020 at 7:06 AM Richard Pinka <[hidden email]> wrote:
Hello, 
as a beginner, I am hoping that Reasoner will help me to add new object properties when I add the properties to the classes of instances (e.g. Class A and Class B , and instance in Class B has properties such "hasA" and "isBof" to be connected with pairing instance from class B. 

i do not want to add these object properties manually to each of instance so i try to use reasoner HermiT. 

After starting it shows this error log as posted below. 
Can someone please tell me where problem may be ?   (it is possible that i have other object properties whose are doing this error, so i will be back when i check principle on testing ontology)


  ERROR  14:35:17  An error occurred during reasoning: Non-simple property 'owl:topObjectProperty'
or its inverse appears in the cardinality restriction 'ObjectMaxCardinality(1 owl:topObjectProperty owl:Thing)'..
java.lang.IllegalArgumentException:
Non-simple property 'owl:topObjectProperty' or its inverse appears in the cardinality restriction 'ObjectMaxCardinality(1 owl:topObjectProperty owl:Thing)'.
at org.semanticweb.HermiT.structural.ObjectPropertyInclusionManager.rewriteAxioms(ObjectPropertyInclusionManager.java:125) ~[na:na]
at org.semanticweb.HermiT.structural.OWLClausification.preprocessAndClausify(OWLClausification.java:161) ~[na:na]
at org.semanticweb.HermiT.Reasoner.loadOntology(Reasoner.java:211) ~[na:na]
at org.semanticweb.HermiT.Reasoner.<init>(Reasoner.java:202) ~[na:na]
at org.semanticweb.HermiT.Reasoner.<init>(Reasoner.java:176) ~[na:na]
at org.semanticweb.HermiT.ReasonerFactory.createHermiTOWLReasoner(ReasonerFactory.java:51) ~[na:na]
at org.semanticweb.HermiT.ReasonerFactory.createReasoner(ReasonerFactory.java:19) ~[na:na]
at org.protege.editor.owl.model.inference.ReasonerUtilities.createReasoner(ReasonerUtilities.java:20) ~[na:na]
at org.protege.editor.owl.model.inference.OWLReasonerManagerImpl$ClassificationRunner.ensureRunningReasonerInitialized(OWLReasonerManagerImpl.java:428) ~[na:na]
at org.protege.editor.owl.model.inference.OWLReasonerManagerImpl$ClassificationRunner.run(OWLReasonerManagerImpl.java:386) ~[na:na]
at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_121]

thank You
--
Richard Pinka
tel. +420 608 261 385 



_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: HermiT Reasoner error log

Richard Pinka
Hello Michael, and thank You, 
I sorted problem out by the the clearing of all the Object properties definitions . it seemed to be a real problem for reasoner and I think they were not properly defined. 

Yes, You are right with the pizza ontology, i always go back to it and to documentation. 

best regards, Richard

čt 12. 3. 2020 v 16:03 odesílatel Michael DeBellis <[hidden email]> napsal:
Richard, for future reference: it makes it much easier to debug your problem if you attach your ontology file but here are a few points: First, remember that properties in OWL are not like properties in most OOP languages. Properties in OWL don't belong to any class, they are first class things on their own, like relations in First Order Logic. When you define the domain of a property that is somewhat similar to saying the property is associated with the domain class as in OOP but there are really major differences (e.g., the domain can be a class expression that includes different classes or the union of classes or there may be no defined domain at all).

Second, from the error message it seems you have used owl:topObjectProperty in some unsupported way such as the range of some other property. You should almost never use or change  owl:topObjectProperty except that when you create a new property it will always be a sub-property of  owl:topObjectProperty, even if you define a property as a sub-property of some other property that property or one of it's super-properties must at some point be a sub-property of  owl:topObjectProperty.   owl:topObjectProperty is to object properties as owl:Thing is to classes. 

Hope that helps, if you are still having trouble attach the ontology in another message. Also, if you haven't done the Pizza tutorial on the Protege Wiki you should definitely do that before you start trying to define your own ontologies.

Michael

On Thu, Mar 12, 2020 at 7:06 AM Richard Pinka <[hidden email]> wrote:
Hello, 
as a beginner, I am hoping that Reasoner will help me to add new object properties when I add the properties to the classes of instances (e.g. Class A and Class B , and instance in Class B has properties such "hasA" and "isBof" to be connected with pairing instance from class B. 

i do not want to add these object properties manually to each of instance so i try to use reasoner HermiT. 

After starting it shows this error log as posted below. 
Can someone please tell me where problem may be ?   (it is possible that i have other object properties whose are doing this error, so i will be back when i check principle on testing ontology)


  ERROR  14:35:17  An error occurred during reasoning: Non-simple property 'owl:topObjectProperty'
or its inverse appears in the cardinality restriction 'ObjectMaxCardinality(1 owl:topObjectProperty owl:Thing)'..
java.lang.IllegalArgumentException:
Non-simple property 'owl:topObjectProperty' or its inverse appears in the cardinality restriction 'ObjectMaxCardinality(1 owl:topObjectProperty owl:Thing)'.
at org.semanticweb.HermiT.structural.ObjectPropertyInclusionManager.rewriteAxioms(ObjectPropertyInclusionManager.java:125) ~[na:na]
at org.semanticweb.HermiT.structural.OWLClausification.preprocessAndClausify(OWLClausification.java:161) ~[na:na]
at org.semanticweb.HermiT.Reasoner.loadOntology(Reasoner.java:211) ~[na:na]
at org.semanticweb.HermiT.Reasoner.<init>(Reasoner.java:202) ~[na:na]
at org.semanticweb.HermiT.Reasoner.<init>(Reasoner.java:176) ~[na:na]
at org.semanticweb.HermiT.ReasonerFactory.createHermiTOWLReasoner(ReasonerFactory.java:51) ~[na:na]
at org.semanticweb.HermiT.ReasonerFactory.createReasoner(ReasonerFactory.java:19) ~[na:na]
at org.protege.editor.owl.model.inference.ReasonerUtilities.createReasoner(ReasonerUtilities.java:20) ~[na:na]
at org.protege.editor.owl.model.inference.OWLReasonerManagerImpl$ClassificationRunner.ensureRunningReasonerInitialized(OWLReasonerManagerImpl.java:428) ~[na:na]
at org.protege.editor.owl.model.inference.OWLReasonerManagerImpl$ClassificationRunner.run(OWLReasonerManagerImpl.java:386) ~[na:na]
at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_121]

thank You
--
Richard Pinka
tel. +420 608 261 385 



_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user


--
Richard Pinka
tel. +420 608 261 385 




_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user