17

मैं UW में एक सीएस अनुसंधान छात्र हूँ के वास्तविक समय दृश्य के लिए सही विकल्प D3.js है, और मेरे समूह विशिष्ट नेटवर्क यातायात कल्पना करने के लिए प्रयास करने का मुद्दा यह है कि एक neo4j ग्राफ में डाल दिया है पर है वास्तविक समय में डीबी।Neo4j ग्राफ़ डीबी डेटा

मैं ऐसे gephi, cytoscape, रिक्शा (D3.js के आधार पर) के रूप में कई अलग अलग उपकरण, कुछ अन्य लोगों के, और D3.js. के बारे में पढ़ा है

हम अब तक डी 3.जेएस के साथ आगे बढ़ रहे हैं, लेकिन समुदाय की राय प्राप्त करना चाहते थे। हम neo4j की वजह से साइटोसस्केप का उपयोग नहीं कर सकते हैं, और महसूस करते हैं कि D3.js तेजी से वास्तविक समय के वातावरण में अर्ध-बड़े डेटा के साथ सबसे अच्छा काम करेगा।

सुझाव? सबसे अच्छा तरीका है neo4j लागू करने के लिए:

एक और सवाल के लिए

शायद, लेकिन यह भी इनपुट के लिए स्वतंत्र महसूस? जावा, रूबी, node.js?

धन्यवाद!

उत्तर

9

मेरे समझ: Gephi वास्तविक समय अद्यतन के साथ अच्छी तरह से काम नहीं करता; यह आमतौर पर स्थिर डेटा पर प्रयोग किया जाता है।

एक प्रमुख विचार - आप जिस विज़ुअलाइजेशन को पेश करना चाहते हैं वह क्या है? क्या यह एक निर्देशित ग्राफ है? चक्रीय? भारित? अतिरिक्त लेबल?

कुछ उपकरणकिटें वे क्या प्रदर्शित कर सकते हैं में 'तय' कर रहे हैं, लेकिन यह आसान एक ग्राफ पेश करने के लिए बनाते हैं। अन्य (जैसे डी 3) बहुत एक्स्टेंसिबल हैं, इसलिए आप बस कुछ भी बना सकते हैं।

StackOverflow प्रारूप के प्रयोजनों के लिए, आपको बेहतर उत्तर मिल सकता है अगर आप सीमाओं और आपके सिस्टम (वास्तविक डाटा दर, पतली/मोटी ग्राहक, अर्थात के प्रकार, आदि) की जरूरतों को नीचे पिन कर सकते हैं

+0

डेटा नेटवर्क यातायात होगा, विशेष रूप से टीसीपी यातायात शुरू करने के लिए। हम दोनों समय श्रृंखला का प्रयास करना चाहते हैं (रिक्शा इस विश्वास को उधार देता है) और निर्देशित ग्राफ। आपकी प्रतिक्रिया के लिए धन्यवाद, विशेष रूप से गेपी पर आपकी टिप्पणी के साथ। – jhanna0188

+0

क्या आप कुछ सुझाव दे सकते हैं, जो वेबल के साथ 3 डी में चक्रीय निर्देशित ग्राफ प्रदर्शित कर सकता है? : डी – inf3rno

7

मुझे लगता है कि डी 3 महान है, हालांकि हाल ही में वहाँ FOSDEM पर पर Sigma.js एक टॉक explaing कि तराजू बड़ा रेखांकन के लिए बेहतर है था। यह भी देखें http://thewhyaxis.info/hairball/

+0

हाँ, मैं वास्तव में लगता है कि यह इस मामले में Sigma.js करने के लिए नीचे बनाम D3.js आता है। जो स्वयं कैनवास बनाम एसवीजी स्थिति है। मैंने अब दोनों के बारे में बहुत कुछ पढ़ा है, और वास्तव में जेआरबी Neo4j कार्यान्वयन के साथ डी 3 की ओर झुका रहा हूँ। आपकी प्रतिक्रिया के लिए धन्यवाद! – jhanna0188

+1

@ jhanna0188 कैसे JRuby/Neo4j साथ डी 3 का उपयोग कर अपने अनुभव कैसा रहा? अंत में, क्या आपने सिग्माजेएस के साथ कुछ करने का प्रयास किया है? – emecas

8

जांच आउट विवाग्राफ जो बड़े नेटवर्क के लिए वास्तव में अच्छी तरह से प्रतिपादन और स्केल के लिए वेबग्ल का उपयोग करता है। उनके पास वास्तव में बड़े लोगों (एफबी, अमेज़ॅन) के लिए कुछ अच्छे उदाहरण हैं।

http://github.com/anvaka/VivaGraphJS

+0

ने कुछ मानक बनाए और विवाग्राफजेएस एनजीआरएफ (इसके सहायक) से बेहतर प्रदर्शन करता है – pcamelo

12

वहाँ इस तरह की समस्या के लिए एक चांदी की गोली समाधान नहीं है और सबसे क्या आपके मन में है क्या करने से निर्भर करता है, टीम और (पैसा और समय) आपको अपने मौजूदा बजट।

मैं तुम्हें डी 3 की सिफारिश नहीं होगा, जब तक आप के लिए है निम्न में से एक मुलाकात:

  • आप एक ब्रांड बनाना चाहते हैं नया तरीका अपना डेटा को
  • आप अपनी टीम में कुशल लोगों की है - यह है कि आप हो सकता है - डी 3 के साथ
  • आप पहले से ही अन्य डी 3 विगेट्स/एकीकृत करने के लिए

अर्थात आप प्रविष्टियों में से किसी से मुलाकात नहीं है, तो है ऊपर मैं एक तरफ डी 3 डाल होता है, और करने के लिए आपको बता एक नज़र डालें:

  • SigmaJS, मुक्त स्रोत और जावास्क्रिप्ट पुस्तकालय।
  • KeyLines, वाणिज्यिक जावास्क्रिप्ट टूलकिट।
  • VivaGraphJS, मुक्त स्रोत और जे एस पुस्तकालय।

अस्वीकरण: मैं KeyLines डेवलपरों में से एक हूँ।

आपके पास मौजूद डेटा के आकार के आधार पर, लाइब्रेरी का विकल्प बदल सकता है: यदि आपके चार्ट पर 3/400 से अधिक नोड्स नहीं हैं और विशेष स्टाइल/एनिमेशन की आवश्यकता नहीं है तो सिग्माजेएस मुझे लगता है कि और अधिक है ठीक से; हालांकि मैं सुझाव दे सकता है - आप स्टाइल या एनीमेशन मैं क्योंकि यह स्थितियों में इस तरह (एक वृद्धिशील लेआउट प्रदान करते हुए) को संभालने के लिए बनाया गया है, KeyLines की सिफारिश करेंगे और यह कोई समस्या नहीं के साथ 2000 नोड्स पैमाने करता के लिए और अधिक उन्नत कुछ के लिए देख रहे हैं इस आकार के साथ एक तरफ एक फिल्टर करने के लिए।

मैं अंतिम उपाय के रूप VivaGraph नाम होगा: SigmaJS एक WebGL रेंडरर रूप में अच्छी तरह है और एक बहुत अच्छे प्रतिपादन IMHO प्रदान करते हैं।
VivaGraphJS जल्द ही ngraph के साथ प्रतिस्थापित किया जाएगा renders के लिए है कि एक नास्तिक aproach का उपयोग करेगा: आप PIXI, कपड़ा उपयोग कर सकते हैं या जो भी आप चाहते हैं ....

एक WebGL रेंडरर का उपयोग करना समझ में आता है जब आप अपनी संपत्ति एक बार और पुन: उपयोग लोड उन्हें हर समय: यदि आप एक वास्तविक समय परिदृश्य में अपने चार्ट तत्वों स्टाइल रहे हैं उसके कैनवास IMHO पर लाभ नहीं।