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では、setsequenceなどのスカラー・コレクションもサポートされています。これらのコレクションはそれぞれ、INTEGERLONGFLOATDOUBLEBOOLEANなどの様々なプリミティブ・データ型の要素を保持できます。スカラー・コレクションはセッションにバインドされ、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グラフ・アルゴリズムの使用を参照してください。