13.4 PGQLによる頂点およびエッジ・ラベル
ラベルは、グラフのエッジおよびノードにタイプ情報を添付する方法で、すべてのノードが同じものを表しているわけではないグラフの制約に使用することができます。たとえば:
SELECT p.name
FROM MATCH (p:person) -[e1:likes]-> (m1:movie),
MATCH (p) -[e2:likes]-> (m2:movie)
WHERE m1.title = 'Star Wars'
AND m2.title = 'Avatar'
この例では、ラベルperson
の頂点セット、ラベルmovie
の頂点セットおよびラベルlikes
のエッジ・セットが含まれるグラフを問い合せます。ラベル式は、コロン(:
)またはキーワードIS
のいずれかで始め、その後に1つ以上のラベルを続けることができます。複数のラベルを使用する場合、ラベルは縦棒(|
)で区切られます。
次の問合せは、ラベル式にキーワードIS
を使用した前述の問合せの例を示しています。
SELECT p.name
FROM MATCH (p IS person) -[e1 IS likes]-> (m1 IS movie),
MATCH (p IS person) -[e2 IS likes]-> (m2 IS movie)
WHERE m1.title = 'Star Wars'
AND m2.title = 'Avatar'
関連項目:
PGQL仕様のラベル式セクション親トピック: プロパティ・グラフ問合せ言語(PGQL)