@Override public synchronized void addSubClass(final ATermAppl sub, final ATermAppl sup) { super.addSubClass(sub, sup); }
@Override public synchronized void addSubClass(final ATermAppl sub, final ATermAppl sup) { super.addSubClass(sub, sup); }
@Test public void topObjectSomeValuesBottom() { final KnowledgeBaseImpl kb = new KnowledgeBaseImpl(); kb.addSubClass(TOP, some(TOP_OBJECT_PROPERTY, BOTTOM)); assertFalse(kb.isConsistent()); }
kb.addClass(E); kb.addSubClass(B, A); kb.addSubClass(C, A); kb.addSubClass(D, B); kb.addSubClass(D, C); kb.addSubClass(E, D);
@Test public void testGetInstances3() { 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"); kb.addClass(C); kb.addClass(D); kb.addIndividual(i); kb.addIndividual(j); kb.addSubClass(C, D); kb.addType(i, C); kb.addType(j, D); final Set<ATermAppl> expectedD = new HashSet<>(); expectedD.add(i); expectedD.add(j); // Named concept, all instances final Set<ATermAppl> actualD = kb.getInstances(D); assertEquals(expectedD, actualD); final Set<ATermAppl> expectedC = new HashSet<>(); expectedC.add(i); // Named concept, all instances final Set<ATermAppl> actualC = kb.getInstances(C); assertEquals(expectedC, actualC); }
@Test public void testGetInstances4() { 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"); kb.addClass(C); kb.addClass(D); kb.addIndividual(i); kb.addIndividual(j); kb.addSubClass(C, D); kb.addType(i, C); kb.addType(j, D); final Set<ATermAppl> expectedD = new HashSet<>(); expectedD.add(j); // Named concept, direct instances final Set<ATermAppl> actualD = kb.getInstances(D, true); assertEquals(expectedD, actualD); final Set<ATermAppl> expectedC = new HashSet<>(); expectedC.add(i); // Named concept, direct instances final Set<ATermAppl> actualC = kb.getInstances(C, true); assertEquals(expectedC, actualC); }
@Test public void testGetInstances9() { final KnowledgeBaseImpl kb = new KnowledgeBaseImpl(); final ATermAppl C = term("C"); final ATermAppl E = term("E"); final ATermAppl p = term("p"); final ATermAppl D = some(p, E); final ATermAppl i = term("i"); kb.addClass(C); kb.addClass(E); kb.addObjectProperty(p); kb.addSubClass(D, C); kb.addIndividual(i); kb.addType(i, D); final Set<ATermAppl> expected = new HashSet<>(); expected.add(i); // Retrieve direct instance of anonymous concept final Set<ATermAppl> actual = kb.getInstances(D, true); assertEquals(expected, actual); }
@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 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 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 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 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)); }