org.semanticweb.elk.reasoner.indexing.hierarchy
Class IndexedObjectCache

java.lang.Object
  extended by org.semanticweb.elk.reasoner.indexing.hierarchy.IndexedObjectCache
All Implemented Interfaces:
IndexedAxiomFilter, IndexedBinaryPropertyChainVisitor<IndexedBinaryPropertyChain>, IndexedClassExpressionFilter, IndexedClassVisitor<IndexedClass>, IndexedDataHasValueVisitor<IndexedDataHasValue>, IndexedDisjointnessAxiomVisitor<IndexedDisjointnessAxiom>, IndexedIndividualVisitor<IndexedIndividual>, IndexedObjectComplementOfVisitor<IndexedObjectComplementOf>, IndexedObjectFilter, IndexedObjectIntersectionOfVisitor<IndexedObjectIntersectionOf>, IndexedObjectPropertyVisitor<IndexedObjectProperty>, IndexedObjectSomeValuesFromVisitor<IndexedObjectSomeValuesFrom>, IndexedObjectUnionOfVisitor<IndexedObjectUnionOf>, IndexedPropertyChainFilter, IndexedSubClassOfAxiomVisitor<IndexedSubClassOfAxiom>

public class IndexedObjectCache
extends Object
implements IndexedObjectFilter

A cache of IndexedObjects in the ontology backed by a KeyEntryHashSet. It uses indexed KeyEntrys to compare object with respect to structural equality. Supports (non-recursive) addition, removal, and retrieval of single indexed objects. The recursion for indexing subobjects is in the IndexObjectConverter. Not all IndexedObjects are cached but only those whose uniqueness modulo structural equivalence is important for index updating to work correctly.

Author:
Frantisek Simancik, "Yevgeny Kazakov"

Field Summary
protected  KeyEntryHashSet<IndexedAxiom> indexedAxiomLookup
           
protected  int indexedClassCount
           
protected  KeyEntryHashSet<IndexedClassExpression> indexedClassExpressionLookup
           
protected  int indexedIndividualCount
           
protected  int indexedObjectPropertyCount
           
protected  KeyEntryHashSet<IndexedPropertyChain> indexedPropertyChainLookup
           
 
Constructor Summary
IndexedObjectCache()
           
 
Method Summary
 void clear()
           
 IndexObjectConverter getIndexObjectConverter()
           
 boolean isEmpty()
           
 long size()
           
 void subtract(IndexedObjectCache other)
          Remove all object of the given IndexedObjectCache from this IndexedObjectCache
 IndexedBinaryPropertyChain visit(IndexedBinaryPropertyChain element)
           
 IndexedClass visit(IndexedClass element)
           
 IndexedDataHasValue visit(IndexedDataHasValue element)
           
 IndexedDisjointnessAxiom visit(IndexedDisjointnessAxiom axiom)
           
 IndexedIndividual visit(IndexedIndividual element)
           
 IndexedObjectComplementOf visit(IndexedObjectComplementOf element)
           
 IndexedObjectIntersectionOf visit(IndexedObjectIntersectionOf element)
           
 IndexedObjectProperty visit(IndexedObjectProperty element)
           
 IndexedObjectSomeValuesFrom visit(IndexedObjectSomeValuesFrom element)
           
 IndexedObjectUnionOf visit(IndexedObjectUnionOf element)
           
 IndexedSubClassOfAxiom visit(IndexedSubClassOfAxiom axiom)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

indexedClassExpressionLookup

protected final KeyEntryHashSet<IndexedClassExpression> indexedClassExpressionLookup

indexedPropertyChainLookup

protected final KeyEntryHashSet<IndexedPropertyChain> indexedPropertyChainLookup

indexedAxiomLookup

protected final KeyEntryHashSet<IndexedAxiom> indexedAxiomLookup

indexedClassCount

protected int indexedClassCount

indexedIndividualCount

protected int indexedIndividualCount

indexedObjectPropertyCount

protected int indexedObjectPropertyCount
Constructor Detail

IndexedObjectCache

public IndexedObjectCache()
Method Detail

getIndexObjectConverter

public IndexObjectConverter getIndexObjectConverter()

clear

public void clear()

size

public long size()

isEmpty

public boolean isEmpty()

subtract

public void subtract(IndexedObjectCache other)
Remove all object of the given IndexedObjectCache from this IndexedObjectCache

Parameters:
other - the IndexedObjectCache whose stored object should be removed from this IndexedObjectCache

visit

public IndexedClass visit(IndexedClass element)
Specified by:
visit in interface IndexedClassVisitor<IndexedClass>

visit

public IndexedIndividual visit(IndexedIndividual element)
Specified by:
visit in interface IndexedIndividualVisitor<IndexedIndividual>

visit

public IndexedObjectComplementOf visit(IndexedObjectComplementOf element)
Specified by:
visit in interface IndexedObjectComplementOfVisitor<IndexedObjectComplementOf>

visit

public IndexedObjectIntersectionOf visit(IndexedObjectIntersectionOf element)
Specified by:
visit in interface IndexedObjectIntersectionOfVisitor<IndexedObjectIntersectionOf>

visit

public IndexedObjectSomeValuesFrom visit(IndexedObjectSomeValuesFrom element)
Specified by:
visit in interface IndexedObjectSomeValuesFromVisitor<IndexedObjectSomeValuesFrom>

visit

public IndexedObjectUnionOf visit(IndexedObjectUnionOf element)
Specified by:
visit in interface IndexedObjectUnionOfVisitor<IndexedObjectUnionOf>

visit

public IndexedDataHasValue visit(IndexedDataHasValue element)
Specified by:
visit in interface IndexedDataHasValueVisitor<IndexedDataHasValue>

visit

public IndexedObjectProperty visit(IndexedObjectProperty element)
Specified by:
visit in interface IndexedObjectPropertyVisitor<IndexedObjectProperty>

visit

public IndexedBinaryPropertyChain visit(IndexedBinaryPropertyChain element)
Specified by:
visit in interface IndexedBinaryPropertyChainVisitor<IndexedBinaryPropertyChain>

visit

public IndexedSubClassOfAxiom visit(IndexedSubClassOfAxiom axiom)
Specified by:
visit in interface IndexedSubClassOfAxiomVisitor<IndexedSubClassOfAxiom>

visit

public IndexedDisjointnessAxiom visit(IndexedDisjointnessAxiom axiom)
Specified by:
visit in interface IndexedDisjointnessAxiomVisitor<IndexedDisjointnessAxiom>


Copyright © 2011-2013 Department of Computer Science, University of Oxford. All Rights Reserved.