7.3 SQLプロパティ・グラフへのPGQLプロパティ・グラフの移行

migrate_pgql_to_sql関数をコールして、PGQLプロパティ・グラフをSQLプロパティ・グラフに移行できます。

migrate_pgql_to_sql関数は、次のパラメータをとります:

  • source_schema: 元のPGQLプロパティ・グラフの基礎となるスキーマ。
  • source_graph_name: 元のPGQLプロパティ・グラフの名前。
  • destination_schema (optional) : SQLプロパティ・グラフの基礎となるスキーマ。指定しない場合、グラフはソースPGQLプロパティ・グラフ・スキーマに作成されます。
  • destination_graph (optional): 新しいSQLプロパティ・グラフの名前。指定しない場合、PGQLプロパティ・グラフの元の名前で新しいグラフが作成され、名前の末尾に_PGQLを追加して元のグラフの名前が変更されます。

ノート:

データベース・ビューに基づくPGQLプロパティ・グラフは移行できません。

例7-1 SQLプロパティ・グラフへのPGQLプロパティ・グラフの移行

次の例では、Oracle Database 23aiにPGQLプロパティ・グラフFRIENDSが存在することを前提としています。

opg4j> var jdbcUrl="jdbc:oracle:thin:@<host_name>:<port>/<db_service>"
opg4j> var conn = DriverManager.getConnection(jdbcUrl,"<username>","<password>")
opg4j> PgqlConnection pgqlConn = PgqlConnection.getConnection(conn)
opg4j> PgqlStatement pgqlStmt = pgqlConn.createStatement() 
opg4j> pgqlStmt.execute("CALL pg.migrate_pgql_to_sql('GRAPHUSER', 'FRIENDS', 'GRAPHUSER', 'FRIENDS_SQL_GRAPH')")
$9 ==> false
DriverManager.registerDriver(new PgqlJdbcRdbmsDriver());
Connection conn = DriverManager.getConnection(<jdbcUrl>, <username>, <password>);
PgqlConnection pgqlConn = PgqlConnection.getConnection(conn);
PgqlStatement pgqlStmt = pgqlConn.createStatement();
pgqlStmt.execute("CALL pg.migrate_pgql_to_sql('GRAPHUSER', 'FRIENDS', 'GRAPHUSER', 'FRIENDS_SQL_GRAPH')");
>>> pgql_conn = opg4py.pgql.get_connection("<username>","<password>", "jdbc:oracle:thin:@<host_name>:<port>/<db_service>")
>>> pgql_statement = pgql_conn.create_statement()
>>> pgql_statement.execute("CALL pg.migrate_pgql_to_sql('GRAPHUSER', 'FRIENDS', 'GRAPHUSER', 'FRIENDS_SQL_GRAPH')")
$4 ==> false