グラフの検索は、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)