5.1.2 ラベル式
頂点またはエッジ要素パターンのラベル式が、キーワードIS
によって導入されています。
たとえば、次のグラフ・パターンでは、グラフ要素変数v1
に関連付けられた頂点パターンのラベルはperson
です。また、グラフ要素変数e
に関連付けられたエッジ・パターンには、ラベルfriendOf
が含まれています:
(v1 IS person)–[e IS friendOf]->(v2)
グラフ要素パターンでラベルを省略した場合、デフォルトではすべての頂点またはエッジを問い合せます。
ラベル式には、一致した任意の変数にアクセスできるオプションのインラインSQL検索条件を含めることもできます。プロパティにアクセスする場合は、グラフ・パターン変数を指定する必要があります。
サポートされている頂点およびエッジ・ラベル式を次の表で説明します:
表5-2 サポートされている頂点およびエッジ・ラベル式
頂点ラベル式 | エッジ・ラベル式 | 説明 |
---|---|---|
(a) |
[e] |
|
() |
[] |
グラフ・パターン変数が指定されていない場合、一意の頂点またはエッジ変数名がシステムによって内部的に生成されます。したがって、問合せの他の場所で頂点またはエッジを参照することはできません(不明なため)。 |
(IS person) |
[IS friend_of] |
グラフ・パターン変数が指定されていない場合、一意の頂点またはエッジ変数名がシステムによって内部的に生成されます。したがって、問合せの他の場所で頂点またはエッジを参照することはできません(不明なため)。 |
(IS person|place|thing) |
[IS friend_of|student_of] |
頂点パターンまたはエッジ・パターンに明示的なグラフ・パターン変数がないため、問合せの他の場所ではこの頂点またはエッジを参照できません。 |
(a IS person|place|thing) |
[e IS friend_of|student_of] |
前述の表エントリと同じです。ただし、頂点パターンおよびエッジ・パターンには、頂点およびエッジ・グラフ・パターン変数としてそれぞれa およびe が含まれています。そのため、問合せの他の場所にあるグラフ・パターン変数を使用して、それぞれ頂点またはエッジを参照できます。
例5-12を参照してください。 |
(a IS person),
|
(a)–[e IS L1]->(b),
|
例5-13を参照してください。 |
(a IS person WHERE a.name = 'Fred') |
[e IS student_of WHERE e.subject = 'Arts'] |
要素パターン内で表示される唯一のグラフ・パターン変数は、要素パターンによってローカルに定義されたグラフ・パターン変数です。別の要素パターンのグラフ・パターン変数にはアクセスできません。例5-5を参照してください。 |
親トピック: グラフ・パターンについて