final public ElkObjectProperty objectProperty() throws ParseException {ElkIri x; x = iri(); {if ("" != null) return getElkObjectFactory().getObjectProperty(x);} throw new Error("Missing return statement in function"); }
@Test public void testRelatedNodes() throws ElkException { final Taxonomy<ElkObjectProperty> taxonomy = propertyTaxonomyProvider_.getTaxonomy("taxonomy_member_comparison/property_related_nodes.owl"); final ElkObjectProperty differentA2 = OBJECT_FACTORY.getObjectProperty( new ElkAbbreviatedIri(new ElkPrefixImpl("different:", new ElkFullIri("http://example.org/different#")), "A")); final ElkObjectProperty sameB1 = OBJECT_FACTORY.getObjectProperty( new ElkFullIri("http://example.org/same#B")); final ElkObjectProperty differentB2 = OBJECT_FACTORY.getObjectProperty( new ElkAbbreviatedIri(new ElkPrefixImpl("different:", new ElkFullIri("http://example.org/different#")), "B")); // Super-/sub-node is created only for different members final TaxonomyNode<ElkObjectProperty> nodeA = taxonomy.getNode(differentA2); final Set<? extends TaxonomyNode<ElkObjectProperty>> superA = nodeA.getDirectSuperNodes(); assertEquals(1, superA.size()); assertTrue(superA.iterator().next().contains(differentB2)); assertFalse(superA.iterator().next().contains(sameB1)); final Set<? extends TaxonomyNode<ElkObjectProperty>> subA = nodeA.getDirectSubNodes(); assertEquals(2, subA.size()); }
ElkClass c = createElkClass("C"); ElkClass d = createElkClass("D"); ElkObjectProperty r = objectFactory.getObjectProperty(new ElkFullIri("R"));
ElkClass C = objectFactory.getClass(new ElkFullIri(":C")); ElkClass D = objectFactory.getClass(new ElkFullIri(":D")); ElkObjectProperty R = objectFactory.getObjectProperty(new ElkFullIri( ":R")); ElkAxiom axASubRB = objectFactory.getSubClassOfAxiom(A,
ElkClass e = createElkClass("E"); ElkObjectProperty r = objectFactory .getObjectProperty(new ElkFullIri("R")); ElkAxiom posExistential = objectFactory.getSubClassOfAxiom(a, objectFactory.getObjectSomeValuesFrom(r, b));
@Test public void testAddingFreshTrivialProperty() throws Exception { final ElkObject.Factory factory = new ElkObjectEntityRecyclingFactory(); final ElkClass a = factory .getClass(new ElkFullIri("http://example.org/A")); final ElkClass b = factory .getClass(new ElkFullIri("http://example.org/B")); final ElkClass c = factory .getClass(new ElkFullIri("http://example.org/C")); final ElkClass d = factory .getClass(new ElkFullIri("http://example.org/D")); final ElkObjectProperty r = factory .getObjectProperty(new ElkFullIri("http://example.org/R")); final Set<ElkAxiom> initial = new HashSet<ElkAxiom>(); initial.add(factory.getSubClassOfAxiom(b, c)); final Reasoner reasoner = TestReasonerUtils.loadAndClassify(initial); reasoner.setAllowIncrementalMode(true); final TestChangesLoader loader = new TestChangesLoader(); loader.add(factory.getSubClassOfAxiom(a, factory.getObjectSomeValuesFrom(r, b))); loader.add(factory .getSubClassOfAxiom(factory.getObjectSomeValuesFrom(r, c), d)); reasoner.registerAxiomLoader(new TestAxiomLoaderFactory(loader)); TracingTestUtils.checkTracingCompleteness(a, d, reasoner); }
@Test @SuppressWarnings("static-method") public void testPropertyHierarchy() throws Exception { Reasoner reasoner = TestReasonerUtils.loadAndClassify(TestReasonerUtils.loadAxioms("tracing/DeepPropertyHierarchy.owl")); ElkObject.Factory factory = new ElkObjectEntityRecyclingFactory(); ElkClass a = factory.getClass(new ElkFullIri("http://example.org/A")); ElkClass d = factory.getClass(new ElkFullIri("http://example.org/D")); final IndexedObjectProperty s = ReasonerStateAccessor.transform(reasoner, factory.getObjectProperty(new ElkFullIri("http://example.org/S"))); final IndexedObjectProperty r = ReasonerStateAccessor.transform(reasoner, factory.getObjectProperty(new ElkFullIri("http://example.org/R"))); final IndexedObjectProperty hh = ReasonerStateAccessor.transform(reasoner, factory.getObjectProperty(new ElkFullIri("http://example.org/HH"))); TracingTestUtils.checkTracingCompleteness(a, d, reasoner); // check that the inference S -> HH has been traced and used during unwinding TracingTestUtils.checkConditionOverUsedInferences(a, d, reasoner, new TracingTestUtils.DummyInferenceChecker() { @Override public Boolean visit(SubPropertyChainExpandedSubObjectPropertyOf inference) { // checking that S -> HH is in the trace (i.e. is used) return inference.getSubChain().equals(s) && inference.getSuperChain().equals(hh) && inference.getSecondPremise(FACTORY_).getSubChain().equals(r); } }); }
@Test public void testSatisfiabilityExistentialSubsumption() throws ElkException { TestLoader loader = new TestLoader(); Reasoner reasoner = TestReasonerUtils.createTestReasoner(loader); ElkClass A = objectFactory.getClass(new ElkFullIri(":A")); ElkClass B = objectFactory.getClass(new ElkFullIri(":B")); loader.add(objectFactory.getSubClassOfAxiom(A, B)); ElkObjectProperty R = objectFactory.getObjectProperty(new ElkFullIri( ":R")); assertFalse(reasoner.isSatisfiable(objectFactory .getObjectIntersectionOf(objectFactory.getObjectSomeValuesFrom( R, A), objectFactory .getObjectComplementOf(objectFactory .getObjectSomeValuesFrom(R, B))))); assertTrue(reasoner.isSatisfiable(objectFactory .getObjectIntersectionOf(objectFactory.getObjectSomeValuesFrom( R, B), objectFactory .getObjectComplementOf(objectFactory .getObjectSomeValuesFrom(R, A))))); }
@Test @SuppressWarnings("static-method") public void testDuplicateInferenceViaComposition() throws Exception { Reasoner reasoner = TestReasonerUtils .loadAndClassify(TestReasonerUtils.loadAxioms("tracing/DuplicateComposition.owl")); ElkObject.Factory factory = new ElkObjectEntityRecyclingFactory(); ElkClass a = factory.getClass(new ElkFullIri("http://example.org/A")); ElkClass b = factory.getClass(new ElkFullIri("http://example.org/B")); ElkObjectProperty r = factory .getObjectProperty(new ElkFullIri("http://example.org/R")); ElkClass c = factory.getClass(new ElkFullIri("http://example.org/C")); ElkClassExpression rSomeC = factory.getObjectSomeValuesFrom(r, c); TracingTestUtils.checkTracingCompleteness(b, b, reasoner); TracingTestUtils.checkTracingCompleteness(a, rSomeC, reasoner); }
@Test public void testSatisfiabilityExistential() throws ElkException { TestLoader loader = new TestLoader(); Reasoner reasoner = TestReasonerUtils.createTestReasoner(loader); ElkClass A = objectFactory.getClass(new ElkFullIri(":A")); ElkClass B = objectFactory.getClass(new ElkFullIri(":B")); loader.add(objectFactory.getSubClassOfAxiom(A, objectFactory.getOwlNothing())); ElkObjectProperty R = objectFactory.getObjectProperty(new ElkFullIri( ":R")); assertFalse(reasoner.isSatisfiable(objectFactory .getObjectSomeValuesFrom(R, A))); assertTrue(reasoner.isSatisfiable(objectFactory .getObjectSomeValuesFrom(R, B))); }
@Test @SuppressWarnings("static-method") public void testDuplicateInferenceOfReflexiveExistential() throws Exception { Reasoner reasoner = TestReasonerUtils .loadAndClassify(TestReasonerUtils.loadAxioms("tracing/DuplicateReflexiveExistential.owl")); ElkObject.Factory factory = new ElkObjectEntityRecyclingFactory(); ElkClass a = factory.getClass(new ElkFullIri("http://example.org/A")); ElkObjectProperty r = factory .getObjectProperty(new ElkFullIri("http://example.org/R")); ElkClass c = factory.getClass(new ElkFullIri("http://example.org/C")); ElkClassExpression rSomeC = factory.getObjectSomeValuesFrom(r, c); TracingTestUtils.checkTracingCompleteness(a, rSomeC, reasoner); }
ElkObjectProperty createElkObjectProperty(String name) { return objectFactory.getObjectProperty(new ElkAbbreviatedIri(p, name)); }
private ElkObjectProperty getObjectProperty(String name) { return elkFactory_.getObjectProperty(getIri(name)); }
@Test @SuppressWarnings("static-method") public void testRecursiveTracingComposition() throws Exception { ElkObject.Factory factory = new ElkObjectEntityRecyclingFactory(); Reasoner reasoner = TestReasonerUtils .loadAndClassify(TestReasonerUtils.loadAxioms("tracing/RecursiveComposition.owl")); ElkClass a = factory.getClass(new ElkFullIri("http://example.org/A")); ElkObjectProperty r = factory .getObjectProperty(new ElkFullIri("http://example.org/R")); ElkClass c = factory.getClass(new ElkFullIri("http://example.org/C")); ElkClassExpression rSomeC = factory.getObjectSomeValuesFrom(r, c); TracingTestUtils.checkTracingCompleteness(a, rSomeC, reasoner); }
@Override public ElkObjectProperty getObjectProperty(ElkIri iri) { return filter(factory_.getObjectProperty(iri)); }
private ElkObjectProperty getObjectProperty(String name) { return elkFactory_.getObjectProperty(getIri(name)); }
@Test @SuppressWarnings("static-method") public void testRecursiveTracingExistential() throws Exception { ElkObject.Factory factory = new ElkObjectEntityRecyclingFactory(); Reasoner reasoner = TestReasonerUtils .loadAndClassify(TestReasonerUtils.loadAxioms("tracing/RecursiveExistential.owl")); ElkClass a = factory.getClass(new ElkFullIri("http://example.org/A")); ElkObjectProperty r = factory .getObjectProperty(new ElkFullIri("http://example.org/R")); ElkClass c = factory.getClass(new ElkFullIri("http://example.org/C")); ElkClassExpression rSomeC = factory.getObjectSomeValuesFrom(r, c); TracingTestUtils.checkTracingCompleteness(a, rSomeC, reasoner); }
@Override public ElkObjectProperty getObjectProperty(ElkIri iri) { return filter(factory_.getObjectProperty(iri)); }
private ElkObjectProperty getObjectProperty(String name) { return elkFactory_.getObjectProperty(getIri(name)); }
@Override public ElkObjectProperty getObjectProperty(ElkIri iri) { return filter(factory_.getObjectProperty(iri)); }