Class CrossProductBaseRelation
java.lang.Object
com.semedy.reasoner.reasoning.processes.CrossProductBaseRelation
- All Implemented Interfaces:
BaseRelation
- Direct Known Subclasses:
OneToOneBaseRelation
This relations represents a cross product of other base relations
- Author:
- juergen
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
boolean
addTuple
(int tupleaddress) add a tuple to the relationboolean
addTuple
(long[] tuple) add a tuple to the relationboolean
addTuple
(TupleBuffer terms) add a tuple to the relationvoid
clear()
remove all tuplesvoid
close()
Close the relation.boolean
containsTuple
(int tupleaddress) Is tuple contained in relation?boolean
containsTuple
(long[] tuple) Is tuple contained in relation?boolean
containsTuple
(TupleBuffer terms) 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 positionselements()
returns an enumerator for all tupleselements
(long[] filter) returns an filteres enumerator for all tuplesvoid
flush()
Flush the relation.int
getArity()
returns the arity of the relationget the caching infoint
getDirectEncodedType
(int argument) get the type of the direct encoded argumentreturns 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 relationint
returns the internal arity of tupleslong
getMaxValue
(int argument) returns the maximal value at that argument positionlong
getMinValue
(int argument) returns the minimal value at that argument positionlong
getNumberOfDifferentValues
(int argument) getRelationAtArgument
(int argumentPosition) getSortedIndex
(int[] indexedpositions) Get a sorted index given by the argument positions in indexed positions (if it already exists).boolean
may relation contain duplicates?boolean
boolean
isDirectEncoded
(int argument) are all values at argument i direct encodedboolean
isEmpty()
Is the relation empty?long[]
isOverwrittenByTuple
(long[] buffer) returns the tuple which will be overwritten by tuple.boolean
Is the relation persistent?boolean
Is the relation temporary only?long
returns the time of last modificationboolean
Might there be duplicates?long[]
overwriteTuple
(long[] buffer) Overwrite last argument of tuple.overwriteTuple
(TupleBuffer buffer) Overwrite last argument of tuple.void
readTupleFile
(String filepath) read tuples from a file in binary formvoid
registerListener
(RelationListener listener) register a listener for adding, removing, modifying tuplesboolean
removeTuple
(int tupleaddress) remove a tuple from the relationboolean
removeTuple
(long[] buffer) remove a tuple from the relationboolean
removeTuple
(TupleBuffer buffer) remove a tuple from the relationvoid
select()
initializelong
size()
returns the number of tuples in relationlong
return number of bytes used in main memory.toString()
void
add all tuples of R to thisvoid
writeBinary
(String filepath) write tuples in binary form to file
-
Constructor Details
-
CrossProductBaseRelation
-
-
Method Details
-
getNumberOfDifferentValues
- Throws:
IOException
EDBException
-
union
Description copied from interface:BaseRelation
add all tuples of R to this- Specified by:
union
in interfaceBaseRelation
- Throws:
IOException
EDBException
-
getRelations
-
writeBinary
Description copied from interface:BaseRelation
write tuples in binary form to file- Specified by:
writeBinary
in interfaceBaseRelation
- Throws:
IOException
EDBException
-
readTupleFile
Description copied from interface:BaseRelation
read tuples from a file in binary form- Specified by:
readTupleFile
in interfaceBaseRelation
- Parameters:
filepath
- , the file path to read from- Throws:
IOException
-
sizeInBytes
public long sizeInBytes()return number of bytes used in main memory. Used for cache management- Specified by:
sizeInBytes
in interfaceBaseRelation
- Returns:
- approximate number of size in bytes
-
getArity
public int getArity()Description copied from interface:BaseRelation
returns the arity of the relation- Specified by:
getArity
in interfaceBaseRelation
- Returns:
- arity of relation
-
elements
Description copied from interface:BaseRelation
returns an enumerator for all tuples- Specified by:
elements
in interfaceBaseRelation
- Returns:
- returns enumerator for tuples
- Throws:
IOException
EDBException
-
elements
Description copied from interface:BaseRelation
returns an filteres enumerator for all tuples- Specified by:
elements
in interfaceBaseRelation
- Returns:
- returns enumerator for tuples
- Throws:
IOException
EDBException
-
size
Description copied from interface:BaseRelation
returns the number of tuples in relation- Specified by:
size
in interfaceBaseRelation
- Returns:
- number of tuples in relation
- Throws:
IOException
EDBException
-
createSortedIndex
Description copied from interface:BaseRelation
ret or create a sorted index given by the argument positions in indexed positions- Specified by:
createSortedIndex
in interfaceBaseRelation
- Returns:
- Throws:
IOException
EDBException
-
getSortedIndex
Description copied from interface:BaseRelation
Get a sorted index given by the argument positions in indexed positions (if it already exists).
Returns null if it does not exist.- Specified by:
getSortedIndex
in interfaceBaseRelation
- Parameters:
indexedpositions
- the indexed positions- Returns:
- the corresponding index or
null
if none is available
-
createIndex
Description copied from interface:BaseRelation
Get or create a simple (not sorted index) by the argument positions in indexed positions.- Specified by:
createIndex
in interfaceBaseRelation
- Parameters:
indexedPositions
- , positions which are indexed- Returns:
- index
- Throws:
IOException
EDBException
-
getIndex
Description copied from interface:BaseRelation
Get an index given by the argument positions in indexed positions (if it already exists).
Returns null if it does not exist.- Specified by:
getIndex
in interfaceBaseRelation
- Parameters:
indexedPositions
- the indexed positions- Returns:
- the corresponding index or
null
if none is available
-
getIdentifier
Description copied from interface:BaseRelation
returns a unique identifier for the relation- Specified by:
getIdentifier
in interfaceBaseRelation
- Returns:
- unique identifier for relation
-
clear
Description copied from interface:BaseRelation
remove all tuples- Specified by:
clear
in interfaceBaseRelation
- Throws:
IOException
-
isEmpty
Description copied from interface:BaseRelation
Is the relation empty?- Specified by:
isEmpty
in interfaceBaseRelation
- Returns:
- relation is empty
- Throws:
IOException
-
isPersistent
public boolean isPersistent()Description copied from interface:BaseRelation
Is the relation persistent?- Specified by:
isPersistent
in interfaceBaseRelation
- Returns:
- is the relation persistent
-
close
Description copied from interface:BaseRelation
Close the relation. Must be called to finalize the relation correctly- Specified by:
close
in interfaceBaseRelation
- Throws:
IOException
-
getCacheInfo
Description copied from interface:BaseRelation
get the caching info- Specified by:
getCacheInfo
in interfaceBaseRelation
- Returns:
- object containing caching info
-
addTuple
Description copied from interface:BaseRelation
add a tuple to the relation- Specified by:
addTuple
in interfaceBaseRelation
- Parameters:
terms
- the tuple to add- Returns:
- tuple has been added
- Throws:
IOException
-
addTuple
Description copied from interface:BaseRelation
add a tuple to the relation- Specified by:
addTuple
in interfaceBaseRelation
- Parameters:
tuple
- the tuple to add- Returns:
- tuple has been added
- Throws:
IOException
-
removeTuple
Description copied from interface:BaseRelation
remove a tuple from the relation- Specified by:
removeTuple
in interfaceBaseRelation
- Parameters:
tupleaddress
- , address of tuple in tuple store- Returns:
- true, if tuple has been removed
- Throws:
IOException
-
removeTuple
Description copied from interface:BaseRelation
remove a tuple from the relation- Specified by:
removeTuple
in interfaceBaseRelation
- Parameters:
buffer
- , tuple to be removed- Returns:
- true, if tuple has been removed
- Throws:
IOException
-
removeTuple
Description copied from interface:BaseRelation
remove a tuple from the relation- Specified by:
removeTuple
in interfaceBaseRelation
- Parameters:
buffer
- , tuple to be removed- Returns:
- true, if tuple has been removed
- Throws:
IOException
-
overwriteTuple
Description copied from interface:BaseRelation
Overwrite last argument of tuple.
First arguments are unique keys for tuple
Especially useful for triples [subject,predicate,object]
and object is changed- Specified by:
overwriteTuple
in interfaceBaseRelation
- Parameters:
buffer
- , overwrite tuple- Returns:
- the overwritten tuple
- Throws:
IOException
-
overwriteTuple
Description copied from interface:BaseRelation
Overwrite last argument of tuple.
First arguments are unique keys for tuple
Especially useful for triples [subject,predicate,object]
and object is changed- Specified by:
overwriteTuple
in interfaceBaseRelation
- Parameters:
buffer
- , overwrite tuple- Returns:
- the overwritten tuple
- Throws:
IOException
-
isOverwrittenByTuple
Description copied from interface:BaseRelation
returns the tuple which will be overwritten by tuple.- Specified by:
isOverwrittenByTuple
in interfaceBaseRelation
- Returns:
- Throws:
IOException
-
getInputBuffer
Description copied from interface:BaseRelation
get an input buffer for relation- Specified by:
getInputBuffer
in interfaceBaseRelation
- Returns:
- a tuple store which serves as buffer for input tuples
-
addTuple
Description copied from interface:BaseRelation
add a tuple to the relation- Specified by:
addTuple
in interfaceBaseRelation
- Parameters:
tupleaddress
- the tuple to add- Returns:
- tuple has been added
- Throws:
IOException
-
toString
-
getRelationAtArgument
-
containsTuple
Description copied from interface:BaseRelation
Is tuple contained in relation?- Specified by:
containsTuple
in interfaceBaseRelation
- Parameters:
terms
- to be checked- Returns:
- tuple is contained
-
containsTuple
public boolean containsTuple(long[] tuple) Description copied from interface:BaseRelation
Is tuple contained in relation?- Specified by:
containsTuple
in interfaceBaseRelation
- Parameters:
tuple
- to be checked- Returns:
- tuple is contained
-
containsTuple
public boolean containsTuple(int tupleaddress) Description copied from interface:BaseRelation
Is tuple contained in relation?- Specified by:
containsTuple
in interfaceBaseRelation
- Parameters:
tupleaddress
- to be checked- Returns:
- tuple is contained
-
getMinValue
Description copied from interface:BaseRelation
returns the minimal value at that argument position- Specified by:
getMinValue
in interfaceBaseRelation
- Parameters:
argument
- , argument position @return, minimal value- Throws:
IOException
EDBException
-
getMaxValue
Description copied from interface:BaseRelation
returns the maximal value at that argument position- Specified by:
getMaxValue
in interfaceBaseRelation
- Parameters:
argument
- , argument position- Returns:
- max value at argument position
- Throws:
IOException
EDBException
-
lastModificationTime
public long lastModificationTime()Description copied from interface:BaseRelation
returns the time of last modification- Specified by:
lastModificationTime
in interfaceBaseRelation
- Returns:
- time of last modification
-
addSubRelation
-
mayContainDuplicates
public boolean mayContainDuplicates()Description copied from interface:BaseRelation
Might there be duplicates?- Specified by:
mayContainDuplicates
in interfaceBaseRelation
- Returns:
- , might there be duplicates in relation
-
isDirectEncoded
public boolean isDirectEncoded(int argument) Description copied from interface:BaseRelation
are all values at argument i direct encoded- Specified by:
isDirectEncoded
in interfaceBaseRelation
- Parameters:
argument
- , argument index- Returns:
-
getDirectEncodedType
public int getDirectEncodedType(int argument) Description copied from interface:BaseRelation
get the type of the direct encoded argument- Specified by:
getDirectEncodedType
in interfaceBaseRelation
- Returns:
-
isTemporary
public boolean isTemporary()Description copied from interface:BaseRelation
Is the relation temporary only?- Specified by:
isTemporary
in interfaceBaseRelation
- Returns:
- is the relation persistent
-
flush
public void flush()Description copied from interface:BaseRelation
Flush the relation. Must be called to finalize the relation correctly- Specified by:
flush
in interfaceBaseRelation
-
hasIndices
public boolean hasIndices() -
registerListener
Description copied from interface:BaseRelation
register a listener for adding, removing, modifying tuples- Specified by:
registerListener
in interfaceBaseRelation
-
hasDuplicates
public boolean hasDuplicates()Description copied from interface:BaseRelation
may relation contain duplicates?- Specified by:
hasDuplicates
in interfaceBaseRelation
- Returns:
-
getInternalArity
public int getInternalArity()Description copied from interface:BaseRelation
returns the internal arity of tuples- Specified by:
getInternalArity
in interfaceBaseRelation
- Returns:
-
select
Description copied from interface:BaseRelation
initialize- Specified by:
select
in interfaceBaseRelation
- Throws:
EDBException
IOException
-