26.7.2 コレクションおよびスカラーの管理
クライアントでは、PgxGraph
の次のメソッドを使用して、分析中に使用する、グラフにバインドされた頂点およびエッジ・コレクションを作成できます。
VertexSequence<E> createVertexSequence()
VertexSequence<E> createVertexSequence(String name)
VertexSet<E> createVertexSet()
VertexSet<E> createVertexSet(String name)
EdgeSequence createEdgeSequence()
EdgeSequence createEdgeSequence(String name)
EdgeSet createEdgeSet()
EdgeSet createEdgeSet(String name)
create_edge_sequence(self, name=None)
create_vertex_sequence(self, name=None)
create_edge_set(self, name=None)
create_edge_sequence(self, name=None)
PGXでは、set
やsequence
などのスカラー・コレクションもサポートされています。これらのコレクションはそれぞれ、INTEGER
、LONG
、FLOAT
、DOUBLE
、BOOLEAN
などの様々なプリミティブ・データ型の要素を保持できます。スカラー・コレクションはセッションにバインドされ、PgxSession
の次のメソッドを使用して作成できます。
ScalarSet<T> createSet(PropertyType contentType, String name)
ScalarSequence<T> createSequence(PropertyType contentType, String name)
ScalarSet<T> createSet(PropertyType contentType)
ScalarSequence<T> createSequence(PropertyType contentType)
前述のコードのオプションの引数(name
)では、新しく作成されるコレクションの名前を指定します。省略した場合は、クライアントのかわりにPGXによって名前が選択されます。プロパティと同様に、頂点を保持するコレクションは、頂点のID
タイプでパラメータ化されます。グラフの頂点IDタイプを指定する方法は、グラフ構成の章を参照してください。
戻り値は、新しく作成された空のコレクションを指すコレクション・オブジェクトです。
セッションからコレクションを削除するには、コレクション・オブジェクトでdestroy()
をコールします。
グラフに現在割り当てられているコレクションを確認するには、次のメソッドを使用できます。
Map<String, PgxCollection<? extends PgxEntity<?>, ?>> getCollections()
get_collections(self)
返されるマップには、コレクションの名前がキーとして含まれ、コレクションが値として含まれます。コレクションは、一致するコレクション・サブクラスにキャストできます。
PGXでは、特殊なMap
コレクション・タイプがサポートされており、ユーザーは異なるデータ型(oracle.pgx.common.types.PropertyType
)間でマップできます。マップは、PgxGraph
APIまたはPgxSession
APIを使用して作成できます。これらの違いは、後者では非グラフ関連の型のみがサポートされ、作成されたマップはセッションに直接依存することです。
PgxMap<K, V> createMap(PropertyType keyType, PropertyType valType)
PgxMap<K, V> createMap(PropertyType keyType, PropertyType valType, String mapName)
同様に、次のメソッドを使用して、クライアント・セッションでスカラー変数を作成できます。
Scalar<T> createScalar(PropertyType type, String newScalarName)
Scalar<T> createScalar(PropertyType type)
create_scalar(self,data_type,name=None)
これらのコレクションおよびスカラー変数はその後、グラフ・アルゴリズムに引数として渡すことができます。詳細は、カスタムPGXグラフ・アルゴリズムの使用を参照してください。
親トピック: 一時データの管理