enter image description here

मैं मित्र अनुशंसा को लागू करने का प्रयास कर रहा हूं।

इसकी शुरुआत नोड "यू" से होती है। और, मैं नोड "अन्ना" खोजना चाहता हूं।

दूसरे शब्दों में, यह एक ऐसा व्यक्ति है जिसे मेरे दो या दो से अधिक मित्र समान रूप से जानते हैं। और उपरोक्त का उदाहरण नोड अन्ना है।

अगर आपकी मदद की तो मैं आभारी रहूंगा।

नोड: व्यक्ति

संबंध: दोस्ती

MATCH (neo:Person {name: "You"})-[*2]->(target:Person)
MATCH (neo)-[:FRIENDSHIP]->(friend:Person)
MATCH (target)-[rel:FRIENDSHIP]->(friend)
WHERE target.name <> "You"
RETURN rel
2
camlyport 9 जिंदा 2021, 08:29

1 उत्तर

सबसे बढ़िया उत्तर

मुझे लगता है कि आपको केवल एक व्यक्ति नोड की आवश्यकता है जो अनुशंसा करना चाहता है। यहां बताया गया है कि आप 2 चरणों में कैसे आगे बढ़ सकते हैं:

चरण-1. व्यक्ति (मित्र के मित्र) और सामान्य मित्रों की संख्या खोजें:

MATCH path=(neo:Person {name: "You"})-[:RELATED_TO*2]->(target:Person) 
WHERE target <> neo
WITH neo, target, count(path) as cf 
RETURN target, cf

चरण -2। उन लोगों को फ़िल्टर करें जिनके 2 या अधिक मित्र समान हैं:

MATCH path=(neo:Person {name: "You"})-[:RELATED_TO*2]->(target:Person) 
WHERE target <> neo
WITH neo, target, count(path) as cf 
WITH target WHERE cf >= 2
RETURN target, cf
2
Rajendra Kadam 11 जिंदा 2021, 10:41
यह मेरे लिए काम करता है। धन्यवाद। लेकिन neo4j ब्राउज़र ने घोषणा की कि भविष्य के संस्करणों में CYPHER "path=( )-[ ]->( )" हटा दिया जाएगा। क्या इसे बदलने के लिए कोई प्रश्न है?
 – 
camlyport
10 जिंदा 2021, 06:46
ठीक कर दिया। कोलन गायब था
 – 
Rajendra Kadam
11 जिंदा 2021, 10:41