ページの先頭行へ戻る
Enterprise Postgres 17 SP1 知識データ管理機能 利用ガイド

4.6 グラフの検索

グラフの検索は、Cypherクエリによって行います。CypherクエリはSQL関数であるcypher関数の引数に文字列として指定します。

CypherクエリについてはApache AGEのドキュメントを参照してください。

例) グラフ検索の例

SELECT * FROM cypher('new_graph', $$
 MATCH (:Person {name: 'Daedalus'})-[:FATHER_OF]->(person)
 WITH person.name AS name ORDER BY person.name RETURN name
 $$) AS (v agtype);
    v
----------
 "Icarus"
(1 row)

グラフの検索では、条件にマッチしたノード、またはエッジの特定のプロパティの値やプロパティの集合を取得できます。プロパティはjson型と互換のある、グラフ管理機能が追加するagTypeデータ型で返却されます。グラフの検索はcypher関数に閉じていますが、取出した値を利用してデータベース内の他のテーブルの検索と組み合わせることも可能です。

例) 組合せ例

SELECT (x::json->'properties')->'name' FROM cypher('new_graph', $$
MATCH (x)
RETURN x $$) AS (x agtype);
  ?column?
------------
 "Daedalus"
 "Icarus"
(2 rows)