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