JData
जे. डी. ए. टी. ए. एक हल्का डेटा एनोटेशन है और मानव-पठनीय (पाठ-आधारित) जे. एस. ओ. एन. और (द्विआधारी) यू. बी. जे. एस. ओ. एन. प्रारूपों का उपयोग करके सामान्य-उद्देश्य और वैज्ञानिक डेटा संरचनाओं का प्रतिनिधित्व करने के लिए डिज़ाइन किया गया खुला मानक है। जे. डी. ए. टी. ए. विनिर्देशन का उद्देश्य विशेष रूप से एम. ए. टी. एल. ए. बी., पायथन, जावास्क्रिप्ट आदि प्रोग्रामिंग भाषाओं के बीच पदानुक्रमित और जटिल डेटा के आदान-प्रदान को सरल बनाना है। यह जे. एस. ओ. एन.-संगत "नाम" की एक व्यापक सूची को परिभाषित करता हैः स्केलर, एन-आयामी सरणी, विरल/जटिल-मूल्यवान सरणी, मानचित्र, तालिका, हैश, जुड़ी सूचियां, पेड़ और ग्राफ सहित डेटा संरचनाओं की एक विस्तृत श्रृंखला को संग्रहीत करने के लिए मूल्य निर्माण, और प्रत्येक डेटा तत्व के लिए वैकल्पिक डेटा समूहीकरण और मेटाडेटा का समर्थन करता है। उत्पन्न डेटा फाइलें जे. एस. ओ. एन./यू. बी. जे. एस. ओ. एन. विनिर्देशों के साथ संगत हैं और अधिकांश मौजूदा पार्सरों द्वारा आसानी से संसाधित की जा सकती हैं। जे. डी. ए. टी. ए.-परिभाषित एनोटेशन कीवर्ड्स जे. एस. ओ. एन., डेटा संपीड़न, लिंकिंग और संदर्भ में दृढ़ता से टाइप किए गए द्विआधारी डेटा धाराओं के भंडारण की भी अनुमति देते हैं। जे. डी. ए. टी. ए. एनोटेशन योजना का प्रारंभिक विकास 2011 में जे. एस. ओ. एन. एल. ए. बी. टूलबॉक्स के विकास के हिस्से के रूप में शुरू हुआ-एक व्यापक रूप से उपयोग किया जाने वाला ओपन-सोर्स मैटलैब/जी. एन. यू. ऑक्टेव जे. एस. ओ. एन. रीडर/लेखक। अधिकांश एनोटेटेड एन-डी सरणी निर्माण, जैसे कि _ ऐरेटाइप _, _ ऐरेसाइज़ _, और _ ऐरेडेटा _, को जे. एस. ओ. एन. एल. ए. बी. के शुरुआती संस्करणों में लागू किया गया था। 2015 में, जे. डी. ए. टी. ए. विनिर्देशन का पहला मसौदा आई. एस. ओ. 2. मेश विकी में विकसित किया गया था; 2019 से, विनिर्देशन के बाद के विकास को गिथब में स्थानांतरित कर दिया गया है। जे. डी. ए. टी. ए. विनिर्देशन का v0.5 संस्करण विनिर्देशन का पहला पूर्ण मसौदा और टिप्पणी के लिए सार्वजनिक अनुरोध (आर. एफ. सी.) है, जिसे 15 मई, 2019 को उपलब्ध कराया गया था। विनिर्देशन का यह पूर्वावलोकन संस्करण वैज्ञानिक डेटा और अनुसंधान से संबंधित अधिकांश डेटा संरचनाओं का समर्थन करता है, जिसमें एन-डी सरणी, विरल और जटिल-मूल्यवान सरणी, द्विआधारी डेटा इंटरफेस, डेटा-रिकॉर्ड-स्तर संपीड़न, हैश, टेबल, ट्री, लिंक की गई सूचियाँ और ग्राफ शामिल हैं। यह डेटा लिंकिंग और संदर्भ के लिए सामान्य दृष्टिकोण का भी वर्णन करता है। इस विनिर्देशन संस्करण के संदर्भ कार्यान्वयन को जे. एस. ओ. एन. एल. ए. बी. v1.8 के रूप में जारी किया गया है। जे. डी. ए. टी. ए. संस्करण 1 मसौदा जे. डी. ए. टी. ए. विनिर्देशन संस्करण 1 का मसौदा 1 4 जून, 2019 को जारी किया गया था। इस रिलीज में प्रमुख परिवर्तनों में शामिल हैं 1) एन-डी सरणी तत्वों का क्रमबद्ध क्रम कॉलम-मेजर से पंक्ति-मेजर में बदल जाता है, 2) जटिल एन-डी सरणी के लिए _ एरेडेटा _ निर्माण 1-डी वेक्टर से दो-पंक्ति मैट्रिक्स में बदल जाता है, 3) हैश डेटा जे. एस. ओ. एन. प्रतिनिधित्व में गैर-स्ट्रिंग मूल्यवान कुंजियों का समर्थन करता है, और 4) सामान्य द्विआधारी डेटा या द्विआधारी बड़ी वस्तु (बी. एल. ओ. बी.) को क्रमबद्ध करने के लिए एक नया _ बाइटस्ट्रीम _ ऑब्जेक्ट जोड़ें। इस विनिर्देशन संस्करण के संदर्भ कार्यान्वयन को जे. एस. ओ. एन. एल. ए. बी. v1.9 के रूप में जारी किया गया है। जे. डी. ए. टी. ए. संस्करण 1 मसौदा 2 जे. डी. ए. टी. ए. विनिर्देशन संस्करण 1 का मसौदा 2 25 जुलाई, 2019 को जारी किया गया था। इस प्रकाशन में प्रमुख परिवर्तनों में शामिल हैं 1) _ ऐरेशेप _ टैग के माध्यम से विशेष मैट्रिक्स का समर्थन भंडारण, 2) सभी _ ऐरेकंप्रेशन * _ टैग का नाम बदलकर _ ऐरेज़िप * _ कर दिया गया, 3) समर्पित टेबल डेटा मुख्य शब्द जोड़ेंः _ टेबलकोल्स _, _ टेबलरोज़ _, और _ टेबलरेकॉर्ड्स। इस विनिर्देशन संस्करण के संदर्भ कार्यान्वयन को जे. एस. ओ. एन. एल. ए. बी. वी. 2 के रूप में जारी किया गया है। जे. डी. ए. टी. ए. एनोटेशन के उदाहरण संख्यात्मक स्केलर संख्यात्मक मान सीधे जे. एस. ओ. एन. या यू. बी. जे. एस. ओ. एन. विनिर्देशों द्वारा समर्थित हैं। जदाता एनोटेशन में परिवर्तित करते समय एक संख्यात्मक मान आमतौर पर अपरिवर्तित रहता है। फाइलों के रूप में संग्रहीत करते समय, उन्हें सीधे JSON/UBJSON संख्यात्मक मूल्य प्रपत्रों में संग्रहीत किया जाता है। उदाहरण के लिए विशेष स्थिरांक और स्ट्रिंग कुछ विशेष स्थिरांक हैं, अर्थात् "NaN", "अनंत" और "-अनंत", उन्हें JSꯑꯣꯟ/पाठ-जे. डी. ए. टी. प्रारूपों में संग्रहीत किए जाने पर विशेष स्ट्रिंग मुख्य शब्दों के रूप में कूटबद्ध किया जाता है, लेकिन द्विआधारी जे. डी. ए. टी. प्रारूप में संग्रहीत किए जाने पर अपरिवर्तित रहते हैं संरचनाएं और हैश मेटाडेटा या नामित-सदस्यों के साथ सरल सूचियों का प्रतिनिधित्व करते समय अक्सर पदानुक्रमित संरचनाओं की आवश्यकता होती है। क्योंकि "संरचना" डेटा-प्रकार को सीधे जे. एस. ओ. एन. और यू. बी. जे. एस. ओ. एन. में "ऑब्जेक्ट" निर्माण के लिए मैप किया जा सकता है, इसलिए, जे. डी. ए. टी. ए. एनोटेशन का उपयोग करते समय उन्हें परिवर्तित करने की आवश्यकता नहीं है। सरणी प्रारूप में 2डी सरणी सरल 1-आयामी वैक्टर "सरणी" निर्माण का उपयोग करके जे. एस. ओ. एन. और यू. बी. जे. एस. ओ. एन. दोनों में समर्थित हैं। उदाहरण के लिए एनोटेटेड प्रारूप में 2-डी सरणी जे. डी. ए. टी. ए. विनिर्देश में, हमने संग्रहीत डेटा रिकॉर्ड में डेटा प्रकार, डेटा आकार और संपीड़न जैसी अतिरिक्त जानकारी निर्दिष्ट करने की अनुमति देने के लिए एक हल्के वजन वाले डेटा एनोटेशन दृष्टिकोण की शुरुआत की। यह जे. डी. ए. टी. ए.-निर्दिष्ट मानव-पठनीय उपक्षेत्र कीवर्ड्स के साथ एक "संरचना-जैसे" डेटा कंटेनर (एक संरचना लगभग सभी प्रोग्रामिंग भाषा में समर्थित है) का उपयोग करके प्राप्त किया जाता है। इस निर्माण को कई मौजूदा जे. एस. ओ. एन./यू. बी. जे. एस. ओ. एन. पुस्तकालयों का उपयोग करके आसानी से क्रमबद्ध किया जाता है। उदाहरण के लिए, उपरोक्त 2-डी सरणी को बारीक-दाने वाले डेटा भंडारण 3-डी और उच्च आयामी सरणी की अनुमति देने के लिए एनोटेटेड प्रारूप का उपयोग करके वैकल्पिक रूप से संग्रहीत किया जा सकता है। कोई भी व्यक्ति उच्च आयामी सरणी को संग्रहीत करने के लिए प्रत्यक्ष-प्रारूप या एनोटेटेड-प्रारूप का उपयोग कर सकता है, जैसा कि जे. एस. ओ. एन./यू. बी. जे. एस. ओ. एन. दोनों द्वारा मूल रूप से समर्थित है, लेकिन पाठ-आधारित जे. डी. ए. टी. ए. के लिए एनोटेटेड प्रारूप का उपयोग करने का लाभ, और द्विआधारी-जे. डी. ए. टी. ए. के लिए पैक-सरणी अनुकूलित प्रारूप तेजी से प्रसंस्करण गति के कारण अधिक फायदेमंद हो जाता है। संपीड़न जे. डी. ए. टी. एनोटेशन के साथ सरणी डेटा स्थान बचाने के लिए डेटा संपीड़न का समर्थन करता है। कई अतिरिक्त मुख्य शब्दों की आवश्यकता होती है, जिनमें "_ अर्रेज़िपटाइप"-उपयोग की जाने वाली संपीड़न विधि, "_ अर्रेज़िपसाइज़ _"-संपीड़न से पहले "_ अर्रेडेटा _" निर्माण में संग्रहीत "पूर्व-संसाधित" डेटा का आयाम वेक्टर, और "_ अर्रेज़िपडेटा _"-संपीड़ित डेटा बाईट-स्ट्रीम शामिल हैं। उदाहरण के लिए जटिल-संख्या और जटिल-मूल्यवान सरणी देखें जेडीएटा विनिर्देशन एक जटिल-मूल्यवान डेटा रिकॉर्ड को "एनोटेटेड सरणी प्रारूप" का उपयोग करके संग्रहीत किया जाना चाहिए। यह _ ऐरेइस कॉम्प्लेक्स _ कीवर्ड्स की उपस्थिति और _ ऐरेडेटा _ निर्माण में जटिल मूल्यों के क्रमबद्धकरण के माध्यम से प्राप्त किया जाता है [[क्रमबद्ध वास्तविक-भाग मूल्य], [क्रमबद्ध कल्पना-भाग मूल्य]] विरल सरणियाँ देखें जे. डी. ए. टी. ए. विनिर्देशन जटिल-मूल्यवान विरल सरणियाँ देखें जे. डी. ए. टी. ए. विनिर्देशन टेबल्स देखें जे. डी. ए. टी. ए. विनिर्देशन पेड़ देखें जे. डी. ए. टी. विनिर्देशन ग्राफ देखें जे. डी. ए. टी. विनिर्देशन सॉफ्टवेयर पारिस्थितिकी तंत्र पाठ-आधारित जे. डी. ए. टी. ए. फाइलें सादे जे. एस. ओ. एन. फाइलें हैं और अधिकांश मौजूदा जे. एस. ओ. एन. पार्सर द्वारा आसानी से पार्स की जा सकती हैं। जे. एस. ओ. एन. फाइलों में जे. डी. ए. टी. एनोटेशन टैग होते हैं, उन्हें. जे. डी. टी. का प्रत्यय रखने की अनुशंसा की जाती है, हालांकि इसे. जे. एस. ओ. एन. के रूप में भी सहेजा जा सकता है। जे. डी. टी. और. जे. एस. एन. फ़ाइल के बीच कुछ मामूली अंतर मौजूद हैं, जिसमें जे. डी. टी. फ़ाइल एकल फ़ाइल जे. डी. टी. ए. के अंदर कई संयुग्मित जे. एस. ओ. एन. वस्तुओं को स्वीकार करती है। जे. डी. टी. स्ट्रिंग एक स्ट्रिंग के अंदर नई-पंक्तियों को स्वीकार करती है जबकि जे. एस. ओ. एन. विनिर्देश के लिए नई-पंक्ति वर्णों को "\n" के रूप में एन्कोड करने की आवश्यकता होती है; अधिकांश जे. एस. ओ. एन. पार्सर "आराम से" पार्सिंग मोड के माध्यम से स्ट्रिंग में नई-पंक्तियों को संसाधित कर सकते हैं। जे. डी. ए. टी. विनिर्देशन के द्विआधारी इंटरफेस को द्विआधारी जे. डी. ए. टी. (बी. जे. डी. ए. टी.) विनिर्देशन के माध्यम से परिभाषित किया गया है-एक प्रारूप जो बड़े पैमाने पर यू. बी. जे. एस. ओ. एन. विनिर्देशन मसौदा 12 से लिया गया है। यू. बी. जे. एस. ओ. एन. की तुलना में बी. जे. डी. ए. टी. प्रारूप में तीन विस्तारित विशेषताएं हैंः 1) बी. जे. डी. ए. टी. ए. 4 नए डेटा मार्कर पेश करता है ("यू. आई. एन. टी. 16" के लिए [यू], "यू. आई. एन. टी. 32" के लिए [एम], "यू. आई. एन. टी. 64" के लिए [एम], और "फ्लोट 16" के लिए [एच]) जो यू. बी. जे. एस. ओ. एन. में समर्थित नहीं थे, 2) बी. जे. डी. ए. टी. ए. एक अनुकूलित टाइप एन-डी सरणी कंटेनर पेश करता है, और 3) बी. जे. डी. ए. टी. ए. एन. एन./इन्फिनिटी को नल ([जेड]) में मानचित्रण करना बंद कर देता है, इसके बजाय, यह उनके संबंधित आई. ई. ई. ई. ई. 754 प्रतिनिधित्वों का उपयोग करता है। हल्का पायथन जेडेटा एनकोडर/डिकोडर, पायजडेटा, पायपीआई, डेबियन/उबुन्टू और गिटहब पर उपलब्ध है। यह जटिल डेटा संरचनाओं की एक विस्तृत श्रृंखला को परिवर्तित कर सकता है, जिसमें डिक्ट, सरणी, नंबरदार सरणी, जे. डी. ए. टी. प्रतिनिधित्व में और डेटा को जे. एस. ओ. एन. या यू. बी. जे. एस. ओ. एन. फ़ाइलों के रूप में निर्यात कर सकता है। बी. जे. डी. ए. टी. पायथन मॉड्यूल, पी. आई. बी. जे. जे., बी. जे. डी. ए. टी. ए./यू. बी. जे. एस. ओ. एन. फाइलों को पढ़ने/लिखने में सक्षम बनाता है, जो पी. आई. पी. आई., डेबियन/उबंटू और गिटहब पर भी उपलब्ध है। मैटलैब और जी. एन. यू. ऑक्टेव के लिए, जे. एस. ओ. एन. एल. ए. बी. वी. नवीनतम जे. डी. ए. टी. विनिर्देश के लिए संदर्भ कार्यान्वयन है, और डेबियन/उबंटू, फेडोरा और गिटहब पर उपलब्ध है। जे. एस. ओ. एन. एल. ए. बी. टूलबॉक्स को मैटलैब फाइल एक्सचेंज के माध्यम से भी वितरित किया जाता है, और यह सबसे लोकप्रिय डाउनलोड पैकेजों में से एक है, और लोकप्रिय फाइल 2018 में नामित किया गया है। जावास्क्रिप्ट के लिए, वेब पृष्ठों में जे. डी. ए. टी. ए. एन्कोडेड फ़ाइलों को संसाधित करने के लिए जे. डी. ए. टी. ए. नामक एक जे. डी. ए. टी. ए. एन्कोडर/डिकोडर विकसित किया गया है। जे. एस. डी. ए. टी. ए. का एक प्रमुख अनुप्रयोग एम. सी. एक्स. क्लाउड है, जो एन. आई. एच. द्वारा वित्त पोषित क्लाउड-आधारित मोंटे कार्लो फोटॉन परिवहन अनुकरण मंच है। मोंटे कार्लो एक्सट्रीम फोटॉन ट्रांसपोर्ट सिम्युलेटर के हिस्से के रूप में सी/सी + + में जे. डी. ए. टी. ए.-एनोटेशन वाली जे. एस. ओ. एन. फाइलों के एन्कोडिंग/डिकोडिंग के लिए कॉम्पैक्ट कार्य भी लागू किए गए हैं। मैसेजपैक संदर्भ बाहरी लिंक न्यूरोजेसन परियोजना जेडीएटा विनिर्देशन (नवीनतम) द्विआधारी जेडीएटा (बीजेडीएटा) विनिर्देशन (नवीनतम) क्रॉस-प्लेटफ़ॉर्म सॉफ़्टवेयर जे. एस. ओ. एन. डेटा क्रमिककरण प्रारूप डेटा विनिमय प्रारूप मार्कअप भाषा कंप्यूटर फ़ाइल प्रारूप भी देखें।