2016-11-16 8 views
0

異なる結果を返す(唯一の違いは、rは次のとおりです。FORの前にクエリ1)「同じ」クエリは、私は以下のようにほぼ同じで2つのクエリを持って

Query 1: MATCH p=()-[r:FOR]->() RETURN count(p) 
Query 2: MATCH p=()-[FOR]->() RETURN count(p) 

私はこのクエリを実行しているとき私のNeo4jサーバーに対して、別の結果を返します。クエリ1は約1/3またはクエリ2ですが、クエリ1はクエリ2が実行されていない間に結果を '結合'していると思います(例:a- [FOR] - > cおよびb- [FOR] cは1つのレコードにまとめられました)が、私の推測だけです。私はGoogleやNeo4jのドキュメントを検索しようとしましたが運はありません。誰でもその違いを説明できますか?

ありがとうございます。

答えて

4
MATCH p=()-[r:FOR]->() RETURN count(p) 

(それはそれを使用しませんが)このクエリは、r変数にFOR関係をバインドします。

MATCH p=()-[FOR]->() RETURN count(p) 

このクエリは、FOR変数に任意関係(すなわちの任意のタイプ)を結合します。

Cypherでリレーションシップタイプを指定する正しい構文は、先行コロンが:XXX,です。 2番目のクエリの正しいバージョンは、実際には次のようになります。

MATCH p=()-[:FOR]->() RETURN count(p) 
関連する問題