@Test public void testBottom1() { classes(_A, _B, _C, _D); _kb.addSubClass(_A, ATermUtils.BOTTOM); _kb.addSubClass(_C, and(_A, _B)); _kb.addSubClass(ATermUtils.BOTTOM, _D); final Taxonomy<ATermAppl> hierarchy = getHierarchy(); assertEquals(SetUtils.create(_A, _C), hierarchy.getEquivalents(ATermUtils.BOTTOM)); }
@Test public void testBottom2() { classes(_A, _B, _C, _D, _E, _F, _G); objectProperties(_p, _q, _r, _s); _kb.addSubClass(_A, some(_p, _B)); _kb.addSubClass(some(_p, _B), _C); _kb.addSubClass(_C, ATermUtils.BOTTOM); final Taxonomy<ATermAppl> hierarchy = getHierarchy(); assertEquals(SetUtils.create(_A, _C), hierarchy.getEquivalents(ATermUtils.BOTTOM)); }
@Test public void testBottomWithSome2() { classes(_A, _B, _C, _D, _E, _F, _G); objectProperties(_p, _q, _r, _s); _kb.addSubClass(_B, some(_p, _A)); _kb.addSubClass(_A, ATermUtils.BOTTOM); _kb.addSubClass(_C, some(_q, _B)); final Taxonomy<ATermAppl> hierarchy = getHierarchy(); assertEquals(SetUtils.create(_A, _B, _C), hierarchy.getEquivalents(ATermUtils.BOTTOM)); }
@Test public void testRange4() { classes(_A, _B, _C, _D, _E, _F, _G); objectProperties(_p, _q, _r, _s); _kb.addRange(_p, _C); _kb.addSubClass(_A, some(_p, _B)); _kb.addSubClass(and(_B, _C), _D); _kb.addSubClass(some(_p, _D), _E); final Taxonomy<ATermAppl> hierarchy = getHierarchy(); assertEquals(singletonSets(_A), hierarchy.getSubs(_E, true)); }
@Test public void testEL4() { classes(_A, _B, _C, _D, _E); _kb.addSubClass(_A, and(_B, _C, _D)); _kb.addSubClass(and(_C, _D), _E); final Taxonomy<ATermAppl> hierarchy = getHierarchy(); assertEquals(singletonSets(_A), hierarchy.getSubs(_B, true)); }
@Test public void testBottomWithSome1() { classes(_A, _B); objectProperties(_p); _kb.addSubClass(_A, some(_p, _B)); _kb.addSubClass(_B, ATermUtils.BOTTOM); final Taxonomy<ATermAppl> hierarchy = getHierarchy(); assertEquals(SetUtils.create(_A, _B), hierarchy.getEquivalents(ATermUtils.BOTTOM)); }
@Test public void testTopBottom() { _kb = new KnowledgeBaseImpl(); _kb.addSubClass(ATermUtils.TOP, ATermUtils.BOTTOM); assertFalse(_kb.isConsistent()); final Set<ATermAppl> explanation = _kb.getExplanationSet(); assertIteratorValues(explanation.iterator(), new Object[] { ATermUtils.makeSub(ATermUtils.TOP, ATermUtils.BOTTOM), }); }
@Test public void testRange1() { classes(_A, _B, _C, _D); objectProperties(_p); _kb.addRange(_p, _A); _kb.addSubClass(_B, some(_p, _C)); _kb.addSubClass(some(_p, _A), _D); final Taxonomy<ATermAppl> hierarchy = getHierarchy(); assertEquals(singletonSets(_D), hierarchy.getSupers(_B, true)); }
@Test public void testEL3c() { classes(_A, _C, _D, _E); objectProperties(_p); _kb.addSubClass(_A, some(_p, and(_C, _D))); _kb.addSubClass(some(_p, _C), _E); final Taxonomy<ATermAppl> hierarchy = getHierarchy(); assertEquals(singletonSets(_E), hierarchy.getSupers(_A, true)); }
@Test public void testRange5() { classes(_A, _B, _C, _D, _E, _F, _G); objectProperties(_p, _q, _r, _s); _kb.addRange(_p, _A); _kb.addSubClass(_B, and(_A, some(_p, _C))); _kb.addSubClass(_C, _A); _kb.addEquivalentClass(_D, some(_p, _C)); final Taxonomy<ATermAppl> hierarchy = getHierarchy(); assertEquals(singletonSets(_B, _C), hierarchy.getSubs(_A, true)); }
@Test public void testBottomSub() { // See also: http://cvsdude.com/trac/clark-parsia/pellet-devel/ticket/7 final KnowledgeBase kb = new KnowledgeBaseImpl(); final ATermAppl c = term("c"); kb.addClass(c); kb.addSubClass(ATermUtils.BOTTOM, c); kb.classify(); assertTrue(kb.isSubClassOf(ATermUtils.BOTTOM, c)); }
@Test public void someFunctionalP() { classes(_C, _D); objectProperties(_p); _kb.addFunctionalProperty(_p); _kb.addSubClass(_D, some(inv(_p), _C)); _kb.addSubClass(_C, some(_p, not(_D))); assertTrue(_kb.isConsistent()); assertTrue(_kb.isSatisfiable(_C)); assertFalse(_kb.isSatisfiable(_D)); }
@Test public void somePQallInvR() { classes(_C, _D); objectProperties(_p, _q, _r); _kb.addSubProperty(list(_p, _q), _r); _kb.addSubClass(_D, some(_p, some(_q, _C))); _kb.addSubClass(_C, all(inv(_r), not(_D))); assertTrue(_kb.isConsistent()); assertTrue(_kb.isSatisfiable(_C)); assertFalse(_kb.isSatisfiable(_D)); }
@Test public void propertyChainClasses() { // Tests #367 classes(_A, _B, _C); objectProperties(_p, _q, _r); _kb.addSubProperty(list(_p, _q), _r); _kb.addSubClass(_A, some(_p, some(_q, _B))); _kb.addSubClass(some(_r, _B), _C); explainEntailment(_kb.isSubClassOf(_A, _C), ATermUtils.makeSub(_A, some(_p, some(_q, _B))), ATermUtils.makeSub(some(_r, _B), _C), ATermUtils.makeSubProp(list(_p, _q), _r)); }
@Test public void testUnsatClasses2() { classes(_B, _C, _D); _kb.addDisjointClass(_C, _D); _kb.addSubClass(_B, and(_C, _D)); assertEquals(singleton(_B), _kb.getUnsatisfiableClasses()); assertEquals(SetUtils.create(_B, BOTTOM), _kb.getAllUnsatisfiableClasses()); assertFalse(_kb.isClassified()); assertEquals(singleton(_B), _kb.getUnsatisfiableClasses()); assertEquals(SetUtils.create(_B, BOTTOM), _kb.getAllUnsatisfiableClasses()); }
@Test public void testDomain1() { classes(_A, _B); objectProperties(_p); _kb.addDomain(_p, _A); _kb.addSubClass(_B, some(_p, ATermUtils.TOP)); final Taxonomy<ATermAppl> hierarchy = getHierarchy(); assertEquals(singletonSets(_A), hierarchy.getSupers(_B, true)); }
@Test public void testDomainBottom() { classes(_A, _B, _C, _D, _E, _F, _G); objectProperties(_p, _q, _r, _s); _kb.addDomain(_p, ATermUtils.BOTTOM); _kb.addSubClass(_A, some(_p, _B)); final Taxonomy<ATermAppl> hierarchy = getHierarchy(); assertEquals(SetUtils.create(_A), hierarchy.getEquivalents(ATermUtils.BOTTOM)); }
@Test public void test547b() { dataProperties(_p, _q, _r); _kb.addDisjointProperty(_p, _q); _kb.addSubClass(some(_p, TOP_LIT), some(_q, TOP_LIT)); assertTrue(_kb.isConsistent()); assertTrue(_kb.isDisjointProperty(_p, _q)); assertFalse(_kb.isDisjointProperty(_p, _r)); assertFalse(_kb.isDisjointProperty(_q, _r)); } }
@Test public void cachedIntersectionUnsat() { classes(_B, _C, _D); objectProperties(_p); _kb.addDisjointClass(_C, _D); _kb.addSubClass(_B, some(_p, some(inv(_p), and(_C, _D)))); assertTrue(_kb.isConsistent()); assertTrue(_kb.isSatisfiable(_C)); assertTrue(_kb.isSatisfiable(_D)); assertFalse(_kb.isSatisfiable(_B)); }
@Test public void transitivityInverse() { classes(_C, _D); objectProperties(_p, _q, _r); _kb.addTransitiveProperty(_r); _kb.addSubProperty(_r, _q); _kb.addSubClass(_D, all(_q, _C)); assertTrue(_kb.isConsistent()); assertFalse(_kb.isSatisfiable(some(_p, and(_D, some(_p, and(some(inv(_r), _D), some(_r, not(_C)))))))); }