package bugs; import static org.junit.Assert.assertTrue; import org.junit.Test; import org.semanticweb.owlapi.model.OWLClass; import org.semanticweb.owlapi.model.OWLOntology; import org.semanticweb.owlapi.model.OWLOntologyCreationException; @SuppressWarnings("javadoc") public class VerifyComplianceMereology extends VerifyComplianceBase { String input = "Prefix(owl:=<http://www.w3.org/2002/07/owl#>)\n" + "Prefix(rdf:=<http://www.w3.org/1999/02/22-rdf-syntax-ns#>)\n" + "Prefix(xml:=<http://www.w3.org/XML/1998/namespace>)\n" + "Prefix(xsd:=<http://www.w3.org/2001/XMLSchema#>)\n" + "Prefix(rdfs:=<http://www.w3.org/2000/01/rdf-schema#>)\n" + "Ontology(\n" + "Declaration(Class(<urn:mereology#Abstract_Entity>))\n" + "Declaration(Class(<urn:mereology#Mental_Entity>))\n" + "Declaration(Class(<urn:mereology#Mental_Object>))\n" + "Declaration(Class(<urn:mereology#Occurrence>))\n" + "Declaration(Class(<urn:mereology#Physical_Entity>))\n" + "Declaration(Class(<urn:mereology#Spatio_Temporal_Occurrence>))\n" + "Declaration(Class(<urn:mereology#Atom>))\n" + "Declaration(Class(<urn:mereology#Composition>))\n" + "Declaration(Class(<urn:mereology#Pair>))\n" + "Declaration(Class(<urn:mereology#Part>))\n" + "Declaration(Class(<urn:mereology#Whole>))\n" + "Declaration(ObjectProperty(<urn:mereology#component>))\n" + "Declaration(ObjectProperty(<urn:mereology#component_of>))\n" + "Declaration(ObjectProperty(<urn:mereology#composed_of>))\n" + "Declaration(ObjectProperty(<urn:mereology#composes>))\n" + "Declaration(ObjectProperty(<urn:mereology#contained_in>))\n" + "Declaration(ObjectProperty(<urn:mereology#contains>))\n" + "Declaration(ObjectProperty(<urn:mereology#direct_part>))\n" + "Declaration(ObjectProperty(<urn:mereology#direct_part_of>))\n" + "Declaration(ObjectProperty(<urn:mereology#member>))\n" + "Declaration(ObjectProperty(<urn:mereology#member_of>))\n" + "Declaration(ObjectProperty(<urn:mereology#part>))\n" + "Declaration(ObjectProperty(<urn:mereology#part_of>))\n" + "Declaration(ObjectProperty(<urn:mereology#strict_part>))\n" + "Declaration(ObjectProperty(<urn:mereology#strict_part_of>))\n" + "SubClassOf(<urn:mereology#Mental_Object> <urn:mereology#Mental_Entity>)\n" + "SubClassOf(<urn:mereology#Spatio_Temporal_Occurrence> <urn:mereology#Occurrence>)\n" + "SubClassOf(<urn:mereology#Atom> <urn:mereology#Abstract_Entity>)\n" + "DisjointClasses(<urn:mereology#Atom> <urn:mereology#Whole>)\n" + "SubClassOf(<urn:mereology#Composition> <urn:mereology#Whole>)\n" + "SubClassOf(<urn:mereology#Pair> <urn:mereology#Composition>)\n" + "SubClassOf(<urn:mereology#Pair> ObjectExactCardinality(2 <urn:mereology#strict_part> <urn:mereology#Part>))\n" + "EquivalentClasses(<urn:mereology#Part> ObjectSomeValuesFrom(<urn:mereology#strict_part_of> <urn:mereology#Whole>))\n" + "SubClassOf(<urn:mereology#Part> <urn:mereology#Abstract_Entity>)\n" + "SubClassOf(<urn:mereology#Part> ObjectAllValuesFrom(<urn:mereology#strict_part_of> <urn:mereology#Whole>))\n" + "EquivalentClasses(<urn:mereology#Whole> ObjectSomeValuesFrom(<urn:mereology#strict_part> <urn:mereology#Part>))\n" + "SubClassOf(<urn:mereology#Whole> <urn:mereology#Abstract_Entity>)\n" + "SubClassOf(<urn:mereology#Whole> ObjectAllValuesFrom(<urn:mereology#strict_part> <urn:mereology#Part>))\n" + "SubObjectPropertyOf(<urn:mereology#component> <urn:mereology#strict_part>)\n" + "InverseObjectProperties(<urn:mereology#component_of> <urn:mereology#component>)\n" + "SubObjectPropertyOf(<urn:mereology#component_of> <urn:mereology#strict_part_of>)\n" + "SubObjectPropertyOf(<urn:mereology#composed_of> <urn:mereology#part>)\n" + "InverseObjectProperties(<urn:mereology#composes> <urn:mereology#composed_of>)\n" + "TransitiveObjectProperty(<urn:mereology#composed_of>)\n" + "SubObjectPropertyOf(<urn:mereology#composes> <urn:mereology#part_of>)\n" + "TransitiveObjectProperty(<urn:mereology#composes>)\n" + "SubObjectPropertyOf(<urn:mereology#contained_in> <urn:mereology#part_of>)\n" + "InverseObjectProperties(<urn:mereology#contained_in> <urn:mereology#contains>)\n" + "TransitiveObjectProperty(<urn:mereology#contained_in>)\n" + "SubObjectPropertyOf(<urn:mereology#contains> <urn:mereology#part>)\n" + "TransitiveObjectProperty(<urn:mereology#contains>)\n" + "EquivalentObjectProperties(<urn:mereology#direct_part> <urn:mereology#strict_part>)\n" + "SubObjectPropertyOf(<urn:mereology#direct_part> <urn:mereology#part>)\n" + "InverseObjectProperties(<urn:mereology#direct_part_of> <urn:mereology#direct_part>)\n" + "EquivalentObjectProperties(<urn:mereology#direct_part_of> <urn:mereology#strict_part_of>)\n" + "SubObjectPropertyOf(<urn:mereology#direct_part_of> <urn:mereology#part_of>)\n" + "SubObjectPropertyOf(<urn:mereology#member> <urn:mereology#strict_part>)\n" + "InverseObjectProperties(<urn:mereology#member_of> <urn:mereology#member>)\n" + "SubObjectPropertyOf(<urn:mereology#member_of> <urn:mereology#strict_part_of>)\n" + "InverseObjectProperties(<urn:mereology#part> <urn:mereology#part_of>)\n" + "TransitiveObjectProperty(<urn:mereology#part>)\n" + "TransitiveObjectProperty(<urn:mereology#part_of>)\n" + "SubObjectPropertyOf(<urn:mereology#strict_part> <urn:mereology#part>)\n" + "InverseObjectProperties(<urn:mereology#strict_part_of> <urn:mereology#strict_part>)\n" + "SubObjectPropertyOf(<urn:mereology#strict_part_of> <urn:mereology#part_of>))"; @Override protected OWLOntology load(String in) throws OWLOntologyCreationException { return loadFromString(input); } @Override protected String input() { return "/AF_mereology.owl.xml"; } OWLClass Abstract_Entity = C("urn:mereology#Abstract_Entity"); OWLClass Composition = C("urn:mereology#Composition"); OWLClass Whole = C("urn:mereology#Whole"); OWLClass Pair = C("urn:mereology#Pair"); OWLClass Atom = C("urn:mereology#Atom"); OWLClass Nothing = C("http://www.w3.org/2002/07/owl#Nothing"); OWLClass Part = C("urn:mereology#Part"); OWLClass Physical_Entity = C("urn:mereology#Physical_Entity"); OWLClass Occurrence = C("urn:mereology#Occurrence"); OWLClass Mental_Entity = C("urn:mereology#Mental_Entity"); OWLClass Thing = C("http://www.w3.org/2002/07/owl#Thing"); @Test public void shouldPassgetSubClassesThingtrue() { equal(reasoner.getSubClasses(Thing, true), Physical_Entity, Abstract_Entity, Occurrence, Mental_Entity); } @Test public void shouldPassgetSuperClassesWholefalse() { equal(reasoner.getSuperClasses(Whole, false), Thing, Abstract_Entity); } @Test public void shouldPassgetSuperClassesWholetrue() { equal(reasoner.getSuperClasses(Whole, true), Abstract_Entity); } @Test public void shouldPassisEntailedSubClassOfCompositionAbstract_Entity() { assertTrue(reasoner.isEntailed(df.getOWLSubClassOfAxiom(Composition, Abstract_Entity))); } @Test public void shouldPassisEntailedSubClassOfPairAbstract_Entity() { assertTrue(reasoner.isEntailed(df.getOWLSubClassOfAxiom(Pair, Abstract_Entity))); } @Test public void shouldPassgetSubClassesAbstract_Entityfalse() { equal(reasoner.getSubClasses(Abstract_Entity, false), Whole, Pair, Composition, Atom, Nothing, Part); } @Test public void shouldPassgetSubClassesAbstract_Entitytrue() { equal(reasoner.getSubClasses(Abstract_Entity, true), Whole, Atom, Part); } @Test public void shouldPassgetSuperClassesPairfalse() { equal(reasoner.getSuperClasses(Pair, false), Thing, Whole, Abstract_Entity, Composition); } @Test public void shouldPassgetSuperClassesCompositionfalse() { equal(reasoner.getSuperClasses(Composition, false), Thing, Whole, Abstract_Entity); } @Test public void shouldPassgetSuperClassesPartfalse() { equal(reasoner.getSuperClasses(Part, false), Thing, Abstract_Entity); } @Test public void shouldPassgetSuperClassesParttrue() { equal(reasoner.getSuperClasses(Part, true), Abstract_Entity); } }