@SuppressWarnings("unused") @Test public void testPunning3() throws Exception { final OWLClass A = OWL.Class("A"); final OWLIndividual i = OWL.Individual("A"); final OWLClass B = OWL.Class("B"); final OWLIndividual j = OWL.Individual("B"); final Set<OWLAxiom> axioms = new HashSet<>(); axioms.add(OWL.disjointClasses(A, B)); axioms.add(OWL.classAssertion(i, A)); axioms.add(OWL.classAssertion(j, B)); axioms.add(OWL.sameAs(i, j)); final OWLOntology ontology = OWL.Ontology(axioms); final OpenlletReasoner reasoner = OpenlletReasonerFactory.getInstance().createReasoner(ontology); final PelletExplanation explain = new PelletExplanation(reasoner); assertFalse(explain.getInconsistencyExplanations().isEmpty()); }
@Test public void testSameAs3() { final String ns = "urn:test:"; final IRI ontIRI = IRI.create(_base + "test.owl"); final OWLNamedIndividual i1 = Individual(ns + "i1"); final OWLNamedIndividual i2 = Individual(ns + "i2"); final OWLNamedIndividual i3 = Individual(ns + "i3"); final OWLClass c = Class(ns + "c"); final Set<OWLAxiom> axioms = new HashSet<>(); axioms.add(equivalentClasses(c, oneOf(i1, i2))); axioms.add(classAssertion(i3, c)); final OWLOntology ont = OWL.Ontology(axioms, ontIRI); final OpenlletReasoner reasoner = OpenlletReasonerFactory.getInstance().createReasoner(ont); assertTrue(!reasoner.isEntailed(sameAs(i1, i2))); assertTrue(!reasoner.isEntailed(sameAs(i1, i3))); assertStreamAsSetEquals(Stream.of(i1), reasoner.getSameIndividuals(i1).entities()); assertTrue(!reasoner.isEntailed(sameAs(i2, i1))); assertTrue(!reasoner.isEntailed(sameAs(i2, i3))); assertStreamAsSetEquals(Stream.of(i2), reasoner.getSameIndividuals(i2).entities()); assertTrue(!reasoner.isEntailed(sameAs(i3, i1))); assertTrue(!reasoner.isEntailed(sameAs(i3, i2))); assertStreamAsSetEquals(Stream.of(i3), reasoner.getSameIndividuals(i3).entities()); }
@Test public void testSameAs1() { final String ns = "urn:test:"; final IRI ontIRI = IRI.create(_base + "invalidTransitivity.owl"); final OWLNamedIndividual a = Individual(ns + "a"); final OWLNamedIndividual b = Individual(ns + "b"); final OWLNamedIndividual c = Individual(ns + "c"); final OWLObjectProperty p = ObjectProperty(ns + "p"); final OWLObjectProperty q = ObjectProperty(ns + "q"); final Set<OWLAxiom> axioms = new HashSet<>(); axioms.add(propertyAssertion(a, p, c)); axioms.add(propertyAssertion(b, p, b)); axioms.add(propertyAssertion(c, q, a)); axioms.add(sameAs(b, c)); axioms.add(propertyAssertion(a, q, c)); final OWLOntology ont = OWL.Ontology(axioms, ontIRI); final OpenlletReasoner reasoner = OpenlletReasonerFactory.getInstance().createReasoner(ont); assertStreamAsSetEquals(Stream.of(a), reasoner.getSameIndividuals(a).entities()); assertStreamAsSetEquals(Stream.of(b, c), reasoner.getSameIndividuals(b).entities()); assertStreamAsSetEquals(Stream.of(b, c), reasoner.getSameIndividuals(c).entities()); assertPropertyValues(reasoner, a, p, b, c); assertPropertyValues(reasoner, a, q, b, c); assertPropertyValues(reasoner, b, p, b, c); assertPropertyValues(reasoner, b, q, a); assertPropertyValues(reasoner, c, p, b, c); assertPropertyValues(reasoner, c, q, a); }
private static OpenlletReasoner setupReasonerIndividualNodeSetPolicy(final IndividualNodeSetPolicy p) { final OWLAxiom[] axioms = { OWL.classAssertion(_a, _C), OWL.classAssertion(_b, _C), OWL.classAssertion(_c, _C), OWL.sameAs(_a, _b), OWL.differentFrom(_b, _c), OWL.differentFrom(_a, _c) }; final OWLOntology ont = OWL.Ontology(axioms); final OWLReasonerConfiguration config = new SimpleConfiguration(new NullReasonerProgressMonitor(), FreshEntityPolicy.ALLOW, Long.MAX_VALUE, p); final OpenlletReasoner pellet = OpenlletReasonerFactory.getInstance().createReasoner(ont, config); return pellet; }