public void add(final T obj, final Bool isKnown) { if (isKnown.isTrue()) _knowns.add(obj); else if (isKnown.isUnknown()) _unknowns.add(obj); }
public void add(final T obj, final Bool isKnown) { if (isKnown.isTrue()) _knowns.add(obj); else if (isKnown.isUnknown()) _unknowns.add(obj); }
private Bool isCachedSat(final Individual x) { if (x.isRoot()) return Bool.UNKNOWN; final ATermAppl c = createConcept(x); final Bool sat = isCachedSat(c); if (sat.isUnknown()) { _logger.finest(() -> "??? Cache miss for " + c); _cachedNodes.put(x, c); } else if (!_cacheSafety.isPresent() || !_cacheSafety.get().isSafe(c, x)) { _logger.finer(() -> "*** Cache unsafe for " + c); return Bool.UNKNOWN; } else _logger.finer(() -> "*** Cache hit for " + c + " sat = " + sat); return sat; }
private Bool isCachedSat(final Individual x) { if (x.isRoot()) return Bool.UNKNOWN; final ATermAppl c = createConcept(x); final Bool sat = isCachedSat(c); if (sat.isUnknown()) { _logger.finest(() -> "??? Cache miss for " + c); _cachedNodes.put(x, c); } else if (!_cacheSafety.isPresent() || !_cacheSafety.get().isSafe(c, x)) { _logger.finer(() -> "*** Cache unsafe for " + c); return Bool.UNKNOWN; } else _logger.finer(() -> "*** Cache hit for " + c + " sat = " + sat); return sat; }
@Override public Bool checkNominalEdges(final KnowledgeBase kb, final CachedNode pNode, final CachedNode cNode) { Bool result = Bool.UNKNOWN; if (pNode.isComplete() && cNode.isComplete() && cNode.isIndependent()) { result = checkNominalEdges(kb, pNode, cNode, false); if (result.isUnknown()) result = checkNominalEdges(kb, pNode, cNode, true); } return result; }
@Override public Bool checkNominalEdges(final KnowledgeBase kb, final CachedNode pNode, final CachedNode cNode) { Bool result = Bool.UNKNOWN; if (pNode.isComplete() && cNode.isComplete() && cNode.isIndependent()) { result = checkNominalEdges(kb, pNode, cNode, false); if (result.isUnknown()) result = checkNominalEdges(kb, pNode, cNode, true); } return result; }
return true; else if (knownType.isUnknown()) unknowns.add(x);
return true; else if (knownType.isUnknown()) unknowns.add(x);
if (isKnownType.isTrue() || CHECK_CONCEPT_SAT && isKnownType.isUnknown() && randomGen.nextFloat() < UNKNOWN_PROB)
if (tripleSatisfied.isUnknown()) allTriplesSatisfied = Bool.UNKNOWN; else
if (tripleSatisfied.isUnknown()) allTriplesSatisfied = Bool.UNKNOWN; else
if (tripleSatisfied.isUnknown()) allTriplesSatisfied = Bool.UNKNOWN; else
knowns.add(x); else if (isType.isUnknown()) unknowns.add(x);
knowns.add(x); else if (isType.isUnknown()) unknowns.add(x);
private Bool isType(final CachedNode pNode, final ATermAppl c) { Bool isType = Bool.UNKNOWN; final boolean isPrimitive = _kb.getTBox().isPrimitive(c); if (isPrimitive && !pNode.isTop() && !pNode.isBottom() && pNode.isComplete()) { final DependencySet ds = pNode.getDepends().get(c); if (ds == null) return Bool.FALSE; else if (ds.isIndependent() && pNode.isIndependent()) return Bool.TRUE; } final ATermAppl notC = ATermUtils.negate(c); final CachedNode cached = getCached(notC); if (cached != null && cached.isComplete()) isType = _cache.isMergable(_kb, pNode, cached).not(); if (OpenlletOptions.CHECK_NOMINAL_EDGES && isType.isUnknown()) { final CachedNode cNode = getCached(c); if (cNode != null) isType = _cache.checkNominalEdges(_kb, pNode, cNode); } return isType; }
private Bool isType(final CachedNode pNode, final ATermAppl c) { Bool isType = Bool.UNKNOWN; final boolean isPrimitive = _kb.getTBox().isPrimitive(c); if (isPrimitive && !pNode.isTop() && !pNode.isBottom() && pNode.isComplete()) { final DependencySet ds = pNode.getDepends().get(c); if (ds == null) return Bool.FALSE; else if (ds.isIndependent() && pNode.isIndependent()) return Bool.TRUE; } final ATermAppl notC = ATermUtils.negate(c); final CachedNode cached = getCached(notC); if (cached != null && cached.isComplete()) isType = _cache.isMergable(_kb, pNode, cached).not(); if (OpenlletOptions.CHECK_NOMINAL_EDGES && isType.isUnknown()) { final CachedNode cNode = getCached(c); if (cNode != null) isType = _cache.checkNominalEdges(_kb, pNode, cNode); } return isType; }
isEquivalent = getTaxonomyBuilder().getTaxonomy().isEquivalent(normalC1, normalC2); if (isEquivalent.isUnknown()) isEquivalent = getABox().isKnownSubClassOf(normalC1, normalC2).and(getABox().isKnownSubClassOf(normalC2, normalC1));
isEquivalent = getTaxonomyBuilder().getTaxonomy().isEquivalent(normalC1, normalC2); if (isEquivalent.isUnknown()) isEquivalent = getABox().isKnownSubClassOf(normalC1, normalC2).and(getABox().isKnownSubClassOf(normalC2, normalC1));