2016-03-24 18 views
1

ile elde edilen dizelerin birleştirme ve eşleştirilmesi Bir cypher sorgusunda, bir dizi dize ile sonuçlanır. Sonra, bu dizelerin her biri için, bir dizi düğümün özelliklerinin bir alt dizesi olup olmadığını kontrol etmek isterim. Ben örnekteki gibi, normal ifadeler kullanarak alt dize eşleştirme yapmaya çalışıyorum: Ben gevşeyin ne çıkmıyor acabaCypher: UNLİNE

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 

Ancak dize birleştirme bana aşağıdaki hatayı veriyor? Neden döndürdüğü bir dizeyle birleştirilemez? Ya da benim sorgumda yanlış olan başka bir şey var mı?

Teşekkürler! Şans eseri

+0

See:

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

parantez içinde normal bir ifade ile dize tam birleştirme koymak sorunumu çözdü [UNWIND] (http://neo4j.com/docs/stable/query-unwind.html) –

+0

Zaten kontrol ettim ve Cypher [refcard] 'a göre (http://neo4j.com/docs/stable/ cypher-refcard /), UNWIND tarafından döndürülen her satırı bir dize olarak işlemek için herhangi bir sorun görmüyorum. Yine de, birleştirme neden bana bir hata verdiğini anlamıyorum ... – aliva7

cevap

İlgili konular