org.semanticweb.elk.reasoner.taxonomy
Class ConcurrentClassTaxonomy.BottomClassNode

java.lang.Object
  extended by org.semanticweb.elk.reasoner.taxonomy.ConcurrentClassTaxonomy.BottomClassNode
All Implemented Interfaces:
Node<ElkClass>, TaxonomyNode<ElkClass>, UpdateableBottomNode<ElkClass>
Enclosing class:
ConcurrentClassTaxonomy

protected class ConcurrentClassTaxonomy.BottomClassNode
extends Object
implements UpdateableBottomNode<ElkClass>

Special implementation for the bottom node in the taxonomy. Instead of storing its sub- and super-classes, the respective answers are computed or taken from the taxonomy object directly. This saves memory at the cost of some performance if somebody should wish to traverse an ontology bottom-up starting from this node.


Constructor Summary
protected ConcurrentClassTaxonomy.BottomClassNode()
           
 
Method Summary
 Set<TaxonomyNode<ElkClass>> getAllSubNodes()
          Computes an unmodifiable set of nodes for ElkObjects that are (possibly indirect) sub-objects of members of this Node.
 Set<org.semanticweb.elk.reasoner.taxonomy.NonBottomClassNode> getAllSuperNodes()
          Computes an unmodifiable set of nodes for ElkObjects that are (possibly indirect) super-objects of members of this Node.
 ElkClass getCanonicalMember()
          Get one object to canonically represent the classes in this Node.
 Set<TaxonomyNode<ElkClass>> getDirectSubNodes()
          Get an unmodifiable set of nodes for ElkObjects that are direct sub-objects of this Node.
 Set<org.semanticweb.elk.reasoner.taxonomy.NonBottomClassNode> getDirectSuperNodes()
          Get an unmodifiable set of nodes for ElkObjects that are direct super-objects of this Node.
 Set<? extends UpdateableTaxonomyNode<ElkClass>> getDirectUpdateableSuperNodes()
           
 Set<ElkClass> getMembers()
          Get an unmodifiable set of objects that this Node represents.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConcurrentClassTaxonomy.BottomClassNode

protected ConcurrentClassTaxonomy.BottomClassNode()
Method Detail

getMembers

public Set<ElkClass> getMembers()
Description copied from interface: Node
Get an unmodifiable set of objects that this Node represents. The membership in this set is checked using the structural equality.

Specified by:
getMembers in interface Node<ElkClass>
Returns:
collection of logically equivalent objects

getCanonicalMember

public ElkClass getCanonicalMember()
Description copied from interface: Node
Get one object to canonically represent the classes in this Node. It is guaranteed that the least object is the least one according to the ordering defined by PredefinedElkIri.compare(). TODO The above remark is a bit mysterious. Does the interface really make such guarantees?

Specified by:
getCanonicalMember in interface Node<ElkClass>
Returns:
canonical object

getDirectSuperNodes

public Set<org.semanticweb.elk.reasoner.taxonomy.NonBottomClassNode> getDirectSuperNodes()
Description copied from interface: TaxonomyNode
Get an unmodifiable set of nodes for ElkObjects that are direct super-objects of this Node.

Specified by:
getDirectSuperNodes in interface TaxonomyNode<ElkClass>
Returns:
list of nodes for direct super-objects of this node's members

getAllSuperNodes

public Set<org.semanticweb.elk.reasoner.taxonomy.NonBottomClassNode> getAllSuperNodes()
Description copied from interface: TaxonomyNode
Computes an unmodifiable set of nodes for ElkObjects that are (possibly indirect) super-objects of members of this Node. This is the smallest set of nodes that contains all direct super-nodes of this node, and all direct super-nodes of every node in this set.

Specified by:
getAllSuperNodes in interface TaxonomyNode<ElkClass>
Returns:
set of nodes for sub-objects of this node's members

getDirectSubNodes

public Set<TaxonomyNode<ElkClass>> getDirectSubNodes()
Description copied from interface: TaxonomyNode
Get an unmodifiable set of nodes for ElkObjects that are direct sub-objects of this Node.

Specified by:
getDirectSubNodes in interface TaxonomyNode<ElkClass>
Returns:
list of nodes for direct sub-objects of this node's members

getAllSubNodes

public Set<TaxonomyNode<ElkClass>> getAllSubNodes()
Description copied from interface: TaxonomyNode
Computes an unmodifiable set of nodes for ElkObjects that are (possibly indirect) sub-objects of members of this Node. This is the smallest set of nodes that contains all direct sub-nodes of this node, and all direct sub-nodes of every node in this set.

Specified by:
getAllSubNodes in interface TaxonomyNode<ElkClass>
Returns:
set of nodes for sub-objects of this node's members

getDirectUpdateableSuperNodes

public Set<? extends UpdateableTaxonomyNode<ElkClass>> getDirectUpdateableSuperNodes()
Specified by:
getDirectUpdateableSuperNodes in interface UpdateableBottomNode<ElkClass>


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