में संबंध शक्ति का प्रतिनिधित्व (और वृद्धि) प्रतिनिधित्व करना मैं को Neo4j ग्राफ में नोड्स के बीच संबंधों की ताकत बदलना चाहता हूं।Neo4j
एक स्थिर ग्राफ के लिए, यह आसानी से संबंधों पर एक "शक्ति" संपत्ति की स्थापना द्वारा किया जाता है:
A --knows--> B
|
strength
|
3
हालांकि, एक ग्राफ कि समय के साथ अद्यतन करने की जरूरत के लिए, वहाँ एक समस्या है, incrementing के बाद से संपत्ति का मूल्य परमाणु रूप से (आरईएसटी इंटरफ़ेस के माध्यम से) नहीं किया जा सकता है क्योंकि एक पूर्व-लेखन-लेखन की आवश्यकता होती है। आने वाले स्ट्रीम किए गए डेटा के जवाब में ग्राफ़ को अपडेट किया जा रहा है, तो वृद्धि (केवल अद्यतन करने के बजाय) आवश्यक है।
मुझे यह सुनिश्चित करना होगा कि केवल एक आरईएसटी क्लाइंट एक बार (बाहरी सिंक्रनाइज़ेशन) पढ़ता है और लिखता है, या केवल एम्बेडेड एपीआई तक चिपक जाता है ताकि मैं अंतर्निहित लेन-देन का उपयोग कर सकूं। यह काम करने योग्य हो सकता है लेकिन अजीब लगता है।
एक अन्य समाधान है, किसी भी गुण के बिना, कई रिश्तों को रिकॉर्ड करने के लिए इतना है कि "शक्ति" वास्तव में, रिश्ते की गिनती है यानी
A knows B
A knows B
A knows B
शक्ति का संबंध का मतलब हो सकता है 3.
- नुकसान: केवल पूर्णांक शक्तियों दर्ज किया जा सकता
- लाभ: कोई पढ़ा-पहले-लिखने की आवश्यकता है
- नुकसान: (शायद) अधिक भंडारण की आवश्यकता
- नुकसान: (शायद) बहुत धीमी मान प्राप्त करने के बाद से कई रिश्तों को निकाला जाना चाहिए और गिना
किसी को भी इस दृष्टिकोण की कोशिश की है, और यह, प्रदर्शन के मुद्दों में चलाने के लिए विशेष रूप से होने की संभावना है जब पढ़ने ?
क्या इसका मॉडल करने का कोई बेहतर तरीका है?
धन्यवाद - वहां कई दिलचस्प संभावनाएं हैं! शब्दकोश की जांच करने के बाद, मुझे लगता है कि गैर-पूर्णांक 'वृद्धि' के बारे में बात करना ठीक है (हालांकि स्पष्ट रूप से आपको राशि निर्दिष्ट करना होगा)! – DNA