Neo4j-cql-creating-relationship
Neo4j CQL-関係の作成
Noe4jでは、関係は、グラフの2つのノードを接続する要素です。 これらの関係には、データの方向、タイプ、およびフォームパターンがあります。 この章では、次の方法を説明します-
- 関係を作成する
- 既存のノード間の関係を作成する
- ラベルとプロパティを使用して関係を作成する
関係を作成する
CREATE句を使用して関係を作成できます。 次の構文に示すように、ハイフン「-」と矢印「→」の間に配置される関係の方向に応じて、角カッコ「[]」内の関係を指定します。
構文
以下は、CREATE句を使用して関係を作成する構文です。
CREATE (node1)-[:RelationshipType]->(node2)
例
まず、データベースに2つのノードIndとDhawanを作成します(以下を参照)。
CREATE (Dhawan:player{name: "Shikar Dhawan", YOB: 1985, POB: "Delhi"})
CREATE (Ind:Country {name: "India"})
今、これらの2つのノードの間に BATSMAN_OF という名前の関係を作成します-
CREATE (Dhawan)-[r:BATSMAN_OF]->(Ind)
最後に、両方のノードを返して、作成された関係を確認します。
RETURN Dhawan, Ind
ドルプロンプトに目的のクエリをコピーして貼り付け、次のスクリーンショットで強調表示されている(クエリを実行する)再生ボタンを押します。
結果
実行すると、次の結果が得られます。
既存のノード間の関係の作成
*MATCH* 句を使用して、既存のノード間に関係を作成することもできます。
構文
MATCH句を使用して関係を作成する構文は次のとおりです。
MATCH (a:LabeofNode1), (b:LabeofNode2)
WHERE a.name = "nameofnode1" AND b.name = " nameofnode2"
CREATE (a)-[: Relation]->(b)
RETURN a,b
例
次に、match句を使用して関係を作成するサンプルのCypherクエリを示します。
MATCH (a:player), (b:Country) WHERE a.name = "Shikar Dhawan" AND b.name = "India"
CREATE (a)-[r: BATSMAN_OF]->(b)
RETURN a,b
上記のクエリを実行するには、次の手順を実行します。
ステップ1 *-Neo4jデスクトップアプリを開き、Neo4jサーバーを起動します。 次のスクリーンショットに示すように、URL *http://localhost:7474/ を使用して、Neo4jの組み込みブラウザーアプリを開きます。
- ステップ2 *-目的のクエリをコピーしてドルプロンプトに貼り付け、次のスクリーンショットで強調表示されている(クエリを実行する)再生ボタンを押します。
結果
実行すると、次の結果が得られます。
ラベルとプロパティとの関係の作成
CREATE句を使用して、ラベルおよびプロパティとの関係を作成できます。
構文
以下は、CREATE句を使用してラベルとプロパティとの関係を作成する構文です。
CREATE (node1)-[label:Rel_Type {key1:value1, key2:value2, . . . n}]-> (node2)
例
次に、ラベルとプロパティとの関係を作成するサンプルサイファークエリを示します。
MATCH (a:player), (b:Country) WHERE a.name = "Shikar Dhawan" AND b.name = "India"
CREATE (a)-[r:BATSMAN_OF {Matches:5, Avg:90.75}]->(b)
RETURN a,b
上記のクエリを実行するには、次の手順を実行します-
ステップ1 *-Neo4jデスクトップアプリを開き、Neo4jサーバーを起動します。 次のスクリーンショットに示すように、URL *http://localhost:7474/ を使用して、Neo4jの組み込みブラウザーアプリを開きます。
- ステップ2 *-目的のクエリをコピーしてドルプロンプトに貼り付け、次のスクリーンショットで強調表示されている(クエリを実行する)再生ボタンを押します。
結果
実行すると、次の結果が得られます。
完全なパスを作成する
Neo4jでは、パスは連続的な関係を使用して形成されます。 create句を使用してパスを作成できます。
構文
以下は、CREATE句を使用してNeo4jでパスを作成する構文です。
CREATE p = (Node1 {properties})-[:Relationship_Type]->
(Node2 {properties})[:Relationship_Type]->(Node3 {properties})
RETURN p
例
上記のクエリを実行するには、次の手順を実行します-
ステップ1 *-Neo4jデスクトップアプリを開き、Neo4jサーバーを起動します。 次のスクリーンショットに示すように、URL *http://localhost:7474/ を使用して、Neo4jの組み込みブラウザーアプリを開きます。
- ステップ2 *-目的のクエリをコピーしてドルプロンプトに貼り付け、次のスクリーンショットで強調表示されている(クエリを実行する)再生ボタンを押します。
結果
実行すると、次の結果が得られます。