public interface Vertex extends Element, Host
Vertex
maintains pointers to both a set of incoming and outgoing Edge
objects. The outgoing edges
are those edges for which the Vertex
is the tail. The incoming edges are those edges for which the
Vertex
is the head.
Diagrammatically:
---inEdges---> vertex ---outEdges--->.
Modifier and Type | Interface and Description |
---|---|
static class |
Vertex.Exceptions
Common exceptions to use with a vertex.
|
Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_LABEL
The default label to use for a vertex.
|
static Object[] |
EMPTY_ARGS |
Modifier and Type | Method and Description |
---|---|
Edge |
addEdge(String label,
Vertex inVertex,
Object... keyValues)
Add an outgoing edge to the vertex with provided label and edge properties as key/value pairs.
|
Iterator<Edge> |
edges(Direction direction,
String... edgeLabels)
Gets an
Iterator of incident edges. |
<V> Iterator<VertexProperty<V>> |
properties(String... propertyKeys)
Get an
Iterator of properties. |
default <V> VertexProperty<V> |
property(String key)
Get the
VertexProperty for the provided key. |
default <V> VertexProperty<V> |
property(String key,
V value)
Set the provided key to the provided value using
VertexProperty.Cardinality.single . |
default <V> VertexProperty<V> |
property(String key,
V value,
Object... keyValues)
Set the provided key to the provided value using default
VertexProperty.Cardinality for that key. |
<V> VertexProperty<V> |
property(VertexProperty.Cardinality cardinality,
String key,
V value,
Object... keyValues)
Create a new vertex property.
|
Iterator<Vertex> |
vertices(Direction direction,
String... edgeLabels)
Gets an
Iterator of adjacent vertices. |
static final String DEFAULT_LABEL
static final Object[] EMPTY_ARGS
Edge addEdge(String label, Vertex inVertex, Object... keyValues)
String
property keys and the even numbered arguments are the related property values.label
- The label of the edgeinVertex
- The vertex to receive an incoming edge from the current vertexkeyValues
- The key/value pairs to turn into edge propertiesdefault <V> VertexProperty<V> property(String key)
VertexProperty
for the provided key. If the property does not exist, return
VertexProperty.empty()
. If there are more than one vertex properties for the provided
key, then throw Vertex.Exceptions.multiplePropertiesExistForProvidedKey(java.lang.String)
.default <V> VertexProperty<V> property(String key, V value)
VertexProperty.Cardinality.single
.default <V> VertexProperty<V> property(String key, V value, Object... keyValues)
VertexProperty.Cardinality
for that key.
The default cardinality can be vendor defined and is usually tied to the graph schema.
The default implementation of this method determines the cardinality
graph().features().vertex().getCardinality(key)
. The provided key/values are the properties of the
newly created VertexProperty
. These key/values must be provided in an even number where the odd
numbered arguments are String
.V
- the type of the value of the vertex propertykey
- the key of the vertex propertyvalue
- The value of the vertex propertykeyValues
- the key/value pairs to turn into vertex property properties<V> VertexProperty<V> property(VertexProperty.Cardinality cardinality, String key, V value, Object... keyValues)
VertexProperty.Cardinality.single
, then set the key
to the value. If the cardinality is VertexProperty.Cardinality.list
, then add a new value to the key.
If the cardinality is VertexProperty.Cardinality.set
, then only add a new value if that value doesn't
already exist for the key. If the value already exists for the key, add the provided key value vertex property
properties to it.V
- the type of the value of the vertex propertycardinality
- the desired cardinality of the property keykey
- the key of the vertex propertyvalue
- The value of the vertex propertykeyValues
- the key/value pairs to turn into vertex property propertiesIterator<Edge> edges(Direction direction, String... edgeLabels)
Iterator
of incident edges.direction
- The incident direction of the edges to retrieve off this vertexedgeLabels
- The labels of the edges to retrieve. If no labels are provided, then get all edges.Iterator<Vertex> vertices(Direction direction, String... edgeLabels)
Iterator
of adjacent vertices.direction
- The adjacency direction of the vertices to retrieve off this vertexedgeLabels
- The labels of the edges associated with the vertices to retrieve. If no labels are provided,
then get all edges.<V> Iterator<VertexProperty<V>> properties(String... propertyKeys)
Iterator
of properties.properties
in interface Element
Copyright © 2013–2016 Apache Software Foundation. All rights reserved.