Neo4j-where-clause

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

Neo4j-Where Clause

SQLと同様に、Neo4j CQLはCQL MATCHコマンドでWHERE句を提供して、MATCHクエリの結果をフィルタリングします。

構文

WHERE句の構文は次のとおりです。

MATCH (label)
WHERE label.country = "property"
RETURN label

例に進む前に、以下に示すようにデータベースに5つのノードを作成します。

CREATE(Dhawan:player{name:"shikar Dhawan", YOB: 1985, runs:363, country: "India"}
CREATE(Jonathan:player{name:"Jonathan Trott", YOB:1981, runs:229, country:"South Africa"}
CREATE(Sangakkara:player{name:"Kumar Sangakkara", YOB:1977, runs:222,
   country:"Srilanka"})
CREATE(Rohit:player{name:"Rohit Sharma", YOB: 1987, runs:177, country:"India"})
CREATE(Virat:player{name:"Virat Kohli", YOB: 1988, runs:176, country:"India"})
CREATE(Ind:Country {name: "India", result: "Winners"})

以下は、WHERE句を使用して国インドに属するすべてのプレーヤー(ノード)を返すサンプルサイファークエリです。

MATCH (player)
WHERE player.country = "India"
RETURN player

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

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

ブラウザアプリ

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

Where Player

結果

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

結果の場所

複数の条件を持つWHERE句

WHERE句を使用して、複数の条件を確認することもできます。

構文

以下は、複数の条件でNeo4jでWHERE句を使用する構文です。

MATCH (emp:Employee)
WHERE emp.name = 'Abc' AND emp.name = 'Xyz'
RETURN emp

以下は、2つの条件を使用してNeo4jデータベース内のノードをフィルタリングするサンプルサイファークエリです。

MATCH (player)
WHERE player.country = "India" AND player.runs >=175
RETURN player

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

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

ブラウザアプリ

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

Return Player

結果

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

条件結果

Where句との関係の使用

Where句を使用して、関係を使用してノードをフィルター処理することもできます。

データベースに次のグラフがあると仮定します。

想定データベース

以下に示すWHERE句を使用してインドのトップスコアラーを取得するサンプルサイファークエリを次に示します。

MATCH (n)
WHERE (n)-[: TOP_SCORER_OF]->( {name: "India", result: "Winners"})
RETURN n

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

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

ブラウザアプリ

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

受賞者の結果

結果

実行すると、次の結果が得られます。 ここで、Neo4jがノードを返したことがわかります。これは、ノード名がIndiaである国との関係がTOP_SCORER_OFになっています。

返されたノード