How to add multiple relations in one operation in neo4j? -


मेरे पास ऐसा फ़ंक्शन है:

  शून्य addRelation (स्ट्रिंग यूजरआईडी, लिस्ट & lt; स्ट्रिंग & gt ; दोस्तों) {}   

मैं दोस्तों में उपयोगकर्ता आईडी और तत्व के बीच संबंध जोड़ना चाहता हूं। अब मेरा समाधान प्रत्येक जोड़ी के लिए संबंध जोड़ता है, लेकिन मुझे इसे कम दक्षता के साथ मिला। बैच प्रसंस्करण जैसे एक ऑपरेशन में मैं कई संबंध कैसे जोड़ सकता हूं?

निम्नलिखित उत्तर सी # पर आधारित नहीं है और यह धारणा है कि आप Neo4j 2.x पर चल रहे हैं।

हल करने का सबसे आसान तरीका शायद पैरामीटर के साथ एक सिंगल साइफर स्टेटमेंट का उपयोग कर रहा है:

  MERGE ( यू: उपयोगकर्ता {userId: {userId}}) FOREACH (एफ {दोस्तों} | MERGE (यू) - [: FRIEND_OF] - & gt; (: उपयोगकर्ता {userId: f}))   < P> पैरामीटर (JSON नोटेशन में) हैं:  
  {"userId": "u1", "मित्र": ["friend1", "friend2"]}}]   

पहले मिर्ज करें का उपयोग करके आप सुनिश्चित करें कि आपके उपयोगकर्ता के लिए नोड मौजूद है (यदि आप सुनिश्चित हैं कि आप merge को मैच )। दूसरी लाइन अपने मित्र पैरामीटर से अधिक चलती है और प्रत्येक मित्र के लिए लक्ष्य नोड बनाता है (जब तक कि यह मौजूद न हो) और उपयोगकर्ता को मित्रों से जोड़ता है।

ज्ञान की कमी के कारण सी # मुझे नहीं पता कि आप अपने सर्वर पर साइज़र स्टेटमेंट कैसे भेजते हैं लेकिन मैं आपको Neo4j के transactional http endpoint का उपयोग करके httpie कमांड लाइन http क्लाइंट का उपयोग करके एक उदाहरण दे सकता हूं:

  http -b -j स्थानीयहोस्ट: 7474 / डीबी / डेटा / लेनदेन / कमेट स्टेटमेंट: = '[{"स्टेटमेंट": "मिर्ज (यू: उपयोगकर्ता {userId: {userId}}) FOREACH (f {friends} ("दोस्त 1", "मित्र 2"): ["दोस्त 1", "दोस्त 2" - [: FRIEND_OF] - & gt; (: उपयोगकर्ता {userId: f})) "," पैरामीटर ": {" userId ":" u1 " ]}}] '   

Comments

Popular posts from this blog

c - Performance of System() -

python - how we can use ajax() in views.py in django? -

c++ - How to define methods in a base class that only work in derived classes? -