Neo4j-cql-creating-relationship

提供:Dev Guides
移動先:案内検索

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 *-目的のクエリをコピーしてドルプロンプトに貼り付け、次のスクリーンショットで強調表示されている(クエリを実行する)再生ボタンを押します。

チャンピオンズトロフィー

結果

実行すると、次の結果が得られます。

結果