Neo4j में नोड बनाने की तरह ही, हम CREATE
. का उपयोग कर सकते हैं उन नोड्स के बीच संबंध बनाने के लिए बयान।
संबंध बनाने के कथन में CREATE
. शामिल हैं , उसके बाद आपके द्वारा बनाए जा रहे संबंध का विवरण।
उदाहरण
आइए पहले बनाए गए कुछ नोड्स के बीच संबंध बनाएं। सबसे पहले, आइए एक कलाकार और एक एल्बम के बीच संबंध बनाएं।
हम निम्नलिखित संबंध बनाएंगे:
यह रहा साइफर CREATE
उपरोक्त संबंध बनाने के लिए कथन:
MATCH (a:Artist),(b:Album) WHERE a.Name = "Strapping Young Lad" AND b.Name = "Heavy as a Really Heavy Thing" CREATE (a)-[r:RELEASED]->(b) RETURN r
उपरोक्त कोड की व्याख्या
सबसे पहले, हम एक MATCH
. का उपयोग करते हैं उन दो नोड्स को खोजने के लिए कथन, जिनके बीच हम संबंध बनाना चाहते हैं।
कलाकार . के साथ कई नोड हो सकते हैं या एल्बम लेबल इसलिए हम इसे केवल उन नोड्स तक सीमित करते हैं जिनमें हम रुचि रखते हैं। इस मामले में, हम इसे फ़िल्टर करने के लिए एक संपत्ति मान का उपयोग करते हैं। हम नाम . का उपयोग करते हैं प्रॉपर्टी जिसे हमने पहले प्रत्येक नोड को असाइन किया था।
फिर वास्तविक CREATE
है बयान। यही रिश्ता बनाता है। इस मामले में, यह दो नोड्स को चर नाम से संदर्भित करता है (यानी a
और b
) कि हमने उन्हें पहली पंक्ति में दिया था। संबंध ASCII-कोड पैटर्न का उपयोग करके स्थापित किया जाता है, जिसमें एक तीर संबंध की दिशा को इंगित करता है:(a)-[r:RELEASED]->(b)
।
हम रिश्ते को r
. का वैरिएबल नाम देते हैं और रिश्ते को एक प्रकार का RELEASED
दें (जैसा कि "इस बैंड में रिलीज़ . है यह एल्बम"). संबंध का प्रकार नोड के लेबल के समान होता है.
अधिक संबंध जोड़ना
उपरोक्त उदाहरण एक रिश्ते का एक बहुत ही सरल उदाहरण है। उन चीजों में से एक जो Neo4j वास्तव में अच्छी है, कई परस्पर संबंधों को संभालना है।
आइए उस संबंध पर निर्माण करें जिसे हमने अभी स्थापित किया है, ताकि हम देख सकें कि उनके बीच अधिक नोड्स और संबंध बनाना जारी रखना कितना आसान है। इसलिए हम एक और नोड बनाएंगे और दो और संबंध जोड़ेंगे।
हम निम्नलिखित ग्राफ के साथ समाप्त करेंगे:
यह ग्राफ़ दिखाता है कि डेविन टाउनसेंड बैंड में खेलता है, बैंड द्वारा रिलीज़ किए गए एल्बम पर प्रदर्शन करता है, और उसने एल्बम का निर्माण भी किया है।
तो चलिए डेविन टाउनसेंड के लिए नोड बनाकर शुरू करते हैं:
CREATE (p:Person { Name: "Devin Townsend" })
अब संबंध बनाएं और ग्राफ़ लौटाएं:
MATCH (a:Artist),(b:Album),(p:Person) WHERE a.Name = "Strapping Young Lad" AND b.Name = "Heavy as a Really Heavy Thing" AND p.Name = "Devin Townsend" CREATE (p)-[pr:PRODUCED]->(b), (p)-[pf:PERFORMED_ON]->(b), (p)-[pl:PLAYS_IN]->(a) RETURN a,b,p
अब आपको पिछले स्क्रीनशॉट की तरह ग्राफ़ देखना चाहिए।