15.8.1 プロパティ値の設定と取得

プロパティ値の取得

頂点またはエッジのプロパティ値を取得するには、グラフに対してSELECT PGQL問合せを実行します。

次に例を示します。

JShellを使用したプロパティ値の取得
opg4j> session.queryPgql("SELECT e.src_id, e.dest_id, e.amount FROM MATCH (n:Account) -[e:Transfers]-> (m:Account) on bank_graph").print();
Javaを使用したプロパティ値の取得
...
...
PgxGraph g = session.getGraph("bank_graph");
String query =
    "SELECT e.src_id, e.dest_id, e.amount FROM MATCH (n:Account) -[e:Transfers]-> (m:Account)";
g.queryPgql(query).print();

結果のプロパティ値は、次のように表示されます。

+---------------------------+
| src_id | dest_id | amount |
+---------------------------+
| 1      | 259     | 1000   |
| 1      | 418     | 1000   |
| 1      | 584     | 1000   |
| 1      | 644     | 1000   |
| 1      | 672     | 1000   |
| 2      | 493     | 1000   |
| 2      | 546     | 1000   |
| 2      | 693     | 1000   |
| 2      | 833     | 1000   |
| 2      | 840     | 1000   |
+---------------------------+

プロパティ値の設定

頂点またはエッジのプロパティ値を設定するには、グラフに対して挿入または更新PGQL問合せを実行します。

たとえば、INSERT問合せを使用してグラフに新しい頂点アカウントIDを設定するには、次のようにします。

JShellを使用したプロパティ値の設定
opg4j> PgxGraph g = session.getGraph("bank_graph_analytics");
g ==> PgxGraph[name=bank_graph_analytics,N=1000,E=5001,created=1616312153556]
opg4j> PgxGraph g_mutable = g.clone("bank_graph_analytics_copy");
g_mutable ==> PgxGraph[name=bank_graph_analytics_copy,N=1000,E=5001,created=1616312413799]
opg4j> g_mutable.executePgql("INSERT VERTEX v LABELS (Accounts) PROPERTIES ( v.id = 1001)");
Javaを使用したプロパティ値の設定
...
...
PgxGraph g1 = session.readGraphWithProperties("bank_graph_analytics.json");
PgxGraph g2 = g1.clone("bank_graph_analytics_copy");
g2.executePgql("INSERT VERTEX v " +
               "         LABELS ( Accounts ) " +
               "         PROPERTIES ( v.id = 1001 )");