public class LexPredicate extends Predicate<BigdataValue>
lex(BigdataValue,IV)
predicate used for querying the LexiconRelation
's TERMS
index.Predicate.Annotations
DEFAULT_INITIAL_CAPACITY
Constructor and Description |
---|
LexPredicate(BOp[] args,
Map<String,Object> anns)
Required shallow copy constructor.
|
LexPredicate(BOp[] args,
NV... anns)
Variable argument version of the shallow copy constructor.
|
LexPredicate(LexPredicate op)
Constructor required for
com.bigdata.bop.BOpUtility#deepCopy(FilterNode) . |
Modifier and Type | Method and Description |
---|---|
LexPredicate |
asBound(IBindingSet bindingSet)
Strengthened return type.
|
LexPredicate |
clone()
Overridden to provide a fast path clone().
|
static LexPredicate |
forwardInstance(String relationName,
long timestamp,
IVariableOrConstant<BigdataValue> term,
IVariable<IV> var)
Simplified forward lookup ctor.
|
IVariableOrConstant<IV> |
iv()
Return the
IV at index position . |
static LexPredicate |
reverseInstance(String relationName,
long timestamp,
IVariable<BigdataValue> var,
IVariableOrConstant<IV> term)
Simplified reverse lookup ctor.
|
IVariableOrConstant<BigdataValue> |
term()
Return the
BigdataValue at index position
. |
_asBound, addAccessPathFilter, addIndexLocalFilter, asBound, asBound, checkArgs, clearAnnotations, get, get, getAccessPathExpander, getAccessPathFilter, getIndexLocalFilter, getKeyOrder, getOnlyRelationName, getPartitionId, getRelationCount, getRelationName, getTimestamp, getVariableCount, getVariableCount, isFullyBound, isOptional, isRemoteAccessPath, range, setArg, setBOpId, setPartitionId, setRelationName, setTimestamp, toString, toString
__replaceArg, _clearProperty, _set, _setProperty, annotations, annotationsCopy, annotationsEqual, annotationsRef, argIterator, args, argsCopy, arity, clearProperty, deepCopy, deepCopy, getProperty, setArg, setProperty, setUnboundProperty, toArray, toArray
annotationsEqual, annotationsToString, annotationsToString, annotationValueToString, equals, getEvaluationContext, getId, getProperty, getRequiredProperty, hashCode, indent, isController, mutation, shortenName, toShortString, toString
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
equals, hashCode
annotations, argIterator, args, arity, getEvaluationContext, getId, getProperty, getRequiredProperty, isController, setProperty, toArray, toArray, toShortString, toString
getProperty
public LexPredicate(BOp[] args, NV... anns)
public LexPredicate(BOp[] args, Map<String,Object> anns)
public LexPredicate(LexPredicate op)
com.bigdata.bop.BOpUtility#deepCopy(FilterNode)
.public static LexPredicate forwardInstance(String relationName, long timestamp, IVariableOrConstant<BigdataValue> term, IVariable<IV> var)
IV
from a BigdataValue
.relationName
- the namespace of the lexicon relationtimestamp
- The timestamp of the view to read on. This should be the same
as the timestamp associated with the view of the triple store
except for a full read/write transaction. Since all writes on
the lexicon are unisolated, a full read/write transaction must
use the ITx.UNISOLATED
view of the lexicon in order to
ensure that any writes it performs will be visible.var
- The variable on which the IV
will be bound when we
read on the access path.term
- the term to resolve using forward lookup (term2id)public static LexPredicate reverseInstance(String relationName, long timestamp, IVariable<BigdataValue> var, IVariableOrConstant<IV> term)
BigdataValue
from an IV
.relationName
- the namespace of the lexicon relationtimestamp
- The timestamp of the view to read on. This should be the same
as the timestamp associated with the view of the triple store
except for a full read/write transaction. Since all writes on
the lexicon are unisolated, a full read/write transaction must
use the ITx.UNISOLATED
view of the lexicon in order to
ensure that any writes it performs will be visible.var
- The
variable on which the Value
will be bound when we read
on the access path.term
- the term to resolve using reverse lookup (id2term)public LexPredicate clone()
Predicate
Predicate
instance. However, subclasses MUST override this method. This change was
introduced on 11/17/2011 when a profiler showed a 13% of all time related
to a join intensive process in CoreBaseBOp.clone()
using
reflection to make a copy of an Predicate.asBound(IBindingSet)
predicate.clone
in interface BOp
clone
in class Predicate<BigdataValue>
public final IVariableOrConstant<BigdataValue> term()
BigdataValue
at index position
.public final IVariableOrConstant<IV> iv()
IV
at index position .public LexPredicate asBound(IBindingSet bindingSet)
Fast path for as-bound.
This reuses the annotations map since we know that the annotations will
not be changed by Predicate.asBound(IBindingSet)
. That provides a
significant reduction in heap churn.
asBound
in interface IPredicate<BigdataValue>
asBound
in class Predicate<BigdataValue>
bindingSet
- The binding set.IPredicate
-or- null
if the
IPredicate
can not be unified with the
IBindingSet
.(RDR query does too much work)
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.