package bugs; import static org.junit.Assert.assertEquals; import org.junit.Before; import org.junit.Test; import org.semanticweb.owlapi.apibinding.OWLManager; import org.semanticweb.owlapi.io.OWLFunctionalSyntaxOntologyFormat; import org.semanticweb.owlapi.io.StringDocumentSource; import org.semanticweb.owlapi.io.SystemOutDocumentTarget; import org.semanticweb.owlapi.model.IRI; import org.semanticweb.owlapi.model.OWLClass; import org.semanticweb.owlapi.model.OWLDataFactory; import org.semanticweb.owlapi.model.OWLOntology; import org.semanticweb.owlapi.model.OWLOntologyCreationException; import org.semanticweb.owlapi.model.OWLOntologyStorageException; import org.semanticweb.owlapi.reasoner.OWLReasoner; import testbase.TestBase; @SuppressWarnings("javadoc") public class DebugVerifyComplianceUniversityTestCase extends TestBase { private OWLReasoner reasoner; private OWLDataFactory df = OWLManager.getOWLDataFactory(); private OWLOntology load() throws OWLOntologyCreationException { 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(<urn:uni>\n" + "Declaration(Class(<urn:uni#Professor>))\n" + "Declaration(Class(<urn:uni#TeachingFaculty>))\n" + "Declaration(DataProperty(<urn:uni#hasTenure>))\n" + "EquivalentClasses(<urn:uni#Lecturer> DataHasValue(<urn:uni#hasTenure> \"false\"^^xsd:boolean))\n" + "DisjointClasses(<urn:uni#Lecturer> <urn:uni#Professor>)\n" + "EquivalentClasses(<urn:uni#Professor> DataHasValue(<urn:uni#hasTenure> \"true\"^^xsd:boolean))\n" + "DataPropertyDomain(<urn:uni#hasTenure> <urn:uni#TeachingFaculty>)\n" + "DataPropertyRange(<urn:uni#hasTenure> xsd:boolean)\n" + ')'; return OWLManager.createOWLOntologyManager() .loadOntologyFromOntologyDocument( new StringDocumentSource(input)); } private void equal(Object o, boolean object) { assertEquals(object, o); } private OWLClass C(String i) { return df.getOWLClass(IRI.create(i)); } private OWLClass Professor = C("urn:uni#Professor"); @Before public void setUp() throws OWLOntologyCreationException { reasoner = factory().createReasoner(load()); } protected void print(OWLOntology o) throws OWLOntologyStorageException { o.getOWLOntologyManager().saveOntology(o, new OWLFunctionalSyntaxOntologyFormat(), new SystemOutDocumentTarget()); } @Test public void shouldPassisSatisfiableProfessor() { equal(reasoner.isSatisfiable(Professor), true); } }