डीओटी (ग्राफ़ विवरण भाषा)

डीओटी एक ग्राफ विवरण भाषा होती है। डीओटी ग्राफ समान्यतः जीवी या डॉट कम्प्यूटर फाइल होती है। 2007 से पहले माइक्रोसॉफ्ट वर्ड के संस्करणों द्वारा उपयोग किए जाने वाले डॉट प्रसार और जीवी प्रसार को प्राथमिकता दी जाती थी।

विभिन्न प्रोग्राम डीओटी फाइलों को संसाधित कर सकते है। जैसे डॉट, नीटो, ट्वोपी, सर्को, एफडीपी और एसएफडीपी, एक डीओटी फाइल को पढ़ सकते है और इसे ग्राफिक रूप में प्रस्तुत कर सकते है। अन्य, जैसे कि gvpr, gc, acyclic, ccomps, sccmap, और tred, डीओटी फाइले पढ़ते है और प्रस्तुत ग्राफ पर गणना कर सकते है। अंत में, अन्य, जैसे लेफ्टी, डॉटी और ग्रेप्पा, एक परस्पर अंतरफलक प्रदान करते है। जीवेडित उपकरण एक टेक्स्ट संपादक को परस्पर प्रतिबिंब दर्शक के साथ जोड़ता है। अधिकांश प्रोग्राम ग्रप्ह्वइज़ पैकेज का हिस्सा होते है या आंतरिक रूप से इसका उपयोग करते है।

अप्रत्यक्ष ग्राफ
सबसे सरल रूप में, डीओटी का उपयोग ग्राफ अप्रत्यक्ष ग्राफ का वर्णन करने के लिए किया जा सकता है। एक अप्रत्यक्ष ग्राफ वस्तुओं के बीच सरल संबंध दिखाता है, जैसे लोगों के बीच दोस्ती होती है। ग्राफ कीवर्ड का उपयोग एक नया ग्राफ प्रारंभ करने के लिए किया जाता है, और नोड्स को ब्रेसिज़ के भीतर वर्णित किया जाता है। नोड्स के बीच संबंध दिखाने के लिए दोहरे-हाइफ़न (--) का उपयोग किया जाता है।

निर्देशित ग्राफ
अप्रत्यक्ष ग्राफ के समान, डीओटी ग्राफ निर्देशित ग्राफ का वर्णन कर सकता है, जैसे प्रवाह संचित्र और निर्भरता ट्री (ग्राफ सिद्धांत)। वाक्य - विन्यास अप्रत्यक्ष ग्राफ के समान होता है, इसके अतिरिक्त ग्राफ प्रारंभ करने के लिए ग्राफ कीवर्ड का उपयोग किया जाता है, और नोड्स के बीच संबंध दिखाने के लिए (->) का उपयोग किया जाता है।

गुण
डीओटी फाइलों में ग्राफ, नोड्स और किनारों पर विभिन्न विशेषताओं को प्रारंभ किया जा सकता है। ये विशेषताएँ रंग, आकार और रेखा शैलियों जैसे पहलुओं को नियंत्रित कर सकती है। नोड्स और किनारों के लिए, एक या अधिक विशेषता-मूल्य और अर्धविराम वर्गाकार कोष्ठक ([]) में रखा जाता है। ग्राफ विशेषताओं को ग्राफ तत्व के अंतर्गत प्रत्यक्ष विशेषता-मूल्य जोड़े के रूप में निर्दिष्ट किया जाता है, जहां कई विशेषताओं को अल्पविराम से अलग किया जाता है या वर्ग कोष्ठक के कई समूहों का उपयोग किया जाता है, जिसमें केवल नोड का नाम होता है, लेकिन बिंदुओं के बीच संबंध नहीं होता है

HTML जैसे अंकित केवल ग्राफ के उन संस्करणों पर उपलब्ध है जो नवंबर 2003 के मध्य से नए है, विशेष रूप से, उन्हें प्रस्तुत 1.10 का हिस्सा नहीं माना जाता है।

टिप्पणियाँ
डॉट सी और सी++ एकल रेखा और बहु रेखा टिप्पणी (कंप्यूटर प्रोग्रामिंग) का समर्थन करता है। इसके अतिरिक्त, यह उन रेखाओं को नहीं देखता है जिनके पहले अक्षर के रूप में संख्या चिह्न (#) होता है।

एक सरल उदाहरण
निम्नलिखित एक उदाहरण स्क्रिप्ट है जो एटैन अणु की बंधन संरचना का वर्णन करती है। यह एक अप्रत्यक्ष ग्राफ है और इसमें नोड विशेषताएँ सम्मलित है जैसा कि ऊपर बताया गया है।

विन्यास प्रोग्राम
डीओटी भाषा एक ग्राफ को परिभाषित करती है, लेकिन ग्राफ को प्रस्तुत करने के लिए सुविधाएं प्रदान नहीं करती है। ऐसे कई प्रोग्राम है जिनका उपयोग डीओटी भाषा में ग्राफ को प्रस्तुत करने और देखने के लिए किया जा सकता है:

सामान्य

 * ग्राफ - स्केलेबल वेक्टर ग्राफ, पीडीएफ, सुवाहय संजाल ग्राफ आदि जैसे विभिन्न प्रारूपों में ग्राफ को प्रस्तुत करने के लिए सीएलआई उपयोगिताओं और लाइब्रेरी का एक संग्रह होता है।
 * डॉट - रूपांतरण के बीच में सीएलआई उपकरण .dot और अन्य प्रारूप होते है।

जावास्क्रिप्ट

 * कैनविज – डीओटी फाइलों को प्रस्तुत करने के लिए एक जावास्क्रिप्ट लाइब्रेरी होती है।
 * डी3-ग्राफ – जेएस और डी3.जेएस पर आधारित एक जावास्क्रिप्ट लाइब्रेरी होती है जो डीओटी ग्राफ प्रस्तुत करती है और ग्राफ और परस्पर ग्राफ के बीच सजीव बदलाव का समर्थन करती है।
 * फोर्स.जे.एस – एक जावास्क्रिप्ट लाइब्रेरी जो संजाल ग्राफ के लिए इनपुट के रूप में डीओटी को स्वीकार करती है।
 * विज़.जेएस - ग्राफ का एक जावास्क्रिप्ट पोर्ट जो ब्राउजर में इसका उपयोग करने के लिए एक सरल आवरण प्रदान करता है।
 * hpcc-js/wasm ग्राफ – जेएस के समान ग्राफ के लिए एक तेज WASM लाइब्रेरी होती है।

जावा

 * जेफी – सभी प्रकार के संजाल और जटिल प्रणालियों, गतिशील और श्रेणीबद्ध ग्राफ के लिए एक परस्पर प्रत्योक्षकरण और अन्वेषण मंच होता है।
 * ग्रेप्पा – ग्राफ से जावा का आंशिक पोर्ट (प्रोग्रामिंग भाषा) है।
 * ग्राफविज-जावा – ग्राफ से जावा (प्रोग्रामिंग भाषा) का एक खुला स्रोत आंशिक पोर्ट github.com पर उपलब्ध है।
 * जेडजीआर द्रश्य – एक डीओटी द्रश्य।

अन्य

 * बेलुगिंग – एक पायथन (प्रोग्रामिंग भाषा) - और डीओटी और बेलुगा प्रसार का गूगल क्लाउड प्लेटफॉर्म-आधारित द्रश्य है।
 * डीओटी2टेक्स – फाइलों को डीओटी से PGF/TikZ में परिवर्तित करने का एक प्रोग्राम होता है, जो दोनों लैटेक्स में प्रस्तुत किए गए है।
 * ओमनी ग्रफल – मैक ओएस के लिए एक डिजिटल चित्रण उपकरण जो डीओटी के उपसमूह को आयात कर सकता है, एक संपादन योग्य दस्तावेज तैयार कर सकता है (लेकिन परिणाम को डीओटी पर वापस निर्यात नहीं कर सकता है)।
 * ट्यूलिप (सॉफ्टवेयर) – सी++ में एक सॉफ्टवेयर होता है जो विश्लेषण के लिए डीओटी फाइले आयात कर सकता है।
 * एफएक्स – यह एक स्क्रिप्ट अपाचे फ्लेक्स ग्राफ प्रतिपादन लाइब्रेरी होती है।

सीमाएँ
डीओटी प्रारूप उपयोगकर्ता को स्थितीय विशेषताओं के माध्यम से विन्यास विवरण निर्दिष्ट करने की अनुमति देता है, अधिकांश उपकरण स्वचालित विन्यास कलन विधि पर भरोसा करता है। यह कलन विधि सर्वोत्तम कभी-कभी अवांछनीय परिणाम उत्पन्न करते है।

उदाहरण के लिए: 'एक छवि जो अनुचित रूप से प्रस्तुत की गई प्रतीत होती है' वह शीर्षक छवि में प्रस्तुति संबंधी समस्याएं होती है। दाईं ओर का वर्ग पूर्ण वर्ग नहीं होता है।

इसे वेक्टर ग्राफ संपादक के साथ सही किया जा सकता है। कुछ स्थितियों में, किसी स्थिति को निर्दिष्ट करने के लिए पॉज विशेषता और ग्राफ को वर्गाकार करने के लिए वजन विशेषता का उपयोग करके इसे सही भी किया जा सकता है।

यह भी देखें

 * लिस्प (प्रोग्रामिंग भाषा) जैसे प्रोग्राम ट्री को डीओटी भाषा में बदलने के लिए lisp2डीओटी टूल। आनुवंशिक प्रोग्रामिंग के साथ उपयोग के लिए डिज़ाइन किया गया।

बाहरी संबंध

 * डीओटी tutorial and specification
 * Drawing graphs with डीओटी
 * Node, Edge and Graph Attributes
 * Node Shapes
 * Gallery of examples
 * Online graph visualization in SVG
 * Boost Graph Library