2017-06-16 5 views
3

のためのない存在チェックは私は関係がノードから存在するかどうかを確認したい場合は関係をチェックし、場合にはその見つからない場合、私は同じノードから別の関係タイプをチェックします。CYPHERクエリ - 別の1

何かなど、(:タイプ) - [:relation1] - (B) relation1がクエリ戻りノードBが存在する場合。 (:タイプ)が存在しない場合は、別の関係のように、をチェックします - [:relation2] - (B)ノードBを返します。

私は、これは、単一のCYPHERクエリとして書かことができるかを知りたいです。どんな助けもありがとう。ありがとう。

答えて

2

、それがお役に立てば幸いです。

// after you've already matched to a 
OPTIONAL MATCH (a)-[:relation1]-(b) 
OPTIONAL MATCH (a)-[:relation2]-(c) 
WITH a, COALESCE(b, c) as b // will use node c if b is null 
... 
+0

ありがとう!出来た。 –

2

何UNIONを使用してはどうですか?

MATCH (a:Type)-[:relation1]-(b) 
RETURN b 
UNION 
MATCH (a:Type)-[:relation2]-(b) 
RETURN b 

は、あなたが最初に関係のノードがnullの場合には、バックアップの選択をするためにCOALESCE()を使用することができるかもしれトム

関連する問題