Package org.mindswap.pellet.tableau.cache

Examples of org.mindswap.pellet.tableau.cache.CachedNode


    sat = null;

    // try to find the satisfiability of an intersection by inspecting the elements inside the conjunction
    ATermList list = (ATermList) c.getArgument(0);
    CachedNode cached1 = null;
    CachedNode cached2 = null;
    for (; !list.isEmpty(); list = list.getNext()) {
      ATermAppl d = (ATermAppl) list.getFirst();
      CachedNode node = abox.getCached(d);

      if (node == null || !node.isComplete()) {
        // we don't have complete sat info about an element so give up
        sat = Bool.UNKNOWN;
        break;
      }
      else if (node.isBottom()) {
        // an element is unsat so the intersection is unsat
        sat = Bool.FALSE;
        break;
      }
      else if (node.isTop()) {
        // do nothing, intersection with TOP is redundant
      }
      else {
        if (cached1 == null)
          cached1 = node;
View Full Code Here


    }
  }

  public Bool isKnownSubClassOf(ATermAppl c1, ATermAppl c2) {
    Bool isSubClassOf = Bool.UNKNOWN;
    CachedNode cached = getCached( c1 );
    if( cached != null ) {
      isSubClassOf = isType( cached, c2 );
    }

    return isSubClassOf;
View Full Code Here

    if( log.isLoggable( Level.FINE ) ) {
          log.fine( "Satisfiability for " + ATermUtils.toString( c )  );
        }

    if( cacheModel ) {
      CachedNode cached = getCached( c );
      if( cached != null ) {
        boolean satisfiable = !cached.isBottom();
        boolean needToCacheModel = cacheModel && !cached.isComplete();
        if( log.isLoggable( Level.FINE ) ) {
                  log.fine( "Cached sat for " + ATermUtils.toString( c ) + " is " + satisfiable );
                }
        // if explanation is enabled we should actually build the
        // tableau again to generate the clash. we don't cache the
View Full Code Here

        return Bool.TRUE;
      }
    }
   
    ATermAppl notC = ATermUtils.negate( c );
    CachedNode cached = getCached( notC );
    if( cached != null && cached.isComplete() ) {
      isType = cache.isMergable( kb, pNode, cached ).not();
    }

    if( PelletOptions.CHECK_NOMINAL_EDGES && isType.isUnknown() ) {
      CachedNode cNode = getCached( c );
      if( cNode != null ) {
        isType = cache.checkNominalEdges( kb, pNode, cNode )
      }
    }
View Full Code Here

    }
  }

  public Bool isKnownSubClassOf(ATermAppl c1, ATermAppl c2) {
    Bool isSubClassOf = Bool.UNKNOWN;
    CachedNode cached = getCached( c1 );
    if( cached != null ) {
      isSubClassOf = isType( cached, c2 );
    }

    return isSubClassOf;
View Full Code Here

    if( log.isLoggable( Level.FINE ) ) {
          log.fine( "Satisfiability for " + ATermUtils.toString( c )  );
        }

    if( cacheModel ) {
      CachedNode cached = getCached( c );
      if( cached != null ) {
        boolean satisfiable = !cached.isBottom();
        boolean needToCacheModel = cacheModel && !cached.isComplete();
        if( log.isLoggable( Level.FINE ) ) {
                  log.fine( "Cached sat for " + ATermUtils.toString( c ) + " is " + satisfiable );
                }
        // if explanation is enabled we should actually build the
        // tableau again to generate the clash. we don't cache the
View Full Code Here

        return Bool.TRUE;
      }
    }
   
    ATermAppl notC = ATermUtils.negate( c );
    CachedNode cached = getCached( notC );
    if( cached != null && cached.isComplete() ) {
      isType = cache.isMergable( kb, pNode, cached ).not();
    }

    if( PelletOptions.CHECK_NOMINAL_EDGES && isType.isUnknown() ) {
      CachedNode cNode = getCached( c );
      if( cNode != null ) {
        isType = cache.checkNominalEdges( kb, pNode, cNode )
      }
    }
View Full Code Here

TOP

Related Classes of org.mindswap.pellet.tableau.cache.CachedNode

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.