Neo4j-set-clause

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

Neo4j-セット句

Set句を使用すると、既存のノードまたは関係に新しいプロパティを追加したり、既存のプロパティ値を追加または更新したりできます。

この章では、次の方法について説明します-

  • プロパティを設定する
  • プロパティを削除する
  • 複数のプロパティを設定する
  • ノードにラベルを設定する
  • ノードに複数のラベルを設定する

プロパティを設定する

SET句を使用して、ノードに新しいプロパティを作成できます。

構文

以下は、プロパティを設定するための構文です。

MATCH (node:label{properties . . . . . . . . . . . . . . })
SET node.property = value
RETURN node

例に進む前に、以下に示すように、まずDhawanという名前のノードを作成します。

CREATE (Dhawan:player{name: "shikar Dhawan", YOB: 1985, POB: "Delhi"})

以下は、“ highestscore” _という名前で値“ 187” _のプロパティを作成するサンプルサイファークエリです。

MATCH (Dhawan:player{name: "shikar Dhawan", YOB: 1985, POB: "Delhi"})
SET Dhawan.highestscore = 187
RETURN Dhawan

上記のクエリを実行するには、次の手順を実行します-

ステップ1 *-Neo4jデスクトップアプリを開き、Neo4jサーバーを起動します。 次のscrenshotに示すように、URL *http://localhost:7474/ を使用してNeo4jの組み込みブラウザーアプリを開きます。

ブラウザアプリ

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

マッチプレイヤー

結果

実行すると、次の結果が得られます。 ここでは、キーと値のペアがhighestscore/187のプロパティが「Dhawan」という名前のノードに作成されていることがわかります。

キー値

プロパティの削除

*NULL* を値として渡すことにより、既存のプロパティを削除できます。

構文

以下は、SET句を使用してノードからプロパティを削除する構文です。

MATCH (node:label {properties})
SET node.property = NULL
RETURN node

例に進む前に、次のようにノード「jadeja」を作成します。

Create (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"})

以下は、以下に示すようにSET句を使用してこのノードからPOBという名前のプロパティを削除するサンプルサイファークエリです。

MATCH (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"})
SET Jadeja.POB = NULL
RETURN Jadeja

上記のクエリを実行するには、次の手順を実行します-

ステップ1 *-Neo4jデスクトップアプリを開き、Neo4jサーバーを起動します。 次のスクリーンショットに示すように、URL *http://localhost:7474/ を使用して、Neo4jの組み込みブラウザーアプリを開きます。

ブラウザアプリ

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

プロパティの削除

結果

実行すると、次の結果が得られます。 ここで、 POB という名前の変数が削除されたことを確認できます。

削除されたPOB

複数のプロパティを設定する

同様に、Set句を使用してノードに複数のプロパティを作成できます。 そのためには、これらのキーと値のペアをコンマで指定する必要があります。

構文

以下は、SET句を使用してノードに複数のプロパティを作成する構文です。

MATCH (node:label {properties})
SET node.property1 = value, node.property2 = value
RETURN node

次に、Neo4jのSET句を使用してノードに複数のプロパティを作成するサンプルサイファークエリを示します。

MATCH (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988})
SET Jadeja.POB: "NavagamGhed", Jadeja.HS = "90"
RETURN Jadeja

上記のクエリを実行するには、次の手順を実行します-

ステップ1 *-Neo4jデスクトップアプリを開き、Neo4jサーバーを起動します。 次のスクリーンショットに示すように、URL *http://localhost:7474/ を使用して、Neo4jの組み込みブラウザーアプリを開きます。

ブラウザアプリ

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

複数のプロパティ

結果

実行すると、次の結果が得られます。 ここで、POBおよびHSという名前のプロパティが作成されたことを確認できます。

プロパティの実行

ノードにラベルを設定する

SET句を使用して、既存のノードにラベルを設定できます。

構文

以下は、既存のノードにラベルを設定する構文です。

MATCH (n {properties . . . . . . . })
SET n :label
RETURN n

例に進む前に、以下に示すように、最初にノード「アンダーソン」を作成します。

CREATE (Anderson {name: "James Anderson", YOB: 1982, POB: "Burnely"})

次に、SET句を使用してノードにラベルを設定するサンプルサイファークエリを示します。 このクエリは、ラベル「player」をノードAndersonに追加して返します。

MATCH (Anderson {name: "James Anderson", YOB: 1982, POB: "Burnely"})
SET Anderson: player
RETURN Anderson

上記のクエリを実行するには、次の手順を実行します-

ステップ1 *-Neo4jデスクトップアプリを開き、Neo4jサーバーを起動します。 次のスクリーンショットに示すように、URL *http://localhost:7474/ を使用して、Neo4jの組み込みブラウザーアプリを開きます。

ブラウザアプリ

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

ラベルノード

結果

実行すると、次の結果が得られます。 ここで、「player」というラベルがノードに追加されていることがわかります。

追加されたプレーヤー

ノードに複数のラベルを設定する

SET句を使用して、既存のノードに複数のラベルを設定できます。 ここでは、ラベルをコロン「:」で区切って指定する必要があります。

構文

以下は、SET句を使用して既存のノードに複数のラベルを設定する構文です。

MATCH (n {properties . . . . . . . })
SET n :label1:label2
RETURN n

例に進む前に、以下に示すように、まず「Ishant」という名前のノードを作成します。

CREATE (Ishant {name: "Ishant Sharma", YOB: 1988, POB: "Delhi"})

以下は、SET句を使用してノードに複数のラベルを作成するために使用されるサンプルサイファークエリです。

MATCH (Ishant {name: "Ishant Sharma", YOB: 1988, POB: "Delhi"})
SET Ishant: player:person
RETURN Ishant

上記のクエリを実行するには、次の手順を実行します-

ステップ1 *-Neo4jデスクトップアプリを開き、Neo4jサーバーを起動します。 次のスクリーンショットに示すように、URL *http://localhost:7474/ を使用して、Neo4jの組み込みブラウザーアプリを開きます。

ブラウザアプリ

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

マルチラベル

結果

実行すると、次の結果が得られます。 ここでは、 Ishant という名前のノードに2つのラベル(personとplayer)が追加されていることがわかります。

Ishant Player