@Test public void testGuessingRule2() { // ticket #488 classes(_A, _B, _C); objectProperties(_p, _q); individuals(_a); _kb.addInverseProperty(_p, _q); _kb.addDomain(_p, _A); _kb.addRange(_p, or(_B, _C)); _kb.addSubClass(_A, card(_p, 1, _B)); _kb.addSubClass(_A, card(_p, 1, _C)); _kb.addSubClass(_B, card(_q, 1, _A)); _kb.addSubClass(_C, card(_q, 1, _A)); _kb.addDisjointClasses(Arrays.asList(_A, _B, _C)); _kb.addEquivalentClass(_A, oneOf(_a)); assertTrue(_kb.isConsistent()); assertEquals(Collections.emptySet(), _kb.getUnsatisfiableClasses()); }
kb.addRange(p, ATermUtils.makeRestrictedDatatype(XSDInteger.getInstance().getName(), new ATermAppl[] { ATermUtils.makeFacetRestriction(Facet.XSD.MIN_INCLUSIVE.getName(), ATermUtils.makeTypedLiteral(Byte.toString(MIN), XSDByte.getInstance().getName())), ATermUtils.makeFacetRestriction(Facet.XSD.MAX_INCLUSIVE.getName(), ATermUtils.makeTypedLiteral(Byte.toString(MAX), XSDByte.getInstance().getName())) })); kb.addSubClass(C, card(p, COUNT + 1, ATermUtils.TOP_LIT)); kb.addSubClass(D, card(p, COUNT, ATermUtils.TOP_LIT)); kb.addSubClass(E, card(p, COUNT - 1, ATermUtils.TOP_LIT));