Class RelationAdapter
java.lang.Object
com.semedy.reasoner.reasoning.monitor.RelationAdapter
- All Implemented Interfaces:
BaseRelation,Relation
- Direct Known Subclasses:
ReasoningMonitorRelation
Adapter to
BaseRelation. Throws UnsupportedOperationException when a method is called which is not part of the base relation.- Author:
- Juergen Angele
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbooleanaddTuple(int tupleaddress) add a tuple to the relationbooleanaddTuple(long[] tuple) add a tuple to the relationbooleanaddTuple(TupleBuffer terms) add a tuple to the relationbooleancheckSanity(String message, boolean shadow) check the sanity of a relationvoidclear()remove all tuplesvoidclose()Close the relation.booleancontainsTuple(int tuple) Is tuple contained in relation?booleancontainsTuple(long[] tuple) Is tuple contained in relation?booleancontainsTuple(TupleBuffer tuple) Is tuple contained in relation?createIndex(int[] indexedpositions) Get or create a simple (not sorted index) by the argument positions in indexed positions.createSortedIndex(int[] indexedpositions) ret or create a sorted index given by the argument positions in indexed positionsvoiddelete()remove all tuples and release filesvoiddeSelect()release ressources because relation is currently not usedelements()returns an enumerator for all tupleselements(long[] filter) returns an filteres enumerator for all tuplesvoidflush()Flush the relation.intgetArity()returns the arity of the relationget the caching infoget standard path for binary fileintgetDirectEncodedType(int i) get the type of the direct encoded argumentreturns the file name for the relationlong[]get the groundsreturns a unique identifier for the relationgetIndex(int[] indexedpositions) Get an index given by the argument positions in indexed positions (if it already exists).get an input buffer for relationintreturns the internal arity of tupleslonggetMaxValue(int argument) returns the maximal value at that argument positionlonggetMinValue(int argument) returns the minimal value at that argument positiongetName()get a unique name of the relationlonggetNumberOfDifferentValues(int argument) Returns the number of different values at the argument positions.longgetNumberOfDifferentValues(int argument, long v) Returns the number of values occurring at the argument positions
Used for statisticslonggetNumberOfMatchingTuples(int[] arguments, long[] values) returns the predicate symbol for the relationgetSortedIndex(int[] indexedpositions) Get a sorted index given by the argument positions in indexed positions (if it already exists).booleanmay relation contain duplicates?booleanbooleanisDirectEncoded(int i) are all values at argument i direct encodedbooleanisEmpty()Is the relation empty?long[]isOverwrittenByTuple(long[] buffer) returns the tuple which will be overwritten by tuple.booleanIs the relation persistent?booleanIs the relation temporary only?longlast modification timebooleanMight there be duplicates?long[]overwriteTuple(long[] buffer) Overwrite last argument of tuple.overwriteTuple(TupleBuffer buffer) Overwrite last argument of tuple.voidreadBinaryFromBackup(String filepath) read tuples from a binary backup filevoidreadTupleFile(String filepath) read tuples from a (compressed) binary filevoidregisterListener(RelationListener listener) register a listener for adding, removing, modifying tuplesvoidbooleanremoveTuple(int tupleaddress) remove a tuple from the relationbooleanremoveTuple(long[] buffer) remove a tuple from the relationbooleanremoveTuple(TupleBuffer buffer) remove a tuple from the relationvoidselect()initialize it before using itlongsize()returns the number of tuples in relationlongreturn number of bytes used in main memory.voidvoidbegin transactionvoidcommit last changesvoidrbort last changesvoidadd all tuples of R to thisvoidvoidwriteBinary(String filepath) write tuples to a binary filevoidwriteBinaryToBackup(String filepath) write tuples to a binary backup filevoidwriteBinaryWithGrounds(String filepath) write complete tuples to a binary file
-
Constructor Details
-
RelationAdapter
-
-
Method Details
-
sizeInBytes
public long sizeInBytes()return number of bytes used in main memory. Used for cache management- Specified by:
sizeInBytesin interfaceBaseRelation- Returns:
- approximate number of size in bytes
-
getArity
public int getArity()Description copied from interface:BaseRelationreturns the arity of the relation- Specified by:
getArityin interfaceBaseRelation- Returns:
- arity of relation
-
elements
Description copied from interface:BaseRelationreturns an enumerator for all tuples- Specified by:
elementsin interfaceBaseRelation- Returns:
- returns enumerator for tuples
- Throws:
IOExceptionEDBException
-
size
Description copied from interface:BaseRelationreturns the number of tuples in relation- Specified by:
sizein interfaceBaseRelation- Returns:
- number of tuples in relation
- Throws:
IOExceptionEDBException
-
createSortedIndex
Description copied from interface:BaseRelationret or create a sorted index given by the argument positions in indexed positions- Specified by:
createSortedIndexin interfaceBaseRelation- Returns:
- Throws:
IOExceptionEDBException
-
getSortedIndex
Description copied from interface:BaseRelationGet a sorted index given by the argument positions in indexed positions (if it already exists).
Returns null if it does not exist.- Specified by:
getSortedIndexin interfaceBaseRelation- Parameters:
indexedpositions- the indexed positions- Returns:
- the corresponding index or
nullif none is available
-
createIndex
Description copied from interface:BaseRelationGet or create a simple (not sorted index) by the argument positions in indexed positions.- Specified by:
createIndexin interfaceBaseRelation- Parameters:
indexedpositions- , positions which are indexed- Returns:
- index
- Throws:
IOExceptionEDBException
-
getIndex
Description copied from interface:BaseRelationGet an index given by the argument positions in indexed positions (if it already exists).
Returns null if it does not exist.- Specified by:
getIndexin interfaceBaseRelation- Parameters:
indexedpositions- the indexed positions- Returns:
- the corresponding index or
nullif none is available
-
getIdentifier
Description copied from interface:BaseRelationreturns a unique identifier for the relation- Specified by:
getIdentifierin interfaceBaseRelation- Returns:
- unique identifier for relation
-
clear
Description copied from interface:BaseRelationremove all tuples- Specified by:
clearin interfaceBaseRelation- Throws:
IOExceptionEDBException
-
isEmpty
Description copied from interface:BaseRelationIs the relation empty?- Specified by:
isEmptyin interfaceBaseRelation- Returns:
- relation is empty
- Throws:
IOException
-
isPersistent
public boolean isPersistent()Description copied from interface:BaseRelationIs the relation persistent?- Specified by:
isPersistentin interfaceBaseRelation- Returns:
- is the relation persistent
-
close
Description copied from interface:BaseRelationClose the relation. Must be called to finalize the relation correctly- Specified by:
closein interfaceBaseRelation- Throws:
IOExceptionEDBException
-
getCacheInfo
Description copied from interface:BaseRelationget the caching info- Specified by:
getCacheInfoin interfaceBaseRelation- Returns:
- object containing caching info
-
addTuple
Description copied from interface:BaseRelationadd a tuple to the relation- Specified by:
addTuplein interfaceBaseRelation- Parameters:
terms- the tuple to add- Returns:
- tuple has been added
- Throws:
IOExceptionEDBException
-
addTuple
Description copied from interface:BaseRelationadd a tuple to the relation- Specified by:
addTuplein interfaceBaseRelation- Parameters:
tuple- the tuple to add- Returns:
- tuple has been added
- Throws:
IOExceptionEDBException
-
removeTuple
Description copied from interface:BaseRelationremove a tuple from the relation- Specified by:
removeTuplein interfaceBaseRelation- Parameters:
tupleaddress- , address of tuple in tuple store- Returns:
- true, if tuple has been removed
- Throws:
IOExceptionEDBException
-
removeTuple
Description copied from interface:BaseRelationremove a tuple from the relation- Specified by:
removeTuplein interfaceBaseRelation- Parameters:
buffer- , tuple to be removed- Returns:
- true, if tuple has been removed
- Throws:
IOExceptionEDBException
-
overwriteTuple
Description copied from interface:BaseRelationOverwrite last argument of tuple.
First arguments are unique keys for tuple
Especially useful for triples [subject,predicate,object]
and object is changed- Specified by:
overwriteTuplein interfaceBaseRelation- Parameters:
buffer- , overwrite tuple- Returns:
- the overwritten tuple
- Throws:
IOExceptionEDBException
-
overwriteTuple
Description copied from interface:BaseRelationOverwrite last argument of tuple.
First arguments are unique keys for tuple
Especially useful for triples [subject,predicate,object]
and object is changed- Specified by:
overwriteTuplein interfaceBaseRelation- Parameters:
buffer- , overwrite tuple- Returns:
- the overwritten tuple
- Throws:
IOExceptionEDBException
-
isOverwrittenByTuple
Description copied from interface:BaseRelationreturns the tuple which will be overwritten by tuple.- Specified by:
isOverwrittenByTuplein interfaceBaseRelation- Returns:
- Throws:
IOExceptionEDBException
-
removeTuple
Description copied from interface:BaseRelationremove a tuple from the relation- Specified by:
removeTuplein interfaceBaseRelation- Parameters:
buffer- , tuple to be removed- Returns:
- true, if tuple has been removed
- Throws:
IOExceptionEDBException
-
getInputBuffer
Description copied from interface:BaseRelationget an input buffer for relation- Specified by:
getInputBufferin interfaceBaseRelation- Returns:
- a tuple store which serves as buffer for input tuples
-
addTuple
Description copied from interface:BaseRelationadd a tuple to the relation- Specified by:
addTuplein interfaceBaseRelation- Parameters:
tupleaddress- the tuple to add- Returns:
- tuple has been added
- Throws:
IOExceptionEDBException
-
unionRelation
-
subtractRelation
-
getNumberOfDifferentValues
Description copied from interface:RelationReturns the number of different values at the argument positions.
Used for statistics.- Specified by:
getNumberOfDifferentValuesin interfaceRelation- Parameters:
argument- , argument position- Returns:
- Throws:
IOException
-
getNumberOfDifferentValues
Description copied from interface:RelationReturns the number of values occurring at the argument positions
Used for statistics- Specified by:
getNumberOfDifferentValuesin interfaceRelation- Parameters:
argument- , argument positionv- , the concrete value- Returns:
- Throws:
IOException
-
getMinValue
Description copied from interface:BaseRelationreturns the minimal value at that argument position- Specified by:
getMinValuein interfaceBaseRelation- Parameters:
argument- , argument position @return, minimal value- Throws:
IOException
-
getMaxValue
Description copied from interface:BaseRelationreturns the maximal value at that argument position- Specified by:
getMaxValuein interfaceBaseRelation- Parameters:
argument- , argument position- Returns:
- max value at argument position
- Throws:
IOException
-
removeIndices
public void removeIndices() -
delete
Description copied from interface:Relationremove all tuples and release files- Specified by:
deletein interfaceRelation- Throws:
IOException
-
writeBinary
Description copied from interface:Relationwrite tuples to a binary file- Specified by:
writeBinaryin interfaceBaseRelation- Specified by:
writeBinaryin interfaceRelation- Throws:
IOException
-
readTupleFile
Description copied from interface:Relationread tuples from a (compressed) binary file- Specified by:
readTupleFilein interfaceBaseRelation- Specified by:
readTupleFilein interfaceRelation- Parameters:
filepath- , the file path to read from- Throws:
IOException
-
getDataFilePath
Description copied from interface:Relationget standard path for binary file- Specified by:
getDataFilePathin interfaceRelation- Returns:
-
select
Description copied from interface:Relationinitialize it before using it- Specified by:
selectin interfaceBaseRelation- Specified by:
selectin interfaceRelation- Throws:
IOException
-
deSelect
Description copied from interface:Relationrelease ressources because relation is currently not used- Specified by:
deSelectin interfaceRelation- Throws:
IOException
-
getPredicateSymbol
Description copied from interface:Relationreturns the predicate symbol for the relation- Specified by:
getPredicateSymbolin interfaceRelation- Returns:
-
getFilename
Description copied from interface:Relationreturns the file name for the relation- Specified by:
getFilenamein interfaceRelation- Returns:
-
transactionRollback
Description copied from interface:Relationrbort last changes- Specified by:
transactionRollbackin interfaceRelation- Throws:
IOException
-
transactionCommit
Description copied from interface:Relationcommit last changes- Specified by:
transactionCommitin interfaceRelation- Throws:
IOException
-
lastModificationTime
public long lastModificationTime()Description copied from interface:Relationlast modification time- Specified by:
lastModificationTimein interfaceBaseRelation- Specified by:
lastModificationTimein interfaceRelation- Returns:
- time of last modification
-
addSubRelation
-
mayContainDuplicates
public boolean mayContainDuplicates()Description copied from interface:BaseRelationMight there be duplicates?- Specified by:
mayContainDuplicatesin interfaceBaseRelation- Returns:
- , might there be duplicates in relation
-
getNumberOfMatchingTuples
public long getNumberOfMatchingTuples(int[] arguments, long[] values) throws IOException, EDBException - Throws:
IOExceptionEDBException
-
isDirectEncoded
public boolean isDirectEncoded(int i) Description copied from interface:BaseRelationare all values at argument i direct encoded- Specified by:
isDirectEncodedin interfaceBaseRelation- Parameters:
i- , argument index- Returns:
-
isTemporary
public boolean isTemporary()Description copied from interface:BaseRelationIs the relation temporary only?- Specified by:
isTemporaryin interfaceBaseRelation- Returns:
- is the relation persistent
-
containsTuple
Description copied from interface:BaseRelationIs tuple contained in relation?- Specified by:
containsTuplein interfaceBaseRelation- Parameters:
tuple- to be checked- Returns:
- tuple is contained
- Throws:
IOException
-
containsTuple
Description copied from interface:BaseRelationIs tuple contained in relation?- Specified by:
containsTuplein interfaceBaseRelation- Parameters:
tuple- to be checked- Returns:
- tuple is contained
- Throws:
IOException
-
flush
public void flush()Description copied from interface:BaseRelationFlush the relation. Must be called to finalize the relation correctly- Specified by:
flushin interfaceBaseRelation
-
hasIndices
public boolean hasIndices() -
checkSanity
Description copied from interface:Relationcheck the sanity of a relation- Specified by:
checkSanityin interfaceRelationshadow- , check in shadow tree- Throws:
IOException
-
registerListener
Description copied from interface:BaseRelationregister a listener for adding, removing, modifying tuples- Specified by:
registerListenerin interfaceBaseRelation
-
getGrounds
public long[] getGrounds()Description copied from interface:Relationget the grounds- Specified by:
getGroundsin interfaceRelation- Returns:
-
writeBinaryToBackup
Description copied from interface:Relationwrite tuples to a binary backup file- Specified by:
writeBinaryToBackupin interfaceRelation- Throws:
IOException
-
readBinaryFromBackup
Description copied from interface:Relationread tuples from a binary backup file- Specified by:
readBinaryFromBackupin interfaceRelation- Throws:
IOException
-
writeBinaryWithGrounds
Description copied from interface:Relationwrite complete tuples to a binary file- Specified by:
writeBinaryWithGroundsin interfaceRelation- Throws:
IOException
-
getName
Description copied from interface:Relationget a unique name of the relation -
union
Description copied from interface:BaseRelationadd all tuples of R to this- Specified by:
unionin interfaceBaseRelation- Throws:
IOException
-
containsTuple
Description copied from interface:BaseRelationIs tuple contained in relation?- Specified by:
containsTuplein interfaceBaseRelation- Parameters:
tuple- to be checked- Returns:
- tuple is contained
- Throws:
IOException
-
hasDuplicates
public boolean hasDuplicates()Description copied from interface:BaseRelationmay relation contain duplicates?- Specified by:
hasDuplicatesin interfaceBaseRelation- Returns:
-
transactionBegin
Description copied from interface:Relationbegin transaction- Specified by:
transactionBeginin interfaceRelation- Throws:
EDBExceptionIOException
-
getInternalArity
public int getInternalArity()Description copied from interface:BaseRelationreturns the internal arity of tuples- Specified by:
getInternalArityin interfaceBaseRelation- Returns:
-
elements
Description copied from interface:BaseRelationreturns an filteres enumerator for all tuples- Specified by:
elementsin interfaceBaseRelation- Returns:
- returns enumerator for tuples
- Throws:
IOExceptionEDBException
-
getDirectEncodedType
public int getDirectEncodedType(int i) Description copied from interface:BaseRelationget the type of the direct encoded argument- Specified by:
getDirectEncodedTypein interfaceBaseRelation- Returns:
-