@Override public synchronized Individual addIndividual(final ATermAppl i) { return super.addIndividual(i); }
@Override public synchronized Individual addIndividual(final ATermAppl i) { return super.addIndividual(i); }
@Override public void clearABox() { _aboxAssertions.clear(); _annotations.clear(); if (OpenlletOptions.USE_INCREMENTAL_DELETION) { _deletedAssertions.clear(); _syntacticAssertions.clear(); _dependencyIndex = new DependencyIndex(this); } _abox = new ABoxImpl(this, true); // copy abox & cache. _individuals.clear(); _changes = EnumSet.of(ChangeType.ABOX_DEL); prepare(); // even though we don't copy the _individuals over to the new KB // we should still create _individuals for the for (final ATermAppl nominal : getExpressivity().getNominals()) addIndividual(nominal); }
@Override public void clearABox() { _aboxAssertions.clear(); _annotations.clear(); if (OpenlletOptions.USE_INCREMENTAL_DELETION) { _deletedAssertions.clear(); _syntacticAssertions.clear(); _dependencyIndex = new DependencyIndex(this); } _abox = new ABoxImpl(this, true); // copy abox & cache. _individuals.clear(); _changes = EnumSet.of(ChangeType.ABOX_DEL); prepare(); // even though we don't copy the _individuals over to the new KB // we should still create _individuals for the for (final ATermAppl nominal : getExpressivity().getNominals()) addIndividual(nominal); }
@Test public void testObjectVariableBindingGenerator() { _kb.addIndividual(mary); _kb.addIndividual(robert); _kb.addIndividual(victor); final BindingHelper genHelper = new ObjectVariableBindingHelper(_kb.getABox(), _x); final BindingGenerator gen = new BindingGeneratorImpl(new VariableBinding(_kb.getABox()), Collections.singletonList(genHelper)); assertIteratorValues(new BindingToMapIterator(gen.iterator()), new Object[] { Collections.singletonMap(_x, mary), Collections.singletonMap(_x, robert), Collections.singletonMap(_x, victor), }); }
@Test public void testGetInstances2() { final KnowledgeBaseImpl kb = new KnowledgeBaseImpl(); final ATermAppl C = term("C"); final ATermAppl i = term("i"); final ATermAppl j = term("j"); kb.addClass(C); kb.addIndividual(i); kb.addIndividual(j); kb.addType(i, C); kb.addType(j, C); final Set<ATermAppl> expected = new HashSet<>(); expected.add(i); expected.add(j); // Named concept, all instances final Set<ATermAppl> actual = kb.getInstances(C); assertEquals(expected, actual); }
@Test public void testGetInstances1() { final KnowledgeBaseImpl kb = new KnowledgeBaseImpl(); final ATermAppl C = term("C"); final ATermAppl i = term("i"); kb.addClass(C); kb.addIndividual(i); kb.addType(i, C); final Set<ATermAppl> expected = new HashSet<>(); expected.add(i); // Named concept, all instances final Set<ATermAppl> actual = kb.getInstances(C); assertEquals(expected, actual); }
@Before public void setUp() { _kb = new KnowledgeBaseImpl(); _x = new AtomIVariable("x"); _y = new AtomIVariable("y"); _z = new AtomDVariable("z"); _kb.addDatatypeProperty(dp1); _kb.addDatatypeProperty(dp2); _kb.addSubProperty(dp1, dp2); _kb.addIndividual(mary); _kb.addIndividual(robert); _kb.addIndividual(victor); _kb.addPropertyValue(dp1, mary, data1); _kb.addPropertyValue(dp2, mary, data2); _kb.addPropertyValue(dp1, robert, data2); _kb.addPropertyValue(dp1, robert, data3); _kb.addPropertyValue(dp2, victor, data4); }
@Test public void topObjectDomain() { final KnowledgeBaseImpl kb = new KnowledgeBaseImpl(); final ATermAppl c = term("C"); final ATermAppl x = term("x"); final ATermAppl y = term("y"); final ATermAppl z = term("z"); kb.addClass(c); kb.addIndividual(x); kb.addIndividual(y); kb.addIndividual(z); kb.addDifferent(x, y); kb.addDifferent(x, z); kb.addSubClass(c, oneOf(x, y)); kb.addDomain(TOP_OBJECT_PROPERTY, c); assertTrue(kb.isSameAs(y, z)); }
@Test public void topObjectRange() { final KnowledgeBaseImpl kb = new KnowledgeBaseImpl(); final ATermAppl c = term("C"); final ATermAppl x = term("x"); final ATermAppl y = term("y"); final ATermAppl z = term("z"); kb.addClass(c); kb.addIndividual(x); kb.addIndividual(y); kb.addIndividual(z); kb.addDifferent(x, y); kb.addDifferent(x, z); kb.addSubClass(c, oneOf(x, y)); kb.addRange(TOP_OBJECT_PROPERTY, c); assertTrue(kb.isSameAs(y, z)); }
@Test public void topObjectAllValues() { final KnowledgeBaseImpl kb = new KnowledgeBaseImpl(); final ATermAppl c = term("C"); final ATermAppl x = term("x"); final ATermAppl y = term("y"); final ATermAppl z = term("z"); kb.addClass(c); kb.addIndividual(x); kb.addIndividual(y); kb.addIndividual(z); kb.addDifferent(x, y); kb.addDifferent(x, z); kb.addSubClass(c, oneOf(x, y)); kb.addSubClass(TOP, all(TOP_OBJECT_PROPERTY, c)); assertTrue(kb.isSameAs(y, z)); }
@Test public void topObjectAssertion() { final KnowledgeBaseImpl kb = new KnowledgeBaseImpl(); final ATermAppl x = term("x"); final ATermAppl y = term("y"); kb.addIndividual(x); kb.addIndividual(y); assertTrue(kb.hasPropertyValue(x, TOP_OBJECT_PROPERTY, x)); assertTrue(kb.hasPropertyValue(x, TOP_OBJECT_PROPERTY, y)); assertTrue(kb.hasPropertyValue(y, TOP_OBJECT_PROPERTY, x)); assertTrue(kb.hasPropertyValue(y, TOP_OBJECT_PROPERTY, y)); }
@Test public void testIsAtomTrue() { _kb.addObjectProperty(p); _kb.addIndividual(mary); _kb.addIndividual(robert); _kb.addPropertyValue(p, mary, robert); final VariableBinding binding = new VariableBinding(_kb.getABox()); binding.set(_x, mary); binding.set(_y, robert); final RuleAtom atom = new IndividualPropertyAtom(p, _x, _y); final TrivialSatisfactionHelpers tester = new TrivialSatisfactionHelpers(_kb.getABox()); assertTrue(tester.isAtomTrue(atom, binding) != null); }
@Test public void topObjectallValuesFreshInd() { final KnowledgeBaseImpl kb = new KnowledgeBaseImpl(); final ATermAppl c = term("_C_"); final ATermAppl notC = not(c); final ATermAppl a = term("a"); final ATermAppl b = term("b"); kb.addIndividual(a); kb.addType(a, all(TOP_OBJECT_PROPERTY, notC)); kb.addIndividual(b); kb.addType(b, some(TOP_OBJECT_PROPERTY, c)); assertFalse(kb.isConsistent()); }
@Test public void testGetInstances10() { final KnowledgeBaseImpl kb = new KnowledgeBaseImpl(); final ATermAppl C = term("C"); final ATermAppl D = term("D"); final ATermAppl i = term("i"); final ATermAppl j = term("j"); final ATermAppl CoD = or(C, D); kb.addClass(C); kb.addClass(D); kb.addIndividual(i); kb.addIndividual(j); kb.addType(i, C); kb.addType(j, D); final Set<ATermAppl> expected = new HashSet<>(); final Set<ATermAppl> actual = kb.getInstances(CoD, true); assertEquals(expected, actual); }
@Test public void topDataAssertion() { final KnowledgeBaseImpl kb = new KnowledgeBaseImpl(); final ATermAppl r = term("r"); final ATermAppl x = term("x"); final ATermAppl y = literal("y"); kb.addDatatypeProperty(r); kb.addIndividual(x); kb.addPropertyValue(r, x, y); assertTrue(kb.hasPropertyValue(x, TOP_DATA_PROPERTY, y)); }
@Test public void testGetInstances8() { final KnowledgeBaseImpl kb = new KnowledgeBaseImpl(); final ATermAppl C = TermFactory.term("C"); final ATermAppl E = TermFactory.term("E"); final ATermAppl p = TermFactory.term("p"); final ATermAppl D = TermFactory.some(p, E); final ATermAppl i = TermFactory.term("i"); kb.addClass(C); kb.addClass(E); kb.addObjectProperty(p); kb.addSubClass(D, C); kb.addIndividual(i); kb.addType(i, C); final Set<ATermAppl> expected = new HashSet<>(); // Retrieve direct instance of anonymous concept final Set<ATermAppl> actual = kb.getInstances(D, true); assertEquals(expected, actual); }
@Test public void userDefinedDatatypes303a() { final ATermAppl c = TermFactory.term("C"); final ATermAppl v = TermFactory.term("v"); final ATermAppl i = TermFactory.term("i"); final ATermAppl one = TermFactory.literal(1); final KnowledgeBaseImpl kb = new KnowledgeBaseImpl(); kb.addClass(c); kb.addDatatypeProperty(v); kb.addIndividual(i); kb.addSubClass(c, TermFactory.min(v, 1, INTEGER)); kb.addRange(v, TermFactory.oneOf(one)); kb.addType(i, c); assertTrue(kb.hasPropertyValue(i, v, one)); }
@Test public void userDefinedDatatypes303b() { final ATermAppl c = TermFactory.term("C"); final ATermAppl v = TermFactory.term("v"); final ATermAppl i = TermFactory.term("i"); final ATermAppl one = TermFactory.literal(1); final KnowledgeBaseImpl kb = new KnowledgeBaseImpl(); kb.addClass(c); kb.addDatatypeProperty(v); kb.addIndividual(i); kb.addSubClass(c, TermFactory.some(v, INTEGER)); kb.addRange(v, TermFactory.oneOf(one)); kb.addType(i, c); assertTrue(kb.hasPropertyValue(i, v, one)); }
@Test public void bottomDataAssertion() { final KnowledgeBaseImpl kb = new KnowledgeBaseImpl(); final ATermAppl x = term("x"); final ATermAppl y = literal("y"); kb.addIndividual(x); assertFalse(kb.hasPropertyValue(x, BOTTOM_DATA_PROPERTY, y)); assertTrue(kb.isType(x, not(some(BOTTOM_DATA_PROPERTY, TOP_LIT)))); assertTrue(kb.isType(x, not(hasValue(BOTTOM_DATA_PROPERTY, y)))); kb.addPropertyValue(BOTTOM_DATA_PROPERTY, x, y); assertFalse(kb.isConsistent()); }