public final class Graph
extends java.lang.Object
implements java.lang.AutoCloseable
| Modifier and Type | Field and Description |
|---|---|
protected java.util.concurrent.atomic.AtomicLong |
currentId |
protected java.util.Map<java.lang.String,EdgeFactory> |
edgeFactoryByLabel |
protected java.util.Optional<HeapUsageMonitor> |
heapUsageMonitor |
IndexManager |
indexManager |
protected NodeDeserializer |
nodeDeserializer |
protected java.util.Map<java.lang.String,NodeFactory> |
nodeFactoryByLabel |
protected NodesList |
nodes |
NodeSerializer |
nodeSerializer |
protected ReferenceManager |
referenceManager |
protected OdbStorage |
storage |
| Modifier and Type | Method and Description |
|---|---|
Node |
addNode(long id,
java.lang.String label,
java.lang.Object... keyValues) |
Node |
addNode(java.lang.String label,
java.lang.Object... keyValues) |
void |
close()
if the config.graphLocation is set, data in the graph is persisted to that location.
|
void |
copyTo(Graph destination)
Copies all nodes/edges into the given empty graph, preserving their ids and properties.
|
java.util.Iterator<Edge> |
E()
Iterator over all edges - alias for `edges`
|
int |
edgeCount()
calculates the number of edges in the graph
Note: this is an expensive operation, because edges are stored as part of the nodes
|
java.util.Iterator<Edge> |
edges()
Iterator over all edges
|
java.util.Iterator<Edge> |
edges(java.lang.String label)
Iterator over edges with given label
|
java.util.ArrayList<java.util.Map<java.lang.String,java.lang.String>> |
getAllLibraryVersions() |
OdbStorage |
getStorage() |
boolean |
isClosed() |
Node |
node(long id) |
int |
nodeCount() |
int |
nodeCount(java.lang.String label) |
java.util.Iterator<Node> |
nodes()
Iterator over all nodes
|
java.util.Iterator<Node> |
nodes(long... ids)
Iterator over nodes with provided ids
note: this behaves differently from the tinkerpop api, in that it returns no nodes if no ids are provided
|
java.util.Iterator<Node> |
nodes(java.util.function.Predicate<java.lang.String> labelPredicate) |
java.util.Iterator<Node> |
nodes(java.util.Set<java.lang.String> labels) |
java.util.Iterator<Node> |
nodes(java.lang.String... labels) |
java.util.Iterator<Node> |
nodes(java.lang.String label) |
static Graph |
open(Config configuration,
java.util.List<NodeFactory<?>> nodeFactories,
java.util.List<EdgeFactory<?>> edgeFactories) |
void |
persistLibraryVersion(java.lang.Class clazz) |
void |
persistLibraryVersion(java.lang.String name,
java.lang.String version) |
void |
remove(Node node) |
java.lang.String |
toString() |
java.util.Iterator<Node> |
V()
Iterator over all nodes - alias for `nodes`
|
java.util.Iterator<Node> |
V(long... ids)
Iterator over nodes with provided ids - alias for `nodes(ids...)`
note: does not return any nodes if no ids are provided
|
protected final java.util.concurrent.atomic.AtomicLong currentId
protected final NodesList nodes
public final IndexManager indexManager
protected final java.util.Map<java.lang.String,NodeFactory> nodeFactoryByLabel
protected final java.util.Map<java.lang.String,EdgeFactory> edgeFactoryByLabel
protected final OdbStorage storage
public final NodeSerializer nodeSerializer
protected final NodeDeserializer nodeDeserializer
protected final java.util.Optional<HeapUsageMonitor> heapUsageMonitor
protected final ReferenceManager referenceManager
public static Graph open(Config configuration, java.util.List<NodeFactory<?>> nodeFactories, java.util.List<EdgeFactory<?>> edgeFactories)
public Node addNode(java.lang.String label, java.lang.Object... keyValues)
public Node addNode(long id, java.lang.String label, java.lang.Object... keyValues)
public java.lang.String toString()
toString in class java.lang.Objectpublic void close()
close in interface java.lang.AutoCloseablepublic int nodeCount()
public int nodeCount(java.lang.String label)
public int edgeCount()
public java.util.Iterator<Edge> E()
public java.util.Iterator<Edge> edges()
public java.util.Iterator<Edge> edges(java.lang.String label)
public java.util.Iterator<Node> V()
public final java.util.Iterator<Node> nodes()
public java.util.Iterator<Node> V(long... ids)
public final Node node(long id)
public final java.util.Iterator<Node> nodes(long... ids)
public java.util.Iterator<Node> nodes(java.lang.String label)
public java.util.Iterator<Node> nodes(java.lang.String... labels)
public java.util.Iterator<Node> nodes(java.util.Set<java.lang.String> labels)
public java.util.Iterator<Node> nodes(java.util.function.Predicate<java.lang.String> labelPredicate)
public boolean isClosed()
public OdbStorage getStorage()
public void copyTo(Graph destination)
public void remove(Node node)
public void persistLibraryVersion(java.lang.Class clazz)
public void persistLibraryVersion(java.lang.String name,
java.lang.String version)
public java.util.ArrayList<java.util.Map<java.lang.String,java.lang.String>> getAllLibraryVersions()