public interface OLAPQueryBuilder<S,M,Q extends OLAPQueryBuilder<S,M,Q>> extends BaseVertexQuery<Q>
TitanElement.getProperty(String)
in the OLAPJob.
This query builder, just like BaseVertexQuery, allows the specification of the edges and properties to be received.
However, unlike an OLTP query, the edges are not returned individually but aggregated into one state using the Gather
and Combiner functions specified in edges(Gather, Combiner) and properties(com.google.common.base.Function, Combiner),
respectively.
That state, is then accessible as a property on the central vertex. The key to access that property is the name defined
in the setName(String) method. If no name is explicitly set, the name of the edge label or property key is used
if only one such type is specified - otherwise a missing name exception is thrown.
In essence, this query defines a subset of each vertex's adjacency list along which to aggregate state information which
can include the adjacent vertex's state as well as any edge properties.
This query defines the vertex's adjacency sub-list and how to aggregate the state.TitanVertexQuery| Modifier and Type | Method and Description |
|---|---|
Q |
adjacent(TitanVertex vertex)
Restricts this query to only those edges that point to the given vertex.
|
Q |
direction(com.tinkerpop.blueprints.Direction d)
Query only for relations in the given direction.
|
OLAPJobBuilder<S> |
edges(Combiner<S> combiner)
Identical to
edges(Gather, Combiner) using the default gather function which simply returns the adjacent
vertex's state. |
<M> OLAPJobBuilder<S> |
edges(Gather<S,M> gather,
Combiner<M> combiner)
Defines an adjacency aggregate over the edges identified by this query.
|
Q |
has(EdgeLabel label,
TitanVertex vertex)
Query only for edges or properties that have a unidirected edge pointing to the given vertex
It is expected that this label is unidirected (
EdgeLabel.isUnidirected()
and the query is restricted to edges or properties having an incident unidirectional edge pointing to the given vertex. |
Q |
has(PropertyKey key,
Object value)
Query only for edges or properties that have an incident property matching the given value.
|
Q |
has(PropertyKey key,
com.tinkerpop.blueprints.Predicate predicate,
Object value)
Query only for those edges or properties which have a property for the given key that satisfies the specified
predicate relationship to the provided value.
|
Q |
has(String key)
Query for edges or properties that have defined property with the given key
|
Q |
has(String type,
Object value)
Query only for edges or properties that have an incident property or unidirected edge matching the given value.
|
Q |
has(String key,
com.tinkerpop.blueprints.Predicate predicate,
Object value)
Query only for those edges or properties which have a property for the given key that satisfies the specified
predicate relationship to the provided value.
|
Q |
hasNot(String key)
Query for edges or properties that DO NOT have a defined property with the given key
|
Q |
hasNot(String key,
Object value)
Identical to
BaseVertexQuery.has(String, Object) but negates the condition, i.e. |
<T extends Comparable<?>> |
interval(PropertyKey key,
T start,
T end)
Query for those edges or properties that have a property for the given key
whose values lies in the interval by [start,end).
|
<T extends Comparable<?>> |
interval(String key,
T start,
T end)
Query for those edges or properties that have a property for the given key
whose values lies in the interval by [start,end).
|
Q |
keys(String... keys)
Query for only those properties having one of the given property keys.
|
Q |
labels(String... labels)
Query for only those edges matching one of the given edge labels.
|
Q |
limit(int limit)
Sets the retrieval limit for this query.
|
Q |
orderBy(PropertyKey key,
Order order)
Orders the relation results of this query according
to their property for the given key in the given order (increasing/decreasing).
|
Q |
orderBy(String key,
Order order)
Orders the relation results of this query according
to their property for the given key in the given order (increasing/decreasing).
|
OLAPJobBuilder<S> |
properties()
Identical to
properties(com.google.common.base.Function, Combiner) using default gather and combiner functions. |
OLAPJobBuilder<S> |
properties(Combiner<Object> combiner)
Identical to
properties(com.google.common.base.Function, Combiner) using a default gather function which
simply returns the value of the property. |
<M> OLAPJobBuilder<S> |
properties(com.google.common.base.Function<TitanProperty,M> gather,
Combiner<M> combiner)
Defines an adjacency aggregate over the properties identified by this query.
|
Q |
setName(String name)
Set's the name for this query.
|
Q |
types(RelationType... type)
Query for only those relations matching one of the given relation types.
|
describeForEdges, describeForPropertiesQ setName(String name)
OLAPJob using this name as the key. Hence, it should be ensured that this name is unique and does not conflict
with the names of any types defined in the graph.
A name must always be specified, unless this query retrieves only one type in which case the name of that type will
be used by default unless explicitly overwritten with this method.name - Name for this query<M> OLAPJobBuilder<S> edges(Gather<S,M> gather, Combiner<M> combiner)
M - gather - Function used to gather the edges and adjacent statescombiner - Function used to combine the gathered statesOLAPJobBuilder<S> edges(Combiner<S> combiner)
edges(Gather, Combiner) using the default gather function which simply returns the adjacent
vertex's state.combiner - Combiner method for combining gathered messages<M> OLAPJobBuilder<S> properties(com.google.common.base.Function<TitanProperty,M> gather, Combiner<M> combiner)
M - gather - Function used to gather the propertiescombiner - Function used to combine the gathered statesOLAPJobBuilder<S> properties(Combiner<Object> combiner)
properties(com.google.common.base.Function, Combiner) using a default gather function which
simply returns the value of the property.combiner - Combiner method for combining the values of all adjacent properties.OLAPJobBuilder<S> properties()
properties(com.google.common.base.Function, Combiner) using default gather and combiner functions.
The gather function retrieves the values of the adjacent properties.
If this query only specifies one single-valued property key, the combiner function just returns that one value.
If multiple values are possible, the combiner function aggregates those values into one list.Q adjacent(TitanVertex vertex)
BaseVertexQueryadjacent in interface BaseVertexQuery<Q extends OLAPQueryBuilder<S,M,Q>>Q types(RelationType... type)
BaseVertexQuerytypes in interface BaseVertexQuery<Q extends OLAPQueryBuilder<S,M,Q>>type - relation types to query forQ labels(String... labels)
BaseVertexQuerylabels in interface BaseVertexQuery<Q extends OLAPQueryBuilder<S,M,Q>>labels - edge labels to query forQ keys(String... keys)
BaseVertexQuerykeys in interface BaseVertexQuery<Q extends OLAPQueryBuilder<S,M,Q>>keys - property keys to query forQ direction(com.tinkerpop.blueprints.Direction d)
BaseVertexQuerydirection in interface BaseVertexQuery<Q extends OLAPQueryBuilder<S,M,Q>>d - Direction to query forQ has(PropertyKey key, Object value)
BaseVertexQueryhas in interface BaseVertexQuery<Q extends OLAPQueryBuilder<S,M,Q>>key - keyvalue - Value for the property of the given key to matchQ has(EdgeLabel label, TitanVertex vertex)
BaseVertexQueryEdgeLabel.isUnidirected()
and the query is restricted to edges or properties having an incident unidirectional edge pointing to the given vertex.has in interface BaseVertexQuery<Q extends OLAPQueryBuilder<S,M,Q>>label - Labelvertex - Vertex to point unidirectional edge toQ has(String key)
BaseVertexQueryhas in interface BaseVertexQuery<Q extends OLAPQueryBuilder<S,M,Q>>Q hasNot(String key)
BaseVertexQueryhasNot in interface BaseVertexQuery<Q extends OLAPQueryBuilder<S,M,Q>>Q has(String type, Object value)
BaseVertexQueryEdgeLabel.isUnidirected()
and the query is restricted to edges or properties having an incident unidirectional edge pointing to the value which is
expected to be a TitanVertex.has in interface BaseVertexQuery<Q extends OLAPQueryBuilder<S,M,Q>>type - TitanType namevalue - Value for the property of the given key to match, or vertex to point unidirectional edge toQ hasNot(String key, Object value)
BaseVertexQueryBaseVertexQuery.has(String, Object) but negates the condition, i.e. matches those edges or properties
that DO NOT satisfy this property condition.hasNot in interface BaseVertexQuery<Q extends OLAPQueryBuilder<S,M,Q>>Q has(PropertyKey key, com.tinkerpop.blueprints.Predicate predicate, Object value)
BaseVertexQueryhas in interface BaseVertexQuery<Q extends OLAPQueryBuilder<S,M,Q>>key - property keypredicate - boolean relationship to satisfy with the given valuevalue - valueQ has(String key, com.tinkerpop.blueprints.Predicate predicate, Object value)
BaseVertexQueryhas in interface BaseVertexQuery<Q extends OLAPQueryBuilder<S,M,Q>>key - property keypredicate - boolean relationship to satisfy with the given valuevalue - value<T extends Comparable<?>> Q interval(String key, T start, T end)
BaseVertexQueryinterval in interface BaseVertexQuery<Q extends OLAPQueryBuilder<S,M,Q>>key - property keystart - value defining the start of the interval (inclusive)end - value defining the end of the interval (exclusive)<T extends Comparable<?>> Q interval(PropertyKey key, T start, T end)
BaseVertexQueryinterval in interface BaseVertexQuery<Q extends OLAPQueryBuilder<S,M,Q>>key - property keystart - value defining the start of the interval (inclusive)end - value defining the end of the interval (exclusive)Q limit(int limit)
BaseVertexQuerylimit in interface BaseVertexQuery<Q extends OLAPQueryBuilder<S,M,Q>>limit - maximum number of relations to retrieve for this queryQ orderBy(String key, Order order)
BaseVertexQueryorderBy in interface BaseVertexQuery<Q extends OLAPQueryBuilder<S,M,Q>>key - The key of the properties on which to orderorder - the ordering directionQ orderBy(PropertyKey key, Order order)
BaseVertexQueryorderBy in interface BaseVertexQuery<Q extends OLAPQueryBuilder<S,M,Q>>key - The key of the properties on which to orderorder - the ordering directionCopyright © 2012–2014. All rights reserved.