6.1 readGraphByName APIを使用したSQLプロパティ・グラフのロード

SQLプロパティ・グラフをグラフ・サーバー(PGX)にロードするには、PgxSessionオブジェクトでreadGraphByName APIをコールします。

SQLプロパティ・グラフをグラフ・サーバー(PGX)にロードする場合、完全なグラフ・スキーマが決定され、グラフ構成にマップされます。グラフはパーティション化されたグラフとしてロードされ、各頂点またはエッジ表が同じ名前のそれぞれの頂点またはエッジ・プロバイダにマップされます。ラベルおよびプロパティも定義のとおりロードされます。

ただし、SQLグラフをグラフ・サーバー(PGX)にロードするためにサポートされているラベルは、頂点またはエッジ表ごとに1つのみです。

たとえば、次のSQLプロパティ・グラフについて検討します。

CREATE PROPERTY GRAPH student_network
  VERTEX TABLES (
    persons KEY (person_id)
      LABEL person
        PROPERTIES (person_id, name, birthdate AS dob)
  )
  EDGE TABLES (
    friendships AS friends
      KEY (friendship_id)
      SOURCE KEY (person_a) REFERENCES persons(person_id)
      DESTINATION KEY (person_b) REFERENCES persons(person_id)
      PROPERTIES (friendship_id, meeting_date)
  );

次のように、このSQLグラフをメモリーにロードできます。

opg4j> var graph = session.readGraphByName ("STUDENT_NETWORK",GraphSource.PG_SQL)
graph ==> PgxGraph[name=STUDENTS_NETWORK,N=4,E=4,created=1681007796946]
PgxGraph graph = session.readGraphByName("STUDENT_NETWORK", GraphSource.PG_SQL);
>>> graph = session.read_graph_by_name("STUDENT_NETWORK", "pg_sql")
>>> graph
PgxGraph(name: STUDENTS_NETWORK, v: 4, e: 4, directed: True, memory(Mb): 0)