2016-03-24 9 views
1

サイファークエリでは、文字列の集合になります。次に、これらの文字列のそれぞれについて、それらがノードのセットのプロパティの部分文字列であるかどうかをチェックしたいと思います。私は例のように、正規表現を使用したサブストリングマッチングを行うにしようとしています:私はUNWINDは何を返すんだろCypher:UNWINDで得られた文字列の連結とマッチング

Type mismatch: expected Collection<Boolean> but was String (line 5, column 32) 

MATCH (x:Company) 
WITH collect(DISTINCT x.name) AS all_company_names 
UNWIND all_company_names AS company_name 
MATCH (s:Division) 
WHERE s.name =~ company_name + '.*' 
RETURN s 

をただし、文字列の連結は私に次のエラーを与えますか?それが返すものを文字列で連結することはできないのですか?それとも、私の質問に間違ったことがありますか?

ありがとうございます!偶然

+0

参照:

Since the operator order between string concatenation and regexp comparison is not obvious, it's probably best to put the string concatenation in parenthesis too

は、括弧内の正規表現で文字列の完全な連結を置く私の問題を解決しました[UNWIND](http://neo4j.com/docs/stable/query-unwind.html) –

+0

私はそれをすでにチェックしており、Cypher [refcard](http://neo4j.com/docs/stable/ cypher-refcard /)、私は文字列としてUNWINDによって返された各行を処理するための問題は表示されません。しかし、私は連結が私にエラーを与える理由を理解していない... – aliva7

答えて

1

は、私が言って、another questionの答えの行を発見:

WHERE s.name =~ (company_name + '.*')