14.2.1.1.1 グラフバインド・コレクション

次に、グラフバインド・コレクションの使用方法について説明します。

グラフ・サーバー(PGX)へのグラフのロードに示すように、頂点コレクションおよびエッジ・コレクションを操作するには、最初にグラフをロードする必要があります。

頂点コレクション

次のコードに示すように、頂点コレクションを作成できます。


v0 = graph.getVertex(100) // 'graph' is the loaded graph object. '100' -> '103' are vertex ids that supposedly
v1 = graph.getVertex(101) // exist in the graph
v2 = graph.getVertex(102)
v3 = graph.getVertex(103)

myVertexSet = graph.createVertexSet("myVertexSet")  // A name is automatically generated if none given
myVertexSet.add(v0)                                 // Adds vertex 'v0' to the set
myVertexSet.addAll([v1, v2, v3])                    // Supports variadic parameter as well: myVertexSet.addAll(v1, v2, v3)
import java.util.Arrays;
import oracle.pgx.api.*;
...
PgxVertex v0 = graph.getVertex(100);
PgxVertex v1 = graph.getVertex(101);
PgxVertex v2 = graph.getVertex(102);
PgxVertex v3 = graph.getVertex(103);

VertexSet myVertexSet = graph.createVertexSet("myVertexSet");  // A name is automatically generated if none given
myVertexSet.add(v0);
myVertexSet.addAll(Arrays.asList(v1, v2, v3));

...
v0 = graph.get_vertex(100)
v1 = graph.get_vertex(101)
v2 = graph.get_vertex(102)
v3 = graph.get_vertex(103)

my_vertex_set = graph.create_vertex_set("myVertexSet") 
my_vertex_set.add(v0)
my_vertex_set.add_all([v1,v2,v3])

エッジ・コレクション

次のコードに示すように、エッジ・コレクションを作成できます。

e0 = graph.getEdge(100) // 'graph' is the loaded graph object. '100' -> '103' are edge ids that supposedly
e1 = graph.getEdge(101) // exist in the graph
e2 = graph.getEdge(102)
e3 = graph.getEdge(103)

myEdgeSequence = graph.createEdgeSequence("myEdgeSequence")
myEdgeSequence.add(e0)
myEdgeSequence.addAll([e1, e2, e3])
import java.util.Arrays;
import oracle.pgx.api.*;
...
PgxEdge e0 = graph.getEdge(100);
PgxEdge e1 = graph.getEdge(101);
PgxEdge e2 = graph.getEdge(102);
PgxEdge e3 = graph.getEdge(103);

EdgeSequence myEdgeSequence = graph.createEdgeSequence("myEdgeSequence");
myEdgeSequence.add(e0);
myEdgeSequence.addAll(Arrays.asList(e1, e2, e3));

e0 = graph.get_edge(100)
e1 = graph.get_edge(101)
e2 = graph.get_edge(102)
e3 = graph.get_edge(103)

my_edge_sequence = graph.create_edge_sequence("my_edge_sequence")
my_edge_sequence.add(e0)
my_edge_sequence.add_all([e1, e2, e3])