2017-02-21 4 views
0

私は、特定のパターンを照会で満たし、最初の照会のノードの1つから始まる別の照会で照会することを検討しています。 [:関係] - - (:x)の オプションの試合(:P) - [:relationship2] - (:×2)cypherオプションの一致と制限

マッチ(:P)私は、このようなクエリでそれを行うことができると信じて

ここで、最後に制限を設定するとします(例:制限200)。 新しいノードpを持つ新しいプライマリクエリに移動する前に、返された行がすべてのオプションの一致を使い果たしますか?または、任意の一致のサブセットのみを任意に返すようにクエリを実行する必要がありますか?

答えて

0

1)あなたのCypherパターンの構文が悪いようです。 (括弧内の)ノードでは、オプションの識別子が最初に来て、オプションの各ラベルはコロンの後に来ます。関係(大括弧内)の場合、オプションの識別子が最初に来て、型はコロンの後に来ます。

MATCH (p)-[relationship:FOO]-(x) 
OPTIONAL MATCH (p)-[relationship2:BAR]-(x2) 
... 

2)サイファードキュメントはレベルにLIMITの振る舞いを定義していません:私はあなたの例は、(p識別子が一緒に2つのパターンを結び付けるために使用することができるように)このような何かを見ている必要があることを疑いますあなたが尋ねている細部については、あなたが望むものに近いほど近い結果を得るためにサイファーを工夫しなければなりません。 - 私はサイファー・クエリが、あなたとのずさんされていた

MATCH (p)-[relationship:FOO]-(x) 
WITH p LIMIT 1 
OPTIONAL MATCH (p)-[relationship2:BAR]-(x2) 
RETURN x2 LIMIT 200 
+0

ありがとう:たとえば、あなたがこのようなものを使用することができ、MATCHパターンによって発見単一p 200のx2値まで戻したい場合ポイントは正しいです。私は限界のためにあなたがそこに置く解決が好きです。私は限界の振る舞いが定義されているが、それだけを文書化していないのだろうかと思います –

関連する問題