6.3 サブグラフの拡張

SQLプロパティ・グラフからメモリーにグラフ・データをロードし、現在のサブグラフとマージすることで、インメモリー・サブグラフを拡張できます。

2つのサブグラフをマージする際、次のことが適用されます。

  • 別のSQLグラフのデータでサブグラフを拡張できるのは、グラフ・スキーマに互換性がある場合のみです。
  • 拡張対象の初期サブグラフは、PGQLプロパティ・グラフからロードすることもでき、必ずしもSQLプロパティ・グラフを使用する必要はありません。
  • 現在のデータベース・スキーマに存在するプロパティ・グラフからグラフ・データをロードした場合のみ、サブグラフを拡張できます。
  • 詳細は、サブグラフの動的な拡張を参照してください。

次の例に、「PGQL問合せを使用したサブグラフのロード」で作成したサブグラフの拡張を示します。

opg4j> graph = graph.expandGraph().
...>     withPgql().
...>     fromPgSql("STUDENT_NETWORK").
...>     queryPgql("MATCH (v1 IS Person) WHERE id(v1) = 'PERSONS(4)'").
...>     expand()
graph ==> PgxGraph[name=anonymous_graph_31,N=4,E=1,created=1681011908378]
PgxGraph graph = graph.expandGraph()
  .withPgql()
  .fromPgSql("STUDENT_NETWORK")
  .queryPgql("MATCH (v1 IS Person) WHERE id(v1) = 'PERSONS(4)'")
  .expand();
>>> graph = graph.expand_with_pgql("MATCH (v1 IS Person) WHERE id(v1) = 'PERSONS(4)'", pg_sql_name="STUDENT_NETWORK")
>>> graph
PgxGraph(name: anonymous_graph_34, v: 4, e: 1, directed: True, memory(Mb): 0)