2014-04-10 3 views
11

मैं एक से अधिक आने वाले रिश्तों के साथ सभी नोड्स खोजने की कोशिश कर रहा हूं। इस डेटा को देखते हुए:एक से अधिक आने वाले रिश्तों के साथ neo4j नोड्स खोजें

a-[has]->b 
a-[has]->c 
d-[has]->b 

तो, मैं एक प्रश्न की तलाश कर रहा हूं जो 'बी' देता है, क्योंकि इसमें अधिक आने वाला है।

यह क्वेरी बंद है। यह 'एक' और 'बी' देता है, क्योंकि वे दोनों 2 संबंध:

match (n)--() 
with n,count(*) as rel_cnt 
where rel_cnt > 1 
return n; 
हालांकि

, इस क्वेरी (के अलावा '->') किसी भी वापस नहीं करता है और मैं पता नहीं क्यों :

match (n)-->() 
with n,count(*) as rel_cnt 
where rel_cnt > 1 
return n; 

क्या मैं यह सब गलत कर रहा हूं?

उत्तर

19

क्या यह आपके लिए काम करता है?

MATCH()-[r:has]->(n) 
WITH n, count(r) as rel_cnt 
WHERE rel_cnt > 1 
RETURN n; 

मुझे लगता है कि शायद गलत तरीके से, 'है' उचित संबंध प्रकार है। यदि नहीं, तो कोशिश करें:

MATCH()-[r]->(n) 
WITH n, count(r) as rel_cnt 
WHERE rel_cnt > 1 
RETURN n; 
+0

धन्यवाद, आपके प्रश्न दोनों काम करते हैं और मेरा मूल। यह पता चला कि मैं नोड्स को सही ढंग से नहीं बना रहा था और मेरे पास 2 नामों का नाम था। मुझे लगता है कि एक नौसिखिया गलती। – SteveS

संबंधित मुद्दे