public interface BaseVertexQuery<Q extends BaseVertexQuery<Q>>
A VertexQuery has some JanusGraph specific convenience methods for querying for incident edges or properties. Using VertexQuery proceeds in two steps: 1) Define the query by specifying what to retrieve and 2) execute the query for the elements to retrieve.
This is the base interface for the specific implementations of a VertexQuery. Calling JanusGraphVertex.query()
returns a JanusGraphVertexQuery
for querying a single vertex.
Calling Transaction.multiQuery(java.util.Collection)
returns a JanusGraphMultiVertexQuery
to execute
the same query against multiple vertices at the same time which is typically faster.
JanusGraphVertexQuery
,
JanusGraphMultiVertexQuery
Modifier and Type | Method and Description |
---|---|
Q |
adjacent(org.apache.tinkerpop.gremlin.structure.Vertex vertex)
Restricts this query to only those edges that point to the given vertex.
|
Q |
direction(org.apache.tinkerpop.gremlin.structure.Direction d)
Query only for relations in the given direction.
|
Q |
has(String key)
Query for edges or properties that have defined property with the given key
|
Q |
has(String key,
JanusGraphPredicate predicate,
Object value) |
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 |
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
has(String, Object) but negates the condition, i.e. |
<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(String key,
org.apache.tinkerpop.gremlin.process.traversal.Order order)
Orders the relation results of this query according
to their property for the given key in the given order (increasing/decreasing).
|
Q |
types(RelationType... type)
Query for only those relations matching one of the given relation types.
|
Q |
types(String... type)
Query for only those relations matching one of the given relation types.
|
Q adjacent(org.apache.tinkerpop.gremlin.structure.Vertex vertex)
vertex
- Q types(String... type)
type
- relation types to query forQ types(RelationType... type)
type
- relation types to query forQ labels(String... labels)
labels
- edge labels to query forQ keys(String... keys)
keys
- property keys to query forQ direction(org.apache.tinkerpop.gremlin.structure.Direction d)
d
- Direction to query forQ has(String type, Object value)
If type is a property key, then the query is restricted to edges or properties having an incident property matching
this key-value pair.
If type is an edge label, then 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 value which is
expected to be a JanusGraphVertex
.
type
- JanusGraphType namevalue
- Value for the property of the given key to match, or vertex to point unidirectional edge toQ has(String key)
key
- Q hasNot(String key)
key
- Q hasNot(String key, Object value)
has(String, Object)
but negates the condition, i.e. matches those edges or properties
that DO NOT satisfy this property condition.key
- value
- Q has(String key, JanusGraphPredicate predicate, Object value)
<T extends Comparable<?>> Q interval(String key, T start, T end)
key
- property keystart
- value defining the start of the interval (inclusive)end
- value defining the end of the interval (exclusive)Q limit(int limit)
When setting a limit, executing this query will only retrieve the specified number of relations. Note, that this also applies to counts.
limit
- maximum number of relations to retrieve for this queryQ orderBy(String key, org.apache.tinkerpop.gremlin.process.traversal.Order order)
Note, that the ordering always applies to the incident relations (edges/properties) and NOT to the adjacent vertices even if only vertices are being returned.
key
- The key of the properties on which to orderorder
- the ordering directionCopyright © 2012–2024. All rights reserved.