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

From Vigyanwiki
(Created page with "{{Short description|File format}} {{Manual|date=April 2023}} {{Infobox file format | name = DOT | icon = | iconcaption = | scr...")
 
No edit summary
 
(6 intermediate revisions by 3 users not shown)
Line 29: Line 29:
}}
}}


DOT एक [[ग्राफ़ (अलग गणित)]] विवरण भाषा है। डीओटी ग्राफ़ आम तौर पर [[फ़ाइल नाम एक्सटेंशन]] ''जीवी'' या ''डॉट'' वाली [[कम्प्यूटर फाइल]] होती हैं। 2007 से पहले [[माइक्रोसॉफ्ट वर्ड]] के संस्करणों द्वारा उपयोग किए जाने वाले एक्सटेंशन ''डॉट'' के साथ भ्रम से बचने के लिए ''जीवी'' एक्सटेंशन को प्राथमिकता दी जाती है।<ref>{{cite web |url=http://marc.info/?l=graphviz-devel&m=129418103126092|title=File extension .dot or .gv? |website=marc.info |access-date=2011-03-08}}</ref>
'''डीओटी''' एक [[ग्राफ़ (अलग गणित)|ग्राफ]] विवरण भाषा होती है। डीओटी ग्राफ समान्यतः ''जीवी'' या ''डॉट'' [[कम्प्यूटर फाइल]] होती है। 2007 से पहले [[माइक्रोसॉफ्ट वर्ड]] के संस्करणों द्वारा उपयोग किए जाने वाले ''डॉट'' प्रसार  और ''जीवी'' प्रसार को प्राथमिकता दी जाती थी।<ref>{{cite web |url=http://marc.info/?l=graphviz-devel&m=129418103126092|title=File extension .dot or .gv? |website=marc.info |access-date=2011-03-08}}</ref>
विभिन्न प्रोग्राम DOT फ़ाइलों को संसाधित कर सकते हैं। कुछ, जैसे डॉट, नीटो, ट्वोपी, सर्को, एफडीपी और एसएफडीपी, एक डीओटी फ़ाइल को पढ़ सकते हैं और इसे ग्राफिकल रूप में प्रस्तुत कर सकते हैं। अन्य, जैसे कि gvpr, gc, acyclic, ccomps, sccmap, और tred, DOT फ़ाइलें पढ़ते हैं और प्रस्तुत ग्राफ़ पर गणना करते हैं। अंत में, अन्य, जैसे लेफ्टी, डॉटी और ग्रेप्पा, एक इंटरैक्टिव इंटरफ़ेस प्रदान करते हैं। GVedit टूल एक टेक्स्ट एडिटर को नॉनइंटरएक्टिव इमेज व्यूअर के साथ जोड़ता है। अधिकांश प्रोग्राम [[ग्रप्ह्वइज़]] पैकेज का हिस्सा हैं या आंतरिक रूप से इसका उपयोग करते हैं।


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


=== ग्राफ़ प्रकार ===
== वाक्य - विन्यास ==


==== अप्रत्यक्ष ग्राफ़ ====
=== ग्राफ प्रकार ===
[[File:DotLanguageUndirected.svg|right|thumb|एक अप्रत्यक्ष ग्राफ]]सबसे सरल रूप में, डीओटी का उपयोग ग्राफ़ (अलग-अलग गणित)#अप्रत्यक्ष ग्राफ़ का वर्णन करने के लिए किया जा सकता है। एक अप्रत्यक्ष ग्राफ वस्तुओं के बीच सरल संबंध दिखाता है, जैसे लोगों के बीच दोस्ती। ग्राफ़ कीवर्ड का उपयोग एक नया ग्राफ़ शुरू करने के लिए किया जाता है, और नोड्स को घुंघराले ब्रेसिज़ के भीतर वर्णित किया जाता है। नोड्स के बीच संबंध दिखाने के लिए डबल-हाइफ़न (--) का उपयोग किया जाता है।
 
==== अप्रत्यक्ष ग्राफ ====
[[File:DotLanguageUndirected.svg|right|thumb|एक अप्रत्यक्ष ग्राफ]]सबसे सरल रूप में, डीओटी का उपयोग ग्राफ अप्रत्यक्ष ग्राफ का वर्णन करने के लिए किया जा सकता है। एक अप्रत्यक्ष ग्राफ वस्तुओं के बीच सरल संबंध दिखाता है, जैसे लोगों के बीच दोस्ती होती है। ग्राफ कीवर्ड का उपयोग एक नया ग्राफ प्रारंभ करने के लिए किया जाता है, और नोड्स को ब्रेसिज़ के भीतर वर्णित किया जाता है। नोड्स के बीच संबंध दिखाने के लिए दोहरे-हाइफ़न (--) का उपयोग किया जाता है।
<syntaxhighlight lang="dot">
<syntaxhighlight lang="dot">
// The graph name and the semicolons are optional
// The graph name and the semicolons are optional
Line 45: Line 46:
}
}
</syntaxhighlight>
</syntaxhighlight>
{{-}}
==== निर्देशित ग्राफ ====
 
[[File:DotLanguageDirected.svg|right|thumb|एक निर्देशित ग्राफ]]अप्रत्यक्ष ग्राफ के समान, डीओटी ग्राफ निर्देशित ग्राफ का वर्णन कर सकता है, जैसे [[प्रवाह संचित्र]] और निर्भरता ट्री (ग्राफ सिद्धांत)। वाक्य - विन्यास अप्रत्यक्ष ग्राफ के समान होता है, इसके अतिरिक्त ग्राफ प्रारंभ करने के लिए ग्राफ कीवर्ड का उपयोग किया जाता है, और नोड्स के बीच संबंध दिखाने के लिए (->) का उपयोग किया जाता है।
==== निर्देशित ग्राफ़ ====
[[File:DotLanguageDirected.svg|right|thumb|एक निर्देशित ग्राफ]]अप्रत्यक्ष ग्राफ़ के समान, डीओटी ग्राफ़ (असतत गणित)#निर्देशित ग्राफ़ का वर्णन कर सकता है, जैसे [[प्रवाह संचित्र]] और निर्भरता ट्री (ग्राफ़ सिद्धांत)। सिंटैक्स अप्रत्यक्ष ग्राफ़ के समान है, सिवाय इसके कि ग्राफ़ शुरू करने के लिए डिग्राफ कीवर्ड का उपयोग किया जाता है, और नोड्स के बीच संबंध दिखाने के लिए एक तीर (->) का उपयोग किया जाता है।
<syntaxhighlight lang="dot">
<syntaxhighlight lang="dot">
digraph graphname {
digraph graphname {
Line 55: Line 54:
}
}
</syntaxhighlight>
</syntaxhighlight>
{{-}}
=== गुण ===
=== गुण ===
[[File:DotLanguageAttributes.svg|right|thumb|विशेषताओं वाला एक ग्राफ़]]डीओटी फाइलों में ग्राफ़, नोड्स और किनारों पर विभिन्न विशेषताओं को लागू किया जा सकता है। <ref>{{cite web|title=नोड, किनारा और ग्राफ़ विशेषताएँ|url=http://www.graphviz.org/doc/info/attrs.html |website=graphviz.org|access-date=2017-05-12}}</ref> ये विशेषताएँ रंग, आकार और रेखा शैलियों जैसे पहलुओं को नियंत्रित कर सकती हैं। नोड्स और किनारों के लिए, एक या अधिक विशेषता-मूल्य जोड़े को एक कथन के बाद और अर्धविराम (जो वैकल्पिक है) से पहले वर्गाकार कोष्ठक ([]) में रखा जाता है। ग्राफ़ विशेषताओं को ग्राफ़ तत्व के अंतर्गत प्रत्यक्ष विशेषता-मूल्य जोड़े के रूप में निर्दिष्ट किया जाता है, जहां कई विशेषताओं को अल्पविराम से अलग किया जाता है या वर्ग कोष्ठक के कई सेटों का उपयोग किया जाता है, जबकि नोड विशेषताओं को एक बयान के बाद रखा जाता है जिसमें केवल नोड का नाम होता है, लेकिन नहीं बिंदुओं के बीच संबंध.
[[File:DotLanguageAttributes.svg|right|thumb|विशेषताओं वाला एक ग्राफ]]डीओटी फाइलों में ग्राफ, नोड्स और किनारों पर विभिन्न विशेषताओं को प्रारंभ किया जा सकता है। <ref>{{cite web|title=नोड, किनारा और ग्राफ़ विशेषताएँ|url=http://www.graphviz.org/doc/info/attrs.html |website=graphviz.org|access-date=2017-05-12}}</ref> ये विशेषताएँ रंग, आकार और रेखा शैलियों जैसे पहलुओं को नियंत्रित कर सकती है। नोड्स और किनारों के लिए, एक या अधिक विशेषता-मूल्य और अर्धविराम वर्गाकार कोष्ठक ([]) में रखा जाता है। ग्राफ विशेषताओं को ग्राफ तत्व के अंतर्गत प्रत्यक्ष विशेषता-मूल्य जोड़े के रूप में निर्दिष्ट किया जाता है, जहां कई विशेषताओं को अल्पविराम से अलग किया जाता है या वर्ग कोष्ठक के कई समूहों का उपयोग किया जाता है, जिसमें केवल नोड का नाम होता है, लेकिन बिंदुओं के बीच संबंध नहीं होता है


<syntaxhighlight lang="dot">
<syntaxhighlight lang="dot">
Line 73: Line 70:
     // [style=invis] hides a node.
     // [style=invis] hides a node.
}
}
</syntaxhighlight>
</syntaxhighlight>HTML जैसे अंकित केवल ग्राफ के उन संस्करणों पर उपलब्ध है जो नवंबर 2003 के मध्य से नए है, विशेष रूप से, उन्हें प्रस्तुत 1.10 का हिस्सा नहीं माना जाता है।<ref>{{cite web|url=http://www.graphviz.org/doc/info/shapes.html#html|title=Node Shapes: HTML-Like Labels|website=graphviz.org|access-date=2017-05-12}}</ref>
{{-}}
 
HTML जैसे लेबल केवल ग्राफ़विज़ के उन संस्करणों पर उपलब्ध हैं जो नवंबर 2003 के मध्य से नए हैं, विशेष रूप से, उन्हें रिलीज़ 1.10 का हिस्सा नहीं माना जाता है।<ref>{{cite web|url=http://www.graphviz.org/doc/info/shapes.html#html|title=Node Shapes: HTML-Like Labels|website=graphviz.org|access-date=2017-05-12}}</ref>
 
 
=== टिप्पणियाँ ===
=== टिप्पणियाँ ===
डॉट C और C++ स्टाइल सिंगल लाइन और मल्टीपल लाइन [[ टिप्पणी (कंप्यूटर प्रोग्रामिंग) ]] को सपोर्ट करता है। इसके अलावा, यह उन रेखाओं को नजरअंदाज कर देता है जिनके पहले अक्षर के रूप में संख्या चिह्न (#) होता है।
डॉट सी और सी++ एकल रेखा और बहु रेखा [[ टिप्पणी (कंप्यूटर प्रोग्रामिंग) |टिप्पणी (कंप्यूटर प्रोग्रामिंग)]] का समर्थन करता है। इसके अतिरिक्त, यह उन रेखाओं को नहीं देखता है जिनके पहले अक्षर के रूप में संख्या चिह्न (#) होता है।
<syntaxhighlight lang="text">
<syntaxhighlight lang="text">
// This is a single line comment.
// This is a single line comment.
Line 88: Line 80:
# Lines like this are also ignored.
# Lines like this are also ignored.
</syntaxhighlight>
</syntaxhighlight>
{{-}}
== एक सरल उदाहरण ==
== एक सरल उदाहरण ==
[[File:DottyRenderingofEthaneMolecule.png|right|thumb|225px|टूल का उपयोग करके उदाहरण स्क्रिप्ट का [[ प्रतिपादन (कंप्यूटर ग्राफिक्स) ]]। <code>dotty</code>]]निम्नलिखित एक उदाहरण स्क्रिप्ट है जो [[एटैन]] अणु की बंधन संरचना का वर्णन करती है। यह एक अप्रत्यक्ष ग्राफ़ है और इसमें नोड विशेषताएँ शामिल हैं जैसा कि ऊपर बताया गया है।
[[File:DottyRenderingofEthaneMolecule.png|right|thumb|225px|टूल का उपयोग करके उदाहरण स्क्रिप्ट का [[ प्रतिपादन (कंप्यूटर ग्राफिक्स) |प्रतिपादन (कंप्यूटर ग्राफिक्स)]] । <code>डीओटीty</code>]]निम्नलिखित एक उदाहरण स्क्रिप्ट है जो [[एटैन]] अणु की बंधन संरचना का वर्णन करती है। यह एक अप्रत्यक्ष ग्राफ है और इसमें नोड विशेषताएँ सम्मलित है जैसा कि ऊपर बताया गया है।
<syntaxhighlight lang="dot">
<syntaxhighlight lang="dot">
graph ethane {
graph ethane {
Line 103: Line 93:
}
}
</syntaxhighlight>
</syntaxhighlight>
{{-}}
== विन्यास प्रोग्राम ==
 
[[File:Huffman (To be or not to be).svg|right|thumb|एक ऑनलाइन [http://huffman.ooz.ie/ हफमैन ट्री जनरेटर] द्वारा डीओटी विवरण से ग्राफविज़ में बाइनरी ट्री उत्पन्न किया गया]]डीओटी भाषा एक ग्राफ को परिभाषित करती है, लेकिन ग्राफ को प्रस्तुत करने के लिए सुविधाएं प्रदान नहीं करती है। ऐसे कई प्रोग्राम है जिनका उपयोग डीओटी भाषा में ग्राफ को प्रस्तुत करने और देखने के लिए किया जा सकता है:
== लेआउट प्रोग्राम ==
[[File:Huffman (To be or not to be).svg|right|thumb|एक ऑनलाइन [http://huffman.ooz.ie/ हफमैन ट्री जनरेटर] द्वारा डीओटी विवरण से ग्राफविज़ में बाइनरी ट्री उत्पन्न किया गया]]डीओटी भाषा एक ग्राफ़ को परिभाषित करती है, लेकिन ग्राफ़ को प्रस्तुत करने के लिए सुविधाएं प्रदान नहीं करती है। ऐसे कई प्रोग्राम हैं जिनका उपयोग डीओटी भाषा में ग्राफ़ को प्रस्तुत करने, देखने और हेरफेर करने के लिए किया जा सकता है:


=== सामान्य ===
=== सामान्य ===


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


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


* कैनविज़{{snd}}डीओटी फाइलों को प्रस्तुत करने के लिए एक [[जावास्क्रिप्ट]] लाइब्रेरी<ref>{{cite web| url=http://www.ryandesign.com/canviz/ |title=canviz: graphviz on a canvas |access-date=2017-06-02}}</ref>
* कैनविज{{snd}}डीओटी फाइलों को प्रस्तुत करने के लिए एक [[जावास्क्रिप्ट]] लाइब्रेरी होती है।<ref>{{cite web| url=http://www.ryandesign.com/canviz/ |title=canviz: graphviz on a canvas |access-date=2017-06-02}}</ref>
* कूदने की हिम्मत करो{{snd}}विज़.जेएस और डी3.जेएस पर आधारित एक जावास्क्रिप्ट लाइब्रेरी जो डीओटी ग्राफ़ प्रस्तुत करती है और ग्राफ़ और इंटरैक्टिव ग्राफ़ हेरफेर के बीच एनिमेटेड बदलाव का समर्थन करती है<ref>{{cite web |url=https://github.com/magjac/d3-graphviz |website=github.com |title=GitHub - magjac/d3-graphviz: Graphviz DOT rendering and animated transitions using D3 |access-date=2018-06-06}}</ref>
* डी3-ग्राफ{{snd}}जेएस और डी3.जेएस पर आधारित एक जावास्क्रिप्ट लाइब्रेरी होती है जो डीओटी ग्राफ प्रस्तुत करती है और ग्राफ और परस्पर ग्राफ के बीच सजीव बदलाव का समर्थन करती है।<ref>{{cite web |url=https://github.com/magjac/d3-graphviz |website=github.com |title=GitHub - magjac/d3-graphviz: Graphviz DOT rendering and animated transitions using D3 |access-date=2018-06-06}}</ref>
* फोर्स.जे.एस{{snd}}एक जावास्क्रिप्ट लाइब्रेरी जो नेटवर्क ग्राफ़ के लिए इनपुट के रूप में डीओटी को स्वीकार करती है।<ref>{{cite web |url=http://visjs.org/docs/network/#importDot |website=vis.js |title=DOT भाषा में डेटा आयात करें|access-date=2018-12-22}}</ref>
* फोर्स.जे.एस{{snd}}एक जावास्क्रिप्ट लाइब्रेरी जो संजाल ग्राफ के लिए इनपुट के रूप में डीओटी को स्वीकार करती है।<ref>{{cite web |url=http://visjs.org/docs/network/#importDot |website=vis.js |title=DOT भाषा में डेटा आयात करें|access-date=2018-12-22}}</ref>
*विज़.जेएस - ग्राफ़विज़ का एक जावास्क्रिप्ट पोर्ट जो ब्राउज़र में इसका उपयोग करने के लिए एक सरल आवरण प्रदान करता है।
*विज़.जेएस - ग्राफ का एक जावास्क्रिप्ट पोर्ट जो ब्राउजर में इसका उपयोग करने के लिए एक सरल आवरण प्रदान करता है।
* hpcc-js/wasm ग्राफ़विज़{{snd}}विज़.जेएस के समान ग्राफ़विज़ के लिए एक तेज़ WASM लाइब्रेरी<ref>{{cite web |url=https://github.com/hpcc-systems/hpcc-js-wasm#graphviz-graphvizlibwasm |title=hpcc-js/wasm |access-date=2020-10-21}}</ref>
* hpcc-js/wasm ग्राफ{{snd}}जेएस के समान ग्राफ के लिए एक तेज WASM लाइब्रेरी होती है।<ref>{{cite web |url=https://github.com/hpcc-systems/hpcc-js-wasm#graphviz-graphvizlibwasm |title=hpcc-js/wasm |access-date=2020-10-21}}</ref>
 
 
===जावा===
===जावा===


* जपहि{{snd}}सभी प्रकार के नेटवर्क और जटिल प्रणालियों, गतिशील और श्रेणीबद्ध ग्राफ़ के लिए एक इंटरैक्टिव विज़ुअलाइज़ेशन और अन्वेषण मंच
* जेफी{{snd}}सभी प्रकार के संजाल और जटिल प्रणालियों, गतिशील और श्रेणीबद्ध ग्राफ के लिए एक परस्पर प्रत्योक्षकरण और अन्वेषण मंच होता है।
* ग्रेप्पा{{snd}}ग्राफविज़ से जावा का आंशिक पोर्ट (प्रोग्रामिंग भाषा)
* ग्रेप्पा{{snd}}ग्राफ से जावा का आंशिक पोर्ट (प्रोग्रामिंग भाषा) है।
* ग्राफविज़-जावा{{snd}}ग्राफविज़ से जावा (प्रोग्रामिंग भाषा) का एक खुला स्रोत आंशिक पोर्ट github.com पर उपलब्ध है
* ग्राफविज-जावा{{snd}}ग्राफ से जावा (प्रोग्रामिंग भाषा) का एक खुला स्रोत आंशिक पोर्ट github.com पर उपलब्ध है।
* ZGRव्यूअर{{snd}}एक डीओटी दर्शक<ref>{{cite web |url=http://zvtm.sourceforge.net/zgrviewer.html |website=zvtm.sourceforge.net |title=ZGRव्यूअर|access-date=2017-05-12}}</ref>
* जेडजीआर द्रश्य{{snd}}एक डीओटी द्रश्य।<ref>{{cite web |url=http://zvtm.sourceforge.net/zgrviewer.html |website=zvtm.sourceforge.net |title=ZGRव्यूअर|access-date=2017-05-12}}</ref>
 
 
===अन्य===
===अन्य===


*बेलुगिंग{{snd}}एक [[पायथन (प्रोग्रामिंग भाषा)]] - और डीओटी और बेलुगा एक्सटेंशन का Google क्लाउड प्लेटफ़ॉर्म-आधारित दर्शक
*बेलुगिंग{{snd}}एक [[पायथन (प्रोग्रामिंग भाषा)]] - और डीओटी और बेलुगा प्रसार का गूगल क्लाउड प्लेटफॉर्म-आधारित द्रश्य है।
* dot2tex{{snd}}फ़ाइलों को DOT से PGF/TikZ या [[PSTricks]] में परिवर्तित करने का एक प्रोग्राम, जो दोनों [[LaTeX]] में प्रस्तुत किए गए हैं<ref>{{cite web |title=dot2tex – A Graphviz to LaTeX converter |url=https://dot2tex.readthedocs.io/ |website=dot2tex.readthedocs.io |date=2019-11-01}}</ref>
* डीओटी2टेक्स{{snd}}फाइलों को डीओटी से PGF/TikZ में परिवर्तित करने का एक प्रोग्राम होता है, जो दोनों लैटेक्स में प्रस्तुत किए गए है।<ref>{{cite web |title=dot2tex – A Graphviz to LaTeX converter |url=https://dot2tex.readthedocs.io/ |website=dot2tex.readthedocs.io |date=2019-11-01}}</ref>
* [[OmniGraffle]]{{snd}}[[macOS]] के लिए एक [[डिजिटल चित्रण]] एप्लिकेशन जो DOT के एक सबसेट को आयात कर सकता है, एक संपादन योग्य दस्तावेज़ तैयार कर सकता है (लेकिन परिणाम को DOT पर वापस निर्यात नहीं किया जा सकता है)
* ओमनी ग्रफल{{snd}}[[macOS|मैक ओएस]] के लिए एक [[डिजिटल चित्रण]] उपकरण जो डीओटी के उपसमूह को आयात कर सकता है, एक संपादन योग्य दस्तावेज तैयार कर सकता है (लेकिन परिणाम को डीओटी पर वापस निर्यात नहीं कर सकता है)
* [[ट्यूलिप (सॉफ्टवेयर)]]{{snd}}[[C++]] में एक [[सॉफ्टवेयर ढांचा]] जो विश्लेषण के लिए DOT फ़ाइलें आयात कर सकता है<ref>{{cite web |url=http://tulip.labri.fr/ |website=tulip.labri.fr |title=Data Visualization Software – Tulip |access-date=2017-05-12}}</ref>
* [[ट्यूलिप (सॉफ्टवेयर)]]{{snd}}[[C++|सी++]] में एक [[सॉफ्टवेयर ढांचा|सॉफ्टवेयर]] होता है जो विश्लेषण के लिए डीओटी फाइले आयात कर सकता है।<ref>{{cite web |url=http://tulip.labri.fr/ |website=tulip.labri.fr |title=Data Visualization Software – Tulip |access-date=2017-05-12}}</ref>
* विज़ियरएफएक्स{{snd}}[[ ActionScript ]] में एक [[अपाचे फ्लेक्स]] ग्राफ़ रेंडरिंग लाइब्रेरी<ref>{{cite web |url=https://github.com/gvhung/vizierfx |website=github.com |title=GitHub - gvhung/vizierfx: Automatically exported from code.google.com/p/vizierfx |access-date=2017-05-12}}</ref>
* एफएक्स{{snd}}यह एक स्क्रिप्ट [[अपाचे फ्लेक्स]] ग्राफ प्रतिपादन लाइब्रेरी होती है।<ref>{{cite web |url=https://github.com/gvhung/vizierfx |website=github.com |title=GitHub - gvhung/vizierfx: Automatically exported from code.google.com/p/vizierfx |access-date=2017-05-12}}</ref>
 
 
== सीमाएँ ==
== सीमाएँ ==
जबकि डीओटी प्रारूप उपयोगकर्ता को स्थितीय विशेषताओं के माध्यम से लेआउट विवरण निर्दिष्ट करने की अनुमति देता है, अधिकांश उपकरण स्वचालित लेआउट एल्गोरिदम पर भरोसा करते हैं। ये एल्गोरिदम सर्वोत्तम प्रयास हैं और कभी-कभी अवांछनीय परिणाम उत्पन्न करते हैं।
डीओटी प्रारूप उपयोगकर्ता को स्थितीय विशेषताओं के माध्यम से विन्यास विवरण निर्दिष्ट करने की अनुमति देता है, अधिकांश उपकरण स्वचालित विन्यास कलन विधि पर भरोसा करता है। यह कलन विधि सर्वोत्तम कभी-कभी अवांछनीय परिणाम उत्पन्न करते है।


उदाहरण के लिए:
उदाहरण के लिए:
{| class="wikitable"
{| class="wikitable"
!colspan=2| Code
!colspan=2| कोड
|-
|-
|colspan=2| <syntaxhighlight lang="dot">
|colspan=2| <syntaxhighlight lang="dot">
Line 163: Line 145:
</syntaxhighlight>
</syntaxhighlight>
|-
|-
! Natural output || Edited output
! प्राकृतिक आउटपुट || संपादित आउटपुट
|-
|-
| [[File:Commutative diagram bad.svg|thumb|An image that seems improperly rendered]]
| [[File:Commutative diagram bad.svg|thumb|एक छवि जो अनुचित विधि से प्रस्तुत की गई लगती है]]
| [[File:commutative diagram fixed.svg|thumb|After moving labels and arrows a bit, and changing font size of subscripts, the image looks correct.]]
| [[File:commutative diagram fixed.svg|thumb|लेबल और तीरों को थोड़ा हिलाने और सबस्क्रिप्ट का फॉन्ट आकार बदलने के बाद, छवि सही दिखती है।]]
|}
|}
'एक छवि जो अनुचित रूप से प्रस्तुत की गई प्रतीत होती है' शीर्षक वाली छवि में प्रस्तुति संबंधी समस्याएं हैं। दाईं ओर का [[वर्ग]] पूर्ण वर्ग नहीं है, और कुछ लेबल अपने तीरों के साथ गलत संरेखित हैं (जैसे (जी ओ एफ)')।
'एक छवि जो अनुचित रूप से प्रस्तुत की गई प्रतीत होती है' वह शीर्षक छवि में प्रस्तुति संबंधी समस्याएं होती है। दाईं ओर का [[वर्ग]] पूर्ण वर्ग नहीं होता है।
 
इसे [[वेक्टर ग्राफ़िक्स संपादक]] के साथ ठीक किया जा सकता है। कुछ मामलों में, किसी स्थिति को निर्दिष्ट करने के लिए पॉज़ विशेषता और ग्राफ़ को वर्गाकार करने के लिए वज़न विशेषता का उपयोग करके भी इसे ठीक किया जा सकता है।{{clear}}


इसे [[वेक्टर ग्राफ़िक्स संपादक|वेक्टर ग्राफ संपादक]] के साथ सही किया जा सकता है। कुछ स्थितियों में, किसी स्थिति को निर्दिष्ट करने के लिए पॉज विशेषता और ग्राफ को वर्गाकार करने के लिए वजन विशेषता का उपयोग करके इसे सही भी किया जा सकता है।
== यह भी देखें ==
== यह भी देखें ==
* [[लिस्प (प्रोग्रामिंग भाषा)]] जैसे प्रोग्राम ट्री को डीओटी भाषा में बदलने के लिए [[lisp2dot]] टूल। [[आनुवंशिक प्रोग्रामिंग]] के साथ उपयोग के लिए डिज़ाइन किया गया।
* [[लिस्प (प्रोग्रामिंग भाषा)]] जैसे प्रोग्राम ट्री को डीओटी भाषा में बदलने के लिए [[lisp2dot|lisp2डीओटी]] टूल। [[आनुवंशिक प्रोग्रामिंग]] के साथ उपयोग के लिए डिज़ाइन किया गया।
{{commonscat|DOT language}}
{{commonscat|DOT language}}


Line 181: Line 162:


== बाहरी संबंध ==
== बाहरी संबंध ==
* [https://www.graphviz.org/documentation/ DOT tutorial and specification]
* [https://www.graphviz.org/documentation/ डीओटी tutorial and specification]
** [https://www.graphviz.org/pdf/dotguide.pdf Drawing graphs with dot]
** [https://www.graphviz.org/pdf/dotguide.pdf Drawing graphs with डीओटी]
** [https://www.graphviz.org/doc/info/attrs.html Node, Edge and Graph Attributes]
** [https://www.graphviz.org/doc/info/attrs.html Node, Edge and Graph Attributes]
** [https://www.graphviz.org/doc/info/shapes.html Node Shapes]
** [https://www.graphviz.org/doc/info/shapes.html Node Shapes]
Line 189: Line 170:
* [https://www.boost.org/libs/graph/doc/index.html Boost Graph Library]
* [https://www.boost.org/libs/graph/doc/index.html Boost Graph Library]


{{Graph representations}}[[Category: गणितीय सॉफ्टवेयर]] [[Category: ग्राफ़ विवरण भाषाएँ]] [[Category: ग्राफ़ आरेखण]]
{{Graph representations}}
 
 


[[Category: Machine Translated Page]]
[[Category:All articles with style issues]]
[[Category:Collapse templates]]
[[Category:Commons category link is locally defined]]
[[Category:Created On 10/07/2023]]
[[Category:Created On 10/07/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages with script errors]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates generating microformats]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:Wikipedia articles with style issues from April 2023]]
[[Category:Wikipedia metatemplates]]
[[Category:गणितीय सॉफ्टवेयर]]
[[Category:ग्राफ़ आरेखण]]
[[Category:ग्राफ़ विवरण भाषाएँ]]

Latest revision as of 11:04, 27 July 2023

DOT
Filename extensions.gv
Type of formatGraph description language
Open format?Yes

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

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

वाक्य - विन्यास

ग्राफ प्रकार

अप्रत्यक्ष ग्राफ

एक अप्रत्यक्ष ग्राफ

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

// The graph name and the semicolons are optional
graph graphname {
    a -- b -- c;
    b -- d;
}

निर्देशित ग्राफ

एक निर्देशित ग्राफ

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

digraph graphname {
    a -> b -> c;
    b -> d;
}

गुण

विशेषताओं वाला एक ग्राफ

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

graph graphname {
    // This attribute applies to the graph itself
    size="1,1";
    // The label attribute can be used to change the label of a node
    a [label="Foo"];
    // Here, the node shape is changed.
    b [shape=box];
    // These edges both have different line properties
    a -- b -- c [color=blue];
    b -- d [style=dotted];
    // [style=invis] hides a node.
}

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

टिप्पणियाँ

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

// This is a single line comment.
/* This is a
   multiple line
   comment. */
# Lines like this are also ignored.

एक सरल उदाहरण

टूल का उपयोग करके उदाहरण स्क्रिप्ट का प्रतिपादन (कंप्यूटर ग्राफिक्स)डीओटीty

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

graph ethane {
    C_0 -- H_0 [type=s];
    C_0 -- H_1 [type=s];
    C_0 -- H_2 [type=s];
    C_0 -- C_1 [type=s];
    C_1 -- H_3 [type=s];
    C_1 -- H_4 [type=s];
    C_1 -- H_5 [type=s];
}

विन्यास प्रोग्राम

एक ऑनलाइन हफमैन ट्री जनरेटर द्वारा डीओटी विवरण से ग्राफविज़ में बाइनरी ट्री उत्पन्न किया गया

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

सामान्य

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

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

जावा

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

अन्य

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

सीमाएँ

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

उदाहरण के लिए:

कोड
digraph g {
	node [shape=plaintext];
	A1 -> B1;
	A2 -> B2;
	A3 -> B3;
	
	A1 -> A2 [label=f];
	A2 -> A3 [label=g];
	B2 -> B3 [label="g'"];
	B1 -> B3 [label="(g o f)'" tailport=s headport=s];

	{ rank=same; A1 A2 A3 }
	{ rank=same; B1 B2 B3 } 
}
प्राकृतिक आउटपुट संपादित आउटपुट
एक छवि जो अनुचित विधि से प्रस्तुत की गई लगती है
लेबल और तीरों को थोड़ा हिलाने और सबस्क्रिप्ट का फॉन्ट आकार बदलने के बाद, छवि सही दिखती है।

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

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

यह भी देखें

टिप्पणियाँ

  1. "File extension .dot or .gv?". marc.info. Retrieved 2011-03-08.
  2. "नोड, किनारा और ग्राफ़ विशेषताएँ". graphviz.org. Retrieved 2017-05-12.
  3. "Node Shapes: HTML-Like Labels". graphviz.org. Retrieved 2017-05-12.
  4. "canviz: graphviz on a canvas". Retrieved 2017-06-02.
  5. "GitHub - magjac/d3-graphviz: Graphviz DOT rendering and animated transitions using D3". github.com. Retrieved 2018-06-06.
  6. "DOT भाषा में डेटा आयात करें". vis.js. Retrieved 2018-12-22.
  7. "hpcc-js/wasm". Retrieved 2020-10-21.
  8. "ZGRव्यूअर". zvtm.sourceforge.net. Retrieved 2017-05-12.
  9. "dot2tex – A Graphviz to LaTeX converter". dot2tex.readthedocs.io. 2019-11-01.
  10. "Data Visualization Software – Tulip". tulip.labri.fr. Retrieved 2017-05-12.
  11. "GitHub - gvhung/vizierfx: Automatically exported from code.google.com/p/vizierfx". github.com. Retrieved 2017-05-12.


बाहरी संबंध