/** Return the number of triples in the inferred graph */
 @Override
 public int graphBaseSize() {
   checkOpen();
   if (!isPrepared) {
     prepare();
   }
   int baseSize = fdata.getGraph().size();
   int dedSize = fdeductions.getGraph().size();
   // System.err.println( ">> BasicForwardRuleInfGraph::size = " + baseSize + "(base) + " + dedSize
   // + "(deductions)" );
   return baseSize + dedSize;
 }
 /**
  * Internals of findWithContinuation implementation which allows control over functor filtering.
  */
 private ExtendedIterator<Triple> findWithContinuation(
     TriplePattern pattern, Finder continuation, boolean filter) {
   checkOpen();
   if (!isPrepared) prepare();
   ExtendedIterator<Triple> result = null;
   if (fdata == null) {
     result = fdeductions.findWithContinuation(pattern, continuation);
   } else {
     if (continuation == null) {
       result = fdata.findWithContinuation(pattern, fdeductions);
     } else {
       result = fdata.findWithContinuation(pattern, FinderUtil.cascade(fdeductions, continuation));
     }
   }
   if (filter && filterFunctors) {
     return result.filterDrop(Functor.acceptFilter);
   } else {
     return result;
   }
 }
 /**
  * Return the Graph containing all the static deductions available so far. Will force a prepare.
  */
 @Override
 public Graph getDeductionsGraph() {
   prepare();
   return safeDeductions;
 }