public abstract class BasicVertexCentricQueryBuilder<Q extends BaseVertexQuery<Q>> extends BaseVertexCentricQueryBuilder<Q>
BaseVertexQuery
, optimizes the query and compiles the result into
a BaseVertexCentricQuery
which is then executed by one of the extending
classes.Modifier and Type | Class and Description |
---|---|
protected class |
BasicVertexCentricQueryBuilder.RelationConstructor |
protected static interface |
BasicVertexCentricQueryBuilder.ResultConstructor<Q> |
protected class |
BasicVertexCentricQueryBuilder.VertexConstructor |
protected class |
BasicVertexCentricQueryBuilder.VertexIdConstructor |
Modifier and Type | Field and Description |
---|---|
protected QueryProfiler |
profiler
The query profiler used to observe this query
|
protected StandardJanusGraphTx |
tx
Transaction in which this query is executed
|
adjacentVertex, constraints, dir, limit, orders, types
Constructor and Description |
---|
BasicVertexCentricQueryBuilder(StandardJanusGraphTx tx) |
protected final StandardJanusGraphTx tx
protected QueryProfiler profiler
public BasicVertexCentricQueryBuilder(StandardJanusGraphTx tx)
public JanusGraphVertex getVertex(Object vertexId)
getVertex
in class BaseVertexCentricQueryBuilder<Q extends BaseVertexQuery<Q>>
public Q noPartitionRestriction()
public Q profiler(QueryProfiler profiler)
profiler
- public Q system()
public Q queryOnlyLoaded()
public Q queryOnlyGivenVertex()
protected boolean hasAllCanonicalTypes()
public boolean hasQueryOnlyGivenVertex()
public boolean hasQueryOnlyLoaded()
protected static Iterable<JanusGraphVertex> edges2Vertices(Iterable<JanusGraphEdge> edges, JanusGraphVertex other)
protected VertexList edges2VertexIds(Iterable<JanusGraphEdge> edges, JanusGraphVertex other)
protected Iterable<JanusGraphRelation> executeImplicitKeyQuery(InternalVertex v)
BaseVertexCentricQueryBuilder.isImplicitKeyQuery(org.janusgraph.graphdb.internal.RelationCategory)
is true,
this method provides the result set for the query based on the evaluation of the ImplicitKey
.
Handling of implicit keys is completely distinct from "normal" query execution and handled extra for completeness reasons.
v
- protected List<InternalVertex> allRequiredRepresentatives(InternalVertex partitionedVertex)
protected final boolean isPartitionedVertex(InternalVertex vertex)
protected boolean useSimpleQueryProcessor(BaseVertexCentricQuery query, InternalVertex... vertices)
protected Iterable<JanusGraphRelation> executeRelations(InternalVertex vertex, BaseVertexCentricQuery baseQuery)
public Iterable<JanusGraphVertex> executeVertices(InternalVertex vertex, BaseVertexCentricQuery baseQuery)
public VertexList executeVertexIds(InternalVertex vertex, BaseVertexCentricQuery baseQuery)
protected VertexCentricQuery constructQuery(InternalVertex vertex, BaseVertexCentricQuery baseQuery)
VertexCentricQuery
for this query builder. The query construction and optimization
logic is taken from constructQuery(org.janusgraph.graphdb.internal.RelationCategory)
This method only adds the additional conditions that are based on the base vertex.vertex
- for which to construct this querybaseQuery
- as constructed by constructQuery(org.janusgraph.graphdb.internal.RelationCategory)
protected BaseVertexCentricQuery constructQuery(RelationCategory returnType)
protected BaseVertexCentricQuery constructQueryWithoutProfile(RelationCategory returnType)
Copyright © 2012–2023. All rights reserved.