द्वारा एक ही संपत्ति के साथ एकाधिक नोड्स को बदलें, मान लें कि मेरे पास neo4j में नोड्स की संपत्ति "नाम" है। अब मैं यह लागू करना चाहता हूं कि एक ही नाम के साथ सभी नोड्स की पहचान करके दिए गए नाम के लिए अधिकतम एक नोड है। अधिक स्पष्ट:neo4j: एक नोड
- सभी मूल तीन नोड से सभी गुण इकट्ठा: तीन नोड्स जहां नाम "कुत्ता" है देखते हैं, तो मैं उन्हें नाम "कुत्ता" है, जो के साथ सिर्फ एक नोड द्वारा प्रतिस्थापित किया जा करना चाहते हैं।
- क्या सभी आर्क्स मूल तीन नोड्स से जुड़े हुए हैं।
इसके लिए पृष्ठभूमि निम्न है: मेरे ग्राफ में, अक्सर उसी नाम के कई नोड्स होते हैं जिन्हें "बराबर" माना जाना चाहिए (हालांकि कुछ के पास दूसरों की तुलना में समृद्ध संपत्ति जानकारी है)। WHERE खंड में a.name = b.name
डालना बेहद धीमा है।
संपादित करें: मैं यह उल्लेख करना भूल गया कि मेरा नियो 4j वर्तमान में संस्करण 2.3.7 का है (मैं इसे अपडेट नहीं कर सकता)।
दूसरा संपादन: नोड्स के लिए लेबल और संभावित आर्क के लिए लेबल की एक ज्ञात सूची है। नोड्स का प्रकार ज्ञात है।
तीसरा संपादित करें: मैं जावा से "नोड पतन" प्रक्रिया को ऊपर कॉल करना चाहता हूं, इसलिए साइफर प्रश्नों और प्रक्रियात्मक कोड का मिश्रण भी एक उपयोगी समाधान होगा।
इन नोड्स के लिए लेबल ज्ञात हैं?इन सभी नोड्स के लिए यह वही है? और इस नोड्स के लिए रिश्तों के प्रकार के बारे में क्या? –
क्या होना चाहिए यदि नोड 1 (नाम = ए) और नोड 2 (नाम = ए) के पास अलग-अलग मानों के साथ समान संपत्ति हो? –
@ के.ई. यह वास्तव में मेरे मामले में कोई फर्क नहीं पड़ता। कोई भी मूल्यों में से एक को छोड़ सकता है या किसी दिए गए "संपत्ति" के लिए "संपत्ति 2" परिभाषित कर सकता है। सबसे महत्वपूर्ण बात यह है कि सभी आर्कों को इकट्ठा करना है, यानी नए नोड में सभी आने वाली और जाने वाली चापों को प्रतिस्थापित नोड्स के समान लेबल के साथ होना चाहिए। मेरे अनुरोध का मुख्य कारण यह है कि मेरे पास बहुत सारे आर्क ए -> बी 1, बी 2 -> सी हैं, जहां बी 1 और बी 2 "वास्तव में" एक ही नोड हैं और संबंध ए -> बी -> सी वह है जिसे मैं चाहता हूं ढूँढ़ने के लिए। –