すべてのプロダクト
Search
ドキュメントセンター

PolarDB:マルチラベル照会

最終更新日:Feb 17, 2025

ラベルは、ノードとエッジのプロパティを表すために使用されます。 プロパティのセマンティックな意味に基づいて、ノードとエッジを分類できます。

ステートメントで複数のラベルを指定

次のサンプルコードに示すように、| を使用して複数のラベルを区切ります。

(n:Person|Company)
[p:KNOWS|LIKES]

テストデータの準備

SELECT create_graph('imdb');
SELECT *
FROM cypher('imdb', $$
 CREATE (toby:actor {name: 'Toby Maguire'}),
  (willam:director {name: 'Willam Dafoe'}),
  (hanks:person {name: 'Tom Hanks'}),
  (spiderman:movie {title: 'Spiderman'}),
  (toby)-[:acted_in]->(spiderman),
  (willam)-[:directed]->(spiderman),
  (hanks)-[:likes]->(spiderman)
$$) AS (a agtype);

  • actorまたはdirectorラベルで名前を照会します。

    SELECT * FROM cypher('imdb', $$
    MATCH (a:actor|director) 
    RETURN a.name
    $$
    ) as (name agtype);

    サンプル結果:

          name      
    ----------------
     "Toby Maguire"
     "Willam Dafoe"
    (2 rows)
  • 映画のスパイダーマンに関係する個人に、監督または演技の関係で質問します。

    SELECT * FROM cypher('imdb', $$
    MATCH (p)-[r:acted_in|directed]->(:movie {title: 'Spiderman'}) 
    RETURN p.name
    $$
    ) as (name agtype);

    サンプル結果:

          name      
    ----------------
     "Toby Maguire"
     "Willam Dafoe"
    (2 rows)