इन दो ग्राफ डेटाबेस के बीच क्या अंतर है: Neo4j और AllegroGraph? जावा वेब प्रोग्रामिंग के लिए कौन सा बेहतर है?ग्राफ डेटाबेस के बीच अंतर: Neo4j और AllegroGraph
उत्तर
यदि आपके पास RDF + SPARQL (जो दोनों उत्पाद समर्थन करते हैं) चुनने का कोई कारण नहीं है, तो Neo4j एक संपत्ति ग्राफ (नोड्स + रिलेशनशिप + दोनों पर गुण) में हेरफेर करने के लिए एक स्वच्छ जावा एपीआई प्रदान करता है। वेब अनुप्रयोगों के लिए, मैंने स्प्रिंग फ्रेमवर्क का उपयोग करके example लिखा, जो workshop के रूप में सरलीकृत संस्करण में भी मौजूद है।
अस्वीकरण: जाहिर है, मैं नियो 4j टीम पर हूं, और मेरे पास एलेग्रोग्राफ के बारे में कोई गहराई से ज्ञान नहीं है।
एलेग्रोग्राफ में एक जावा क्लाइंट लाइब्रेरी है जो 2 मानक जावा अर्थात् एपीआई का समर्थन करती है: जेना और तिल। क्लाइंट स्रोत जीथ्यूब पर ईपीएल है। एजी sparql, लेनदेन, तर्क, भू-स्थानिक, अस्थायी, और ग्राफ विश्लेषण का समर्थन करता है। विशेष रूप से वेब ऐप्स के लिए कोई अतिरिक्त सुविधाएं नहीं हैं, लेकिन यह लाइब्रेरी के रूप में किसी भी रूपरेखा में फिट होगी।
(मैं फ्रांज के लिए काम करते हैं।)
मैं AllegroGraph Neo4j से अधिक SPARQL क्वेरी के लिए अपने समर्थन की वजह से चुना है। मुझे लगता है कि ग्राफ को घुमाने का नियो 4j दृष्टिकोण कम साफ है, खासकर अधिक जटिल पुनर्प्राप्ति संचालन के लिए।
... और नहीं, मुझे किसी संगठन के साथ कोई संबद्धता नहीं है।
एक अन्य विचार लाइसेंस है। जब तक आपके पास 50 मिलियन से कम ट्रिपल हैं, तब तक एलेग्रोग्राफ का निःशुल्क संस्करण उपयोग किया जा सकता है। http://www.franz.com/agraph/allegrograph/ag_commercial_edition.lhtml
नियो 4j तब तक निःशुल्क है जब तक आपकी परियोजना समुदाय संस्करण का उपयोग करती है; केवल अगर आप Neo4j स्रोत को संशोधित करते हैं तो आपको संशोधनों को खोलने के लिए स्रोत-स्रोत होना चाहिए। मूल लाइसेंस शर्तों को उनके होम पेज पर पाया जा सकता है: http://neo4j.org/
बस एक परियोजना के लिए खोज की गई है कि नियो 4j का उपयोग बंद स्रोत परियोजनाओं में भी किया जा सकता है जब तक कि आप neo4j स्रोत के स्रोत स्रोतों को बंद न करें (जैसे MySQL और तो ...) –
इसे मेरे उत्तर में संपादित करने के लिए स्वतंत्र महसूस करें। –
धन्यवाद, मैंने अभी संपादन स्वीकार कर लिया है। –
SPARQL के अतिरिक्त, AllegoGraph आपको Prolog नियम और प्रश्न लिखने की अनुमति देता है। जटिल क्वेरी तर्क के लिए, यह SPARQL की तुलना में अधिक अभिव्यक्तिपूर्ण है। http://www.franz.com/agraph/support/documentation/v4/java-tutorial/java-tutorial-40.html
Neo4j RDF + SPARQL रूप में अच्छी तरह समर्थन करता है:
जावा ग्राहक ट्यूटोरियल में कुछ उदाहरण हैं। और बीटीडब्ल्यू [Gremlin] (http://github.com/tinkerpop/gremlin) भी। – nawroth
यह कोर फ़ंक्शन के रूप में नहीं हो सकता है। उस घटक के लिए होम पेज की रिक्तता समर्थन के स्तर के बारे में वॉल्यूम बोलती है। http://components.neo4j.org/neo4j-rdf-sparql/ – David