मैं Neo4j सामुदायिक संस्करण 2.1.4 का उपयोग कर रहा हूं। मेरे पास 4 स्तरों की पदानुक्रम है और प्रत्येक स्तर के नामों को मैंने उस स्तर के लिए लेबल नाम के रूप में माना है। मेरे ग्राफ में मेरे पास 4 लेबल हैं। अब पहली बार मैंने csv फाइल को neo4j में लोड किया है और उपयोग कर रहा है MERGE
तथा CREATE
कीवर्ड ने नोड्स और रिश्ते बनाए। भविष्य में आवश्यकता की तरह है
दृष्टांत 1:
if someone wants to rename the hierarchy level name to some new name, then I have to
change the label name to a new name.
परिदृश्य 2:
if any of the property name of node changes to to new name
दोनों मामलों में मैं नोड के इतिहास को ट्रैक करना चाहता था। मैं यह कैसे कर सकता हूं? ताकि भविष्य में कोई व्यक्ति इतिहास विवरण देखना चाहता हो, वे विवरण प्राप्त कर सकते हैं।
तो मैं neo4j में नोड्स के इतिहास विवरण को कैसे ट्रैक कर सकता हूं?
मेरा दृष्टिकोण: पहली बार मैं सीएसवी फ़ाइल को लोड करूँगा और नोड्स और रिश्ते बनाऊंगा। फिर अगर कोई नोड ए (स्तर का नाम जो मानक है) के लेबल नाम को बदलना चाहता है, जिसमें आईडी, नाम, start_date, end_date, Status जैसे गुण हैं। तब मैं नोड A को सभी गुणों के साथ दोहराऊंगा और स्थिति बदल दूंगा सेवा inactive
और मैं नए विवरण के साथ पुराने नोड को अधिलेखित कर दूंगा। लेकिन मुझे पता है कि यह समाधान काम करने वाला है या नहीं। इसके अलावा, मेरे db में 10000 से अधिक नोड हैं
तो कृपया मुझे नोड्स इतिहास को ट्रैक करने के लिए एक बेहतर तरीका सुझाएं।
उत्तर:
जवाब के लिए 2 № 1पर एक नज़र डालें GraphAware ChangeFeed मॉड्यूल। आप परिवर्तनों के इतिहास को ट्रैक कर सकते हैं और यह भी कॉन्फ़िगर कर सकते हैं कि आप किन परिवर्तनों को ट्रैक करना चाहते हैं और जिन्हें अनदेखा करना है।
जवाब के लिए 0 № 2
आप वर्जनिंग का उपयोग कर सकते हैं। इस ब्लॉग पोस्ट के उदाहरण: neo4j.org/graphgist?608bf0701e3306a23e77 जिसे आप अपनी आवश्यकताओं के लिए अनुकूलित कर सकते हैं