public interface Vertex extends Element
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.
|
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
VertexProperty.Cardinality.single . |
<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
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 verte 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.single
.
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–2015 Apache Software Foundation. All rights reserved.