導入
ノードだけではグラフになりません。ノード同士を線でつないで初めて「つながりのあるデータ」になります。ここではリレーションシップの作り方を学びます。
説明
リレーションシップは -[:TYPE]-> という記法で作ります。矢印の向きが、そのままリレーションシップの向きになります。
CREATE (a:Person {name: 'Alice'})-[:KNOWS]->(b:Person {name: 'Bob'})
このクエリは、Alice ノードと Bob ノードを新規作成しつつ、同時に Alice → Bob の :KNOWS(知り合い)というリレーションシップも作成します。
graph LR
A["(:Person<br/>name:'Alice')"] -- "KNOWS" --> B["(:Person<br/>name:'Bob')"]
すでに存在するノード同士を後から結びたい場合は、先に MATCH で両方のノードを探してから CREATE でリレーションシップだけを作ります(MATCH については次のレッスンで詳しく扱います)。
MATCH (a:Person {name: 'Alice'}), (m:Movie {title: 'The Matrix'})
CREATE (a)-[:ACTED_IN]->(m)
ここでのポイントは、リレーションシップには必ず種類(:KNOWS や :ACTED_IN など)と向きがあることです。「AがBを知っている」と「BがAを知っている」は別の事実なので、矢印の向きを意識して書く必要があります。