public void prepare(final boolean doConsistencyCheck) { if (isPrepared()) return; _logger.fine("Preparing PelletInfGraph..."); load(); _kb.prepare(); if (doConsistencyCheck) _kb.isConsistent(); _logger.fine("done."); super.prepare(); }
public void prepare(final boolean doConsistencyCheck) { if (isPrepared()) return; _logger.fine("Preparing PelletInfGraph..."); load(); _kb.prepare(); if (doConsistencyCheck) _kb.isConsistent(); _logger.fine("done."); super.prepare(); }
public void prepare(final boolean doConsistencyCheck) { if (isPrepared()) return; _logger.fine("Preparing PelletInfGraph..."); load(); _kb.prepare(); if (doConsistencyCheck) _kb.isConsistent(); _logger.fine("done."); super.prepare(); }
protected void reset() { _kb.prepare(); _classes = new ArrayList<>(_kb.getClasses()); _useCD = OpenlletOptions.USE_CD_CLASSIFICATION && !_kb.getTBox().unfold(ATermUtils.TOP).hasNext() && !_kb.getExpressivity().hasNominal(); init(); }
protected void reset() { _kb.prepare(); _classes = new ArrayList<>(_kb.getClasses()); _useCD = OpenlletOptions.USE_CD_CLASSIFICATION && !_kb.getTBox().unfold(ATermUtils.TOP).hasNext() && !_kb.getExpressivity().hasNominal(); init(); }
private Set<OWLAxiom> getReasonerExplanation(final OWLClassExpression unsatClass) { final OpenlletReasoner reasoner = getReasoner(); reasoner.getKB().prepare(); // satisfiable if there is an undefined entity boolean sat = !getDefinitionTracker().isDefined(unsatClass); if (!sat) sat = isSatisfiable(reasoner, unsatClass, true); else _logger.fine(() -> "Undefined entity in " + unsatClass); if (sat) return Collections.emptySet(); else { final Set<OWLAxiom> explanation = convertExplanation(reasoner.getKB().getExplanationSet()); _logger.fine(() -> "Explanation " + explanation); final Set<OWLAxiom> prunedExplanation = pruneExplanation(unsatClass, explanation, true); final int prunedAxiomCount = explanation.size() - prunedExplanation.size(); if (_logger.isLoggable(Level.FINE) && prunedAxiomCount > 0) { _logger.fine("Pruned " + prunedAxiomCount + " axioms from the explanation: " + SetUtils.difference(explanation, prunedExplanation)); _logger.fine("New explanation " + prunedExplanation); } return prunedExplanation; } }
private Set<OWLAxiom> getReasonerExplanation(final OWLClassExpression unsatClass) { final OpenlletReasoner reasoner = getReasoner(); reasoner.getKB().prepare(); // satisfiable if there is an undefined entity boolean sat = !getDefinitionTracker().isDefined(unsatClass); if (!sat) sat = isSatisfiable(reasoner, unsatClass, true); else _logger.fine(() -> "Undefined entity in " + unsatClass); if (sat) return Collections.emptySet(); else { final Set<OWLAxiom> explanation = convertExplanation(reasoner.getKB().getExplanationSet()); _logger.fine(() -> "Explanation " + explanation); final Set<OWLAxiom> prunedExplanation = pruneExplanation(unsatClass, explanation, true); final int prunedAxiomCount = explanation.size() - prunedExplanation.size(); if (_logger.isLoggable(Level.FINE) && prunedAxiomCount > 0) { _logger.fine("Pruned " + prunedAxiomCount + " axioms from the explanation: " + SetUtils.difference(explanation, prunedExplanation)); _logger.fine("New explanation " + prunedExplanation); } return prunedExplanation; } }
private Set<OWLAxiom> getReasonerExplanation(final OWLClassExpression unsatClass) { final OpenlletReasoner reasoner = getReasoner(); reasoner.getKB().prepare(); // satisfiable if there is an undefined entity boolean sat = !getDefinitionTracker().isDefined(unsatClass); if (!sat) sat = isSatisfiable(reasoner, unsatClass, true); else _logger.fine(() -> "Undefined entity in " + unsatClass); if (sat) return Collections.emptySet(); else { final Set<OWLAxiom> explanation = convertExplanation(reasoner.getKB().getExplanationSet()); _logger.fine(() -> "Explanation " + explanation); final Set<OWLAxiom> prunedExplanation = pruneExplanation(unsatClass, explanation, true); final int prunedAxiomCount = explanation.size() - prunedExplanation.size(); if (_logger.isLoggable(Level.FINE) && prunedAxiomCount > 0) { _logger.fine("Pruned " + prunedAxiomCount + " axioms from the explanation: " + SetUtils.difference(explanation, prunedExplanation)); _logger.fine("New explanation " + prunedExplanation); } return prunedExplanation; } }
System.out.print("preparing..."); _kb.prepare();
@Test public void testInvalidTransitivity2() { final OWLOntology ont = loadOntology(OWLManager.createOWLOntologyManager(), _base + "invalidTransitivity.owl"); final OpenlletReasoner reasoner = OpenlletReasonerFactory.getInstance().createReasoner(ont); final KnowledgeBase kb = reasoner.getKB(); kb.prepare(); for (final Role r : kb.getRBox().getRoles().values()) if (!ATermUtils.isBuiltinProperty(r.getName())) { assertTrue(r.toString(), r.isSimple()); assertFalse(r.toString(), r.isTransitive()); } for (final ATermAppl p : kb.getObjectProperties()) if (!ATermUtils.isBuiltinProperty(p)) assertFalse(p.toString(), kb.isTransitiveProperty(p)); }
@Test public void testClassificationStatus1EL() { // Same as testClassificationStatus1 but with EL // classifier final KnowledgeBase kb = new KnowledgeBaseImpl(); final ATermAppl C = term("C"); final ATermAppl D = term("D"); final ATermAppl E = term("E"); kb.addClass(C); kb.addClass(D); kb.addClass(E); kb.addSubClass(C, D); assertFalse(kb.isClassified()); assertFalse(kb.isRealized()); kb.getToldTaxonomy(); kb.addIndividual(term("a")); kb.prepare(); assertFalse(kb.isClassified()); assertFalse(kb.isRealized()); }
@Test public void testClassificationStatus1() { // Related to ticket #193 final KnowledgeBase kb = new KnowledgeBaseImpl(); final ATermAppl C = term("C"); final ATermAppl D = term("D"); final ATermAppl E = term("E"); kb.addClass(C); kb.addClass(D); kb.addClass(E); kb.addSubClass(C, D); // force expressivity out of EL kb.addSubClass(E, or(C, D)); assertFalse(kb.isClassified()); assertFalse(kb.isRealized()); kb.getToldTaxonomy(); kb.addIndividual(term("a")); kb.prepare(); assertFalse(kb.isClassified()); assertFalse(kb.isRealized()); }
kb.addPropertyValue(r, c, d); kb.prepare();
kb.addPropertyValue(r, c, d); kb.prepare();
kb.addPropertyValue(r, c, d); kb.prepare();
kb.addPropertyValue(r, c, d); kb.prepare();
kb.addPropertyValue(r, c, d); kb.prepare();
_kb.addPropertyValue(_knows, _mary, _john); _kb.prepare();