org.semanticweb.elk.reasoner.saturation.properties
Class SaturatedPropertyChain

java.lang.Object
  extended by org.semanticweb.elk.reasoner.saturation.properties.SaturatedPropertyChain

public class SaturatedPropertyChain
extends Object

This object is used for fast retrieval of property inclusions and compositions which are needed during saturation of class expressions.

Author:
Frantisek Simancik, "Yevgeny Kazakov"

Field Summary
static boolean ELIMINATE_IMPLIED_COMPOSITIONS
          If set to true, then compositions between each pair of R1 and R2 are reduced under role hierarchies.
static boolean REPLACE_CHAINS_BY_TOLD_SUPER_PROPERTIES
          If set to true, then binary property chains that do not occur on the right of another chain are skipped in the derivation and replaced directly by all their told super-properties.
 
Constructor Summary
SaturatedPropertyChain(IndexedPropertyChain ipc)
           
 
Method Summary
 void clear()
          Clear all derived information for this SaturatedPropertyChain
 SaturatedPropertyChain clone()
           
 void dumpDiff(SaturatedPropertyChain other, Writer writer)
          Prints differences with other SaturatedPropertyChain
 Multimap<IndexedPropertyChain,IndexedPropertyChain> getCompositionsByLeftSubProperty()
           
 Multimap<IndexedPropertyChain,IndexedPropertyChain> getCompositionsByRightSubProperty()
           
static SaturatedPropertyChain getCreate(IndexedPropertyChain ipc)
           
 Set<IndexedPropertyChain> getSubProperties()
           
 boolean isClear()
           
 boolean isDerivedReflexive()
           
static boolean isRelevant(IndexedPropertyChain ipc)
          Determines if the given IndexedPropertyChain can be produced in BackwardLinks or ForwardLinks.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

REPLACE_CHAINS_BY_TOLD_SUPER_PROPERTIES

public static final boolean REPLACE_CHAINS_BY_TOLD_SUPER_PROPERTIES
If set to true, then binary property chains that do not occur on the right of another chain are skipped in the derivation and replaced directly by all their told super-properties. For example, given an inclusion SubObjectPropertyOf(ObjectPropertyChain(R1 R2) R), the composition of R1 and R2 derives directly R skipping the auxiliary binary chain representing [R1 R2].

See Also:
Constant Field Values

ELIMINATE_IMPLIED_COMPOSITIONS

public static final boolean ELIMINATE_IMPLIED_COMPOSITIONS
If set to true, then compositions between each pair of R1 and R2 are reduced under role hierarchies. For example, given SubObjectPropertyOf(ObjectPropertyChain(R1 R2) S1), SubObjectPropertyOf(ObjectPropertyChain(R1 R2) S2), and SubObjectPropertyOf(S1 S2), the composition of R1 and R2 derives only S1 and not S2. Note that this only makes sense if REPLACE_CHAINS_BY_TOLD_SUPER_PROPERTIES is also on.

See Also:
Constant Field Values
Constructor Detail

SaturatedPropertyChain

public SaturatedPropertyChain(IndexedPropertyChain ipc)
Method Detail

clear

public void clear()
Clear all derived information for this SaturatedPropertyChain


isClear

public boolean isClear()
Returns:
true if there is no derived information in this SaturatedPropertyChain, that is, its state is the same as after applying {clear()

clone

public SaturatedPropertyChain clone()
Overrides:
clone in class Object

getSubProperties

public Set<IndexedPropertyChain> getSubProperties()
Returns:
All sub-properties R of root including root itself.

isDerivedReflexive

public boolean isDerivedReflexive()
Returns:
true if this property was derived to be reflexive.

getCompositionsByLeftSubProperty

public Multimap<IndexedPropertyChain,IndexedPropertyChain> getCompositionsByLeftSubProperty()
Returns:
A Multimap from R to S such that ObjectPropertyChain(R, root) implies S

getCompositionsByRightSubProperty

public Multimap<IndexedPropertyChain,IndexedPropertyChain> getCompositionsByRightSubProperty()
Returns:
A Multimap from R to S such that ObjectPropertyChain(root, R) implies S

getCreate

public static SaturatedPropertyChain getCreate(IndexedPropertyChain ipc)
Parameters:
ipc - the IndexedPropertyChain for which to retrieve the assigned SaturatedPropertyChain
Returns:
the SaturatedPropertyChain assigned to the given IndexedPropertyChain creating new assignment if necessary

isRelevant

public static boolean isRelevant(IndexedPropertyChain ipc)
Determines if the given IndexedPropertyChain can be produced in BackwardLinks or ForwardLinks.

Parameters:
ipc -
Returns:
true if it can

dumpDiff

public void dumpDiff(SaturatedPropertyChain other,
                     Writer writer)
              throws IOException
Prints differences with other SaturatedPropertyChain

Parameters:
other - the SaturatedPropertyChain with which to compare this SaturatedPropertyChain
Throws:
IOException


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