|
|
|
Ross C. Barrett
|
Hello,
I'm using Protégé 4 and all my plugins are showing as up to date. The issue I'm having is that I have defined data properties for several of my classes and when I classify using FaCT++ my ontology reports as Consistent, but if I classify using Pellet, my ontology highlights any class using a data property as inconsistent. Example of affected property/class: <owl:DatatypeProperty rdf:about="#hasStringValue"> <rdfs:range rdf:resource="&xsd;string"/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:about="#hasDeprecationComment"> <rdfs:domain rdf:resource="#DeprecatedInfoType"/> <rdfs:subPropertyOf rdf:resource="#hasStringValue"/> </owl:DatatypeProperty> <owl:Class rdf:about="#DeprecatedInfoType"> <rdfs:subClassOf rdf:resource="#OVALType"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#hasDeprecationComment"/> <owl:maxQualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxQualifiedCardinality> <owl:onDataRange rdf:resource="&xsd;string"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> Can anyone please tell me first, is the different behaviour to be expected due to the functionality of the plugins? Secondly, which one is correct? Is my ontology consistent and Pellet doesn't support what I'm asserting, or is it inconsistent and FaCT++ doesn't recognize it? If it is inconsistent, what is the correct way to make this type of assertion? Regards, -Ross Barrett _______________________________________________ protege-owl mailing list [hidden email] https://mailman.stanford.edu/mailman/listinfo/protege-owl Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 |
||||||||||||||||
|
Thomas Schneider-5
|
Hi Ross,
first, there's generally a difference between (a) an ontology being inconsistent and (b) a class in an ontology being unsatisfiable. Case (a) means that the ontology has no models, and usually reasoners just complain with an error message, for reasons explained in another thread on this list. Case (b) means that every model of the ontology interprets the respective class as empty -- i.e., this class cannot possibly have any instances. This is usually marked by showing that class name in red (and as a subclass of Nothing) in the inferred class hierarchy. The unsatisfiability of a class can be explained by a tool recently developed by Matthew Horridge together with Bijan Parsia and Uli Sattler: http://owl.cs.manchester.ac.uk/explanation/ What exact inconsistency or unsatisfiability are you observing? Second, in the snippet you sent, I cannot see any reason for an inconsistency or an unsatisfiable class -- although I cannot guarantee that I'm not overlooking anything. It might well be that the axioms you sent interact with others to produce the undesired effect, so it might be worth posting the whole ontology if you are able and allowed to do so. Cheers Thomas On 8 Nov 2009, at 00:13, Ross C. Barrett wrote: > Hello, > > I'm using Protégé 4 and all my plugins are showing as up to date. > > The issue I'm having is that I have defined data properties for > several > of my classes and when I classify using FaCT++ my ontology reports as > Consistent, but if I classify using Pellet, my ontology highlights any > class using a data property as inconsistent. > > Example of affected property/class: > > <owl:DatatypeProperty rdf:about="#hasStringValue"> > <rdfs:range rdf:resource="&xsd;string"/> > </owl:DatatypeProperty> > > <owl:DatatypeProperty rdf:about="#hasDeprecationComment"> > <rdfs:domain rdf:resource="#DeprecatedInfoType"/> > <rdfs:subPropertyOf rdf:resource="#hasStringValue"/> > </owl:DatatypeProperty> > > <owl:Class rdf:about="#DeprecatedInfoType"> > <rdfs:subClassOf rdf:resource="#OVALType"/> > <rdfs:subClassOf> > <owl:Restriction> > <owl:onProperty rdf:resource="#hasDeprecationComment"/> > <owl:maxQualifiedCardinality > rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxQualifiedCardinality> > <owl:onDataRange rdf:resource="&xsd;string"/> > </owl:Restriction> > </rdfs:subClassOf> > </owl:Class> > > Can anyone please tell me first, is the different behaviour to be > expected due to the functionality of the plugins? Secondly, which one > is correct? Is my ontology consistent and Pellet doesn't support what > I'm asserting, or is it inconsistent and FaCT++ doesn't recognize it? > > If it is inconsistent, what is the correct way to make this type of > assertion? > > Regards, > > -Ross Barrett > _______________________________________________ > protege-owl mailing list > [hidden email] > https://mailman.stanford.edu/mailman/listinfo/protege-owl > > Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 | Dr Thomas Schneider schneider (at) cs.man.ac.uk | | School of Computer Science http://www.cs.man.ac.uk/~schneidt | | Kilburn Building, Room 2.114 phone +44 161 2756136 | | University of Manchester | | Oxford Road _///_ | | Manchester M13 9PL (o~o) | +-----------------------------------------------------oOOO--(_)--OOOo--+ The rain it raineth on the just And also on the unjust fella; But chiefly on the just, because The unjust steals the just's umbrella. Charles Bowen, Baron Bowen (1835-1894), English judge and writer _______________________________________________ protege-owl mailing list [hidden email] https://mailman.stanford.edu/mailman/listinfo/protege-owl Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 |
||||||||||||||||
|
Ross C. Barrett
|
Thank you for the detailed response.
I am (was) observing unsatisfiability when classifying the ontology using Pellet, but no issues when classifying the ontology using FaCT++. I say was, because I now have an Ontology that FaCT++ can classify as satisfiable and attempting to classify with Pellet causes Pellet to crash with the message: ClassCastException: org.mindswap.pellet.datatypes.UnknownDatatype cannot be cast to org.mindswap.pellet.datatypes.XSDAtomicType I believe this error began when I added Manchester syntax pattern restrictions to my superclass assertions in some of my class definitions hasDefinitionID exactly 1 (Literal[pattern "category:[A-Za-z0-9_\-\.]+:def:[1-9][0-9]*"]) Previously I was finding that any axiom like: hasDefinitionID exactly 1 string where string had a defined datatype range (e.g. {"a", "b"} ) would cause Pellet to flag the class as unsatisfiable. Directltly asserting: hasDefinitionID exactly 1 { "a", "b" } had the same result. -Ross Thomas Schneider wrote: > Hi Ross, > > first, there's generally a difference between (a) an ontology being > inconsistent and (b) a class in an ontology being unsatisfiable. Case > (a) means that the ontology has no models, and usually reasoners just > complain with an error message, for reasons explained in another thread > on this list. Case (b) means that every model of the ontology interprets > the respective class as empty -- i.e., this class cannot possibly have > any instances. This is usually marked by showing that class name in red > (and as a subclass of Nothing) in the inferred class hierarchy. The > unsatisfiability of a class can be explained by a tool recently > developed by Matthew Horridge together with Bijan Parsia and Uli Sattler: > > http://owl.cs.manchester.ac.uk/explanation/ > > What exact inconsistency or unsatisfiability are you observing? > > Second, in the snippet you sent, I cannot see any reason for an > inconsistency or an unsatisfiable class -- although I cannot guarantee > that I'm not overlooking anything. It might well be that the axioms you > sent interact with others to produce the undesired effect, so it might > be worth posting the whole ontology if you are able and allowed to do so. > > Cheers > > Thomas > > On 8 Nov 2009, at 00:13, Ross C. Barrett wrote: > >> Hello, >> >> I'm using Protégé 4 and all my plugins are showing as up to date. >> >> The issue I'm having is that I have defined data properties for several >> of my classes and when I classify using FaCT++ my ontology reports as >> Consistent, but if I classify using Pellet, my ontology highlights any >> class using a data property as inconsistent. >> >> Example of affected property/class: >> >> <owl:DatatypeProperty rdf:about="#hasStringValue"> >> <rdfs:range rdf:resource="&xsd;string"/> >> </owl:DatatypeProperty> >> >> <owl:DatatypeProperty rdf:about="#hasDeprecationComment"> >> <rdfs:domain rdf:resource="#DeprecatedInfoType"/> >> <rdfs:subPropertyOf rdf:resource="#hasStringValue"/> >> </owl:DatatypeProperty> >> >> <owl:Class rdf:about="#DeprecatedInfoType"> >> <rdfs:subClassOf rdf:resource="#OVALType"/> >> <rdfs:subClassOf> >> <owl:Restriction> >> <owl:onProperty rdf:resource="#hasDeprecationComment"/> >> <owl:maxQualifiedCardinality >> rdf:datatype="&xsd;nonNegativeInteger">1</owl:maxQualifiedCardinality> >> <owl:onDataRange rdf:resource="&xsd;string"/> >> </owl:Restriction> >> </rdfs:subClassOf> >> </owl:Class> >> >> Can anyone please tell me first, is the different behaviour to be >> expected due to the functionality of the plugins? Secondly, which one >> is correct? Is my ontology consistent and Pellet doesn't support what >> I'm asserting, or is it inconsistent and FaCT++ doesn't recognize it? >> >> If it is inconsistent, what is the correct way to make this type of >> assertion? >> >> Regards, >> >> -Ross Barrett >> _______________________________________________ >> protege-owl mailing list >> [hidden email] >> https://mailman.stanford.edu/mailman/listinfo/protege-owl >> >> Instructions for unsubscribing: >> http://protege.stanford.edu/doc/faq.html#01a.03 > > +----------------------------------------------------------------------+ > | Dr Thomas Schneider schneider (at) cs.man.ac.uk | > | School of Computer Science http://www.cs.man.ac.uk/~schneidt | > | Kilburn Building, Room 2.114 phone +44 161 2756136 | > | University of Manchester | > | Oxford Road _///_ | > | Manchester M13 9PL (o~o) | > +-----------------------------------------------------oOOO--(_)--OOOo--+ > > The rain it raineth on the just > And also on the unjust fella; > But chiefly on the just, because > The unjust steals the just's umbrella. > > Charles Bowen, Baron Bowen (1835-1894), English judge and writer > > > > > ------------------------------------------------------------------------ > > _______________________________________________ > protege-owl mailing list > [hidden email] > https://mailman.stanford.edu/mailman/listinfo/protege-owl > > Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 protege-owl mailing list [hidden email] https://mailman.stanford.edu/mailman/listinfo/protege-owl Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 |
||||||||||||||||
|
Timothy Redmond
|
>> ClassCastException: org.mindswap.pellet.datatypes.UnknownDatatype >> cannot >> be cast to org.mindswap.pellet.datatypes.XSDAtomicType This type of exception sounds like a problem with the ontology where some property is not properly defined. How are you invoking pellet (directly, directly with Protege 3, dig with Protege 3, Protege 4)? If you send the ontology we could take a look. -Timothy On Nov 9, 2009, at 5:14 PM, Ross C. Barrett wrote: > Thank you for the detailed response. > > I am (was) observing unsatisfiability when classifying the ontology > using Pellet, but no issues when classifying the ontology using FaCT+ > +. > I say was, because I now have an Ontology that FaCT++ can classify as > satisfiable and attempting to classify with Pellet causes Pellet to > crash with the message: > > ClassCastException: org.mindswap.pellet.datatypes.UnknownDatatype > cannot > be cast to org.mindswap.pellet.datatypes.XSDAtomicType > > I believe this error began when I added Manchester syntax pattern > restrictions to my superclass assertions in some of my class > definitions > > hasDefinitionID exactly 1 (Literal[pattern > "category:[A-Za-z0-9_\-\.]+:def:[1-9][0-9]*"]) > > Previously I was finding that any axiom like: > > hasDefinitionID exactly 1 string > > where string had a defined datatype range (e.g. {"a", "b"} ) would > cause > Pellet to flag the class as unsatisfiable. > > Directltly asserting: > > hasDefinitionID exactly 1 { "a", "b" } > > had the same result. > > -Ross > > > > > > Thomas Schneider wrote: >> Hi Ross, >> >> first, there's generally a difference between (a) an ontology being >> inconsistent and (b) a class in an ontology being unsatisfiable. Case >> (a) means that the ontology has no models, and usually reasoners just >> complain with an error message, for reasons explained in another >> thread >> on this list. Case (b) means that every model of the ontology >> interprets >> the respective class as empty -- i.e., this class cannot possibly >> have >> any instances. This is usually marked by showing that class name in >> red >> (and as a subclass of Nothing) in the inferred class hierarchy. The >> unsatisfiability of a class can be explained by a tool recently >> developed by Matthew Horridge together with Bijan Parsia and Uli >> Sattler: >> >> http://owl.cs.manchester.ac.uk/explanation/ >> >> What exact inconsistency or unsatisfiability are you observing? >> >> Second, in the snippet you sent, I cannot see any reason for an >> inconsistency or an unsatisfiable class -- although I cannot >> guarantee >> that I'm not overlooking anything. It might well be that the axioms >> you >> sent interact with others to produce the undesired effect, so it >> might >> be worth posting the whole ontology if you are able and allowed to >> do so. >> >> Cheers >> >> Thomas >> >> On 8 Nov 2009, at 00:13, Ross C. Barrett wrote: >> >>> Hello, >>> >>> I'm using Protégé 4 and all my plugins are showing as up to date. >>> >>> The issue I'm having is that I have defined data properties for >>> several >>> of my classes and when I classify using FaCT++ my ontology reports >>> as >>> Consistent, but if I classify using Pellet, my ontology highlights >>> any >>> class using a data property as inconsistent. >>> >>> Example of affected property/class: >>> >>> <owl:DatatypeProperty rdf:about="#hasStringValue"> >>> <rdfs:range rdf:resource="&xsd;string"/> >>> </owl:DatatypeProperty> >>> >>> <owl:DatatypeProperty rdf:about="#hasDeprecationComment"> >>> <rdfs:domain rdf:resource="#DeprecatedInfoType"/> >>> <rdfs:subPropertyOf rdf:resource="#hasStringValue"/> >>> </owl:DatatypeProperty> >>> >>> <owl:Class rdf:about="#DeprecatedInfoType"> >>> <rdfs:subClassOf rdf:resource="#OVALType"/> >>> <rdfs:subClassOf> >>> <owl:Restriction> >>> <owl:onProperty rdf:resource="#hasDeprecationComment"/> >>> <owl:maxQualifiedCardinality >>> rdf:datatype="&xsd;nonNegativeInteger">1</ >>> owl:maxQualifiedCardinality> >>> <owl:onDataRange rdf:resource="&xsd;string"/> >>> </owl:Restriction> >>> </rdfs:subClassOf> >>> </owl:Class> >>> >>> Can anyone please tell me first, is the different behaviour to be >>> expected due to the functionality of the plugins? Secondly, which >>> one >>> is correct? Is my ontology consistent and Pellet doesn't support >>> what >>> I'm asserting, or is it inconsistent and FaCT++ doesn't recognize >>> it? >>> >>> If it is inconsistent, what is the correct way to make this type of >>> assertion? >>> >>> Regards, >>> >>> -Ross Barrett >>> _______________________________________________ >>> protege-owl mailing list >>> [hidden email] >>> https://mailman.stanford.edu/mailman/listinfo/protege-owl >>> >>> Instructions for unsubscribing: >>> http://protege.stanford.edu/doc/faq.html#01a.03 >> >> + >> ----------------------------------------------------------------------+ >> | Dr Thomas Schneider schneider (at) >> cs.man.ac.uk | >> | School of Computer Science http://www.cs.man.ac.uk/ >> ~schneidt | >> | Kilburn Building, Room 2.114 phone +44 161 >> 2756136 | >> | University of >> Manchester | >> | Oxford Road _/// >> _ | >> | Manchester M13 9PL >> (o~o) | >> +-----------------------------------------------------oOOO--(_)-- >> OOOo--+ >> >> The rain it raineth on the just >> And also on the unjust fella; >> But chiefly on the just, because >> The unjust steals the just's umbrella. >> >> Charles Bowen, Baron Bowen (1835-1894), English judge and >> writer >> >> >> >> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> protege-owl mailing list >> [hidden email] >> https://mailman.stanford.edu/mailman/listinfo/protege-owl >> >> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 > _______________________________________________ > protege-owl mailing list > [hidden email] > https://mailman.stanford.edu/mailman/listinfo/protege-owl > > Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 _______________________________________________ protege-owl mailing list [hidden email] https://mailman.stanford.edu/mailman/listinfo/protege-owl Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 |
||||||||||||||||
| Free Embeddable Forum Powered by Nabble | Help |