2009-04-13 5 views
17

मैं ग्राफ संबंध बनाने के लिए एक सरल जावा एपीआई खोजने की कोशिश कर रहा हूं - addEdge(), addNode(), कनेक्ट किया गया है (नोड 1, नोड 2), findPaths (node1 , नोड 2), आदि कोई यूआई, सिर्फ तर्क। मैं अकादमिक परियोजनाओं का एक गुच्छा पा सकता हूं, लेकिन कोई भी "परिभाषित ग्राफ एपीआई" नहीं लगता है।ग्राफ़ बनाने के लिए एक साधारण जावा एपीआई खोजना (किनारों + नोड्स)

क्या किसी को पता है कि ऐसी कोई चीज़ मौजूद है या नहीं?

उत्तर

11

JGraphT जैसा लगता है कि आप क्या कर रहे हैं।

जेजीआरटीटी एक मुफ्त जावा ग्राफ लाइब्रेरी है जो गणितीय ग्राफ-सिद्धांत ऑब्जेक्ट्स और एल्गोरिदम प्रदान करती है। जेजीआरटीटी विभिन्न प्रकार के ग्राफ का समर्थन करता है।

उनके एपीआई विभिन्न इनपुट से रेखांकन बना सकते हैं और यह भी addVertex, addEdge का उपयोग कर बनाने रेखांकन का समर्थन करता है। वे बेलमैन-फोर्ड और डिजस्ट्रा जैसे विभिन्न अच्छी तरह से पता एल्गोरिदम का उपयोग करके सबसे कम पथ ढूंढने का समर्थन करते हैं, उनके पास एक पूर्ण javadoc available online भी है।

+0

जेजीआरटीटी के साथ न्यूनतम स्पैनिंग पेड़ कैसे बना सकता है? –

+0

prefuse के बारे में क्या? – zengr

+0

नोट: जेजीआरएफ जो एक जीयूआई है उसके साथ इसका उपयोग किया जा सकता है। –

3

JDLS सामान्य रूप से ग्राफ और डेटास्ट्रक्चर के लिए एक महान पुस्तकालय है। आप Grappa लाइब्रेरी का भी उपयोग कर सकते हैं। इसका लाभ यह है कि यह ग्राफ़ लेआउटिंग के लिए graphViz पुस्तकालयों का उपयोग कर सकता है।

2

निश्चित रूप से आपको http://neo4j.org/ का प्रयास करना चाहिए यह जावा में लिखा गया महान ग्राफ डेटाबेस है लेकिन यह बहुत छोटे एप्लिकेशन में एम्बेडेड डेटाबेस के रूप में भी काम कर सकता है।

इस डेटाबेस में आपको अरबों नोड्स को स्टोर करने की योजना बनाने की आवश्यकता है। सौभाग्य।

0

JUNG - जावा यूनिवर्सल नेटवर्क/ग्राफ फ्रेमवर्क - सबसे तेज़ उपलब्ध है (सीईआरएन गणित पुस्तकालय COLT को कार्यान्वित करना), खासकर यदि आप ग्राफ विश्लेषण, मध्यस्थता माप (बीच, पेजरैंक इत्यादि) करना चाहते हैं। इसके अलावा यह नेटवर्क विज़ुअलाइजेशन के लिए अनुमति देता है।

संबंधित मुद्दे