public void realize() { prepare(); _kb.realize(); }
public void realize() { prepare(); _kb.realize(); }
public void realize() { prepare(); _kb.realize(); }
/** * {@inheritDoc} */ @Override public void prepareReasoner() throws ReasonerInterruptedException, TimeOutException { refreshCheck(); if (_kb.isConsistent()) _kb.realize(); }
/** * {@inheritDoc} */ @Override public void prepareReasoner() throws ReasonerInterruptedException, TimeOutException { refreshCheck(); if (_kb.isConsistent()) _kb.realize(); }
/** * {@inheritDoc} */ @Override public void prepareReasoner() throws ReasonerInterruptedException, TimeOutException { refreshCheck(); if (_kb.isConsistent()) _kb.realize(); }
@Override @SuppressWarnings("deprecation") public Graph getDeductionsGraph() { if (!OpenlletOptions.RETURN_DEDUCTIONS_GRAPH) return null; classify(); if (_deductionsGraph == null) { _logger.fine("Realizing PelletInfGraph..."); _kb.realize(); _logger.fine("Extract model..."); final Model extractedModel = _extractor.extractModel(); _deductionsGraph = extractedModel.getGraph(); _logger.fine("done."); } return _deductionsGraph; }
@Override @SuppressWarnings("deprecation") public Graph getDeductionsGraph() { if (!OpenlletOptions.RETURN_DEDUCTIONS_GRAPH) return null; classify(); if (_deductionsGraph == null) { _logger.fine("Realizing PelletInfGraph..."); _kb.realize(); _logger.fine("Extract model..."); final Model extractedModel = _extractor.extractModel(); _deductionsGraph = extractedModel.getGraph(); _logger.fine("done."); } return _deductionsGraph; }
@Override @SuppressWarnings("deprecation") public Graph getDeductionsGraph() { if (!OpenlletOptions.RETURN_DEDUCTIONS_GRAPH) return null; classify(); if (_deductionsGraph == null) { _logger.fine("Realizing PelletInfGraph..."); _kb.realize(); _logger.fine("Extract model..."); final Model extractedModel = _extractor.extractModel(); _deductionsGraph = extractedModel.getGraph(); _logger.fine("done."); } return _deductionsGraph; }
@Override public void classify() { _reasoner.getKB().realize(); }
private void test(final OWLHelper owl) { final int index = _random.nextInt(_allAxioms.size()); final OWLAxiom axiom = _allAxioms.remove(index); _removedAxioms.add(axiom); owl.getOntology().add(_allAxioms); final OpenlletReasoner r = (OpenlletReasoner) owl.getReasoner(); try { r.isConsistent(); final KnowledgeBase kb = r.getKB(); kb.realize(); kb.classify(); // The error have disappear; lets roll back. final OWLAxiom correct = _removedAxioms.remove(_removedAxioms.size() - 1); System.out.println(correct + "\t may be part of the problem"); _allAxioms.add(correct); } catch (@SuppressWarnings("unused") final Exception e) { // So the error is still present. We have a new minimal ontology. registerOntology(owl.getOntology()); } }
@Override public void classify() { ((PelletInfGraph) _model.getGraph()).getKB().realize(); }
public void explainClassHierarchy() throws OWLException { final Set<OWLClass> visited = new HashSet<>(); _reasoner.flush(); startTask("Classification"); _reasoner.getKB().classify(); finishTask("Classification"); startTask("Realization"); _reasoner.getKB().realize(); finishTask("Realization"); _monitor = new ConsoleProgressMonitor(); _monitor.setProgressTitle("Explaining"); _monitor.setProgressLength((int) _reasoner.getRootOntology().classesInSignature().count()); _monitor.taskStarted(); final Node<OWLClass> bottoms = _reasoner.getEquivalentClasses(OWL.Nothing); explainClassHierarchy(OWL.Nothing, bottoms, visited); final Node<OWLClass> tops = _reasoner.getEquivalentClasses(OWL.Thing); explainClassHierarchy(OWL.Thing, tops, visited); _monitor.taskFinished(); }
@Override public void run() { final KnowledgeBase kb = getKB(); startTask("consistency check"); final boolean isConsistent = kb.isConsistent(); finishTask("consistency check"); if (!isConsistent) throw new OpenlletCmdException("Ontology is inconsistent, run \"openllet explain\" to get the reason"); startTask("classification"); kb.classify(); finishTask("classification"); startTask("realization"); kb.realize(); finishTask("realization"); final TaxonomyPrinter<ATermAppl> printer = new ClassTreePrinter(); printer.print(kb.getTaxonomy()); }
@Test public void testRuleIndividuals() { final ATermAppl c = term("C"), d = term("D"), i = term("i"); _kb.addClass(c); _kb.addClass(d); _kb.addIndividual(i); _kb.addType(i, c); _kb.addRule(new Rule(Arrays.asList(new RuleAtom[] { new ClassAtom(d, new AtomIConstant(i)) }), Arrays.asList(new RuleAtom[] { new ClassAtom(c, new AtomIConstant(i)) }))); _kb.realize(); assertTrue(_kb.getTypes(i).contains(Collections.singleton(d))); }
private void nonTrivialBuiltInTest() { final ATermAppl d1 = literal("1", Datatypes.INT), d2 = literal("2", Datatypes.INT), d12 = literal("3", Datatypes.INTEGER), i = term("i"), p = term("p"), q = term("q"), r = term("r"); _kb.addDatatypeProperty(p); _kb.addDatatypeProperty(q); _kb.addDatatypeProperty(r); _kb.addIndividual(i); _kb.addSubClass(TOP, hasValue(p, d1)); _kb.addSubClass(TOP, hasValue(q, d2)); final AtomIVariable x = new AtomIVariable("x"); final AtomDVariable z1 = new AtomDVariable("z1"); final AtomDVariable z2 = new AtomDVariable("z2"); final AtomDVariable z3 = new AtomDVariable("z3"); final List<RuleAtom> body = new ArrayList<>(); body.add(new DatavaluedPropertyAtom(p, x, z1)); body.add(new DatavaluedPropertyAtom(q, x, z2)); body.add(new BuiltInAtom(SWRLB + "add", z3, z1, z2)); final List<RuleAtom> head = new ArrayList<>(); head.add(new DatavaluedPropertyAtom(r, x, z3)); _kb.addRule(new Rule(head, body)); _kb.realize(); assertTrue(_kb.hasPropertyValue(i, r, d12)); }
@Override public void setupGenerators(final Stream<OWLAxiom> ontologyAxioms) throws Exception { final OWLOntology ontology = openllet.owlapi.OWL.Ontology(ontologyAxioms); final Graph data = convertOntology(ontology, false); final Reasoner reasoner = PelletReasonerFactory.theInstance().create(); _openllet = (PelletInfGraph) reasoner.bind(data); final KnowledgeBase kb = _openllet.getKB(); if (_classify) { kb.setDoExplanation(true); _openllet.prepare(); kb.setDoExplanation(false); kb.realize(); } }
@Test public void testFamily() { final String ns = "http://www.example.org/family#"; final OWLOntology ont = loadOntology(OWLManager.createOWLOntologyManager(), _base + "family.owl"); final OpenlletReasoner reasoner = OpenlletReasonerFactory.getInstance().createReasoner(ont); try { testFamily(ns, reasoner); reasoner.getKB().realize(); testFamily(ns, reasoner); } finally { reasoner.dispose(); } }
@Test public void testRuleEquality() { final ATermAppl r = term("r"); final ATermAppl i = term("i"); final ATermAppl j = term("j"); final AtomIObject x = new AtomIVariable("x"); final AtomIObject y = new AtomIVariable("y"); _kb.addIndividual(i); _kb.addIndividual(j); _kb.addObjectProperty(r); _kb.addSubClass(TOP, min(r, 1, TOP)); _kb.addSubClass(TOP, oneOf(i, j)); _kb.addRule(new Rule(Collections.singletonList(new DifferentIndividualsAtom(x, y)), Collections.singletonList(new IndividualPropertyAtom(r, x, y)))); _kb.realize(); assertTrue(_kb.isConsistent()); assertTrue(_kb.isDifferentFrom(i, j)); }
@Test public void test485() { final Properties oldOptions = OpenlletOptions.setOptions(PropertiesBuilder.singleton("DISABLE_EL_CLASSIFIER", "true")); try { classes(_A, _B, _C); objectProperties(_p, _q); individuals(_a, _b); _kb.addSubClass(_B, _A); _kb.addSubClass(_C, _A); _kb.addDomain(_p, _B); _kb.addDomain(_q, _A); _kb.addType(_a, _A); _kb.addType(_b, _B); _kb.realize(); assertEquals(SetUtils.create(_A, _B, TOP), IteratorUtils.toSet(new FlattenningIterator<>(_kb.getSuperClasses(some(_p, TOP))))); assertEquals(SetUtils.create(_A, TOP), IteratorUtils.toSet(new FlattenningIterator<>(_kb.getSuperClasses(some(_q, TOP))))); } finally { OpenlletOptions.setOptions(oldOptions); } }