# ऑन्टोलॉजी संरचना तकनीकी विनिर्देश ## अवलोकन यह विनिर्देश ट्रस्टग्राफ सिस्टम के भीतर ऑन्टोलॉजी की संरचना और प्रारूप का वर्णन करता है। ऑन्टोलॉजी औपचारिक ज्ञान मॉडल प्रदान करते हैं जो क्लास, गुण और संबंधों को परिभाषित करते हैं, और तर्क और अनुमान क्षमताओं का समर्थन करते हैं। सिस्टम एक OWL-प्रेरित कॉन्फ़िगरेशन प्रारूप का उपयोग करता है जो व्यापक रूप से OWL/RDFS अवधारणाओं का प्रतिनिधित्व करता है, जबकि ट्रस्टग्राफ की आवश्यकताओं के लिए अनुकूलित है। **नामकरण सम्मेलन**: यह परियोजना सभी पहचानकर्ताओं (कॉन्फ़िगरेशन कुंजियों, API एंडपॉइंट, मॉड्यूल नामों, आदि) के लिए "केबब-केस" का उपयोग करती है, न कि "स्नेक_केस" का। ## लक्ष्य - **क्लास और प्रॉपर्टी प्रबंधन**: OWL-जैसी क्लास को प्रॉपर्टी, डोमेन, रेंज और टाइप बाधाओं के साथ परिभाषित करें। - **समृद्ध शब्दार्थ समर्थन**: व्यापक RDFS/OWL प्रॉपर्टी सहित लेबल, बहु-भाषा समर्थन और औपचारिक बाधाओं को सक्षम करें। - **बहु-ऑन्टोलॉजी समर्थन**: कई ऑन्टोलॉजी को एक साथ मौजूद रहने और इंटरऑपरेट करने की अनुमति दें। - **सत्यापन और तर्क**: सुनिश्चित करें कि ऑन्टोलॉजी OWL-जैसी मानकों के अनुरूप हैं, जिसमें स्थिरता जांच और अनुमान समर्थन शामिल है। - **मानक अनुकूलता**: मानक प्रारूपों (टर्टल, RDF/XML, OWL/XML) में आयात/निर्यात का समर्थन करें, जबकि आंतरिक अनुकूलन बनाए रखें। ## पृष्ठभूमि ट्रस्टग्राफ ऑन्टोलॉजी को एक लचीली कुंजी-मान्य सिस्टम में कॉन्फ़िगरेशन आइटम के रूप में संग्रहीत करता है। जबकि प्रारूप OWL (वेब ऑन्टोलॉजी लैंग्वेज) से प्रेरित है, यह ट्रस्टग्राफ के विशिष्ट उपयोग के मामलों के लिए अनुकूलित है और सभी OWL विनिर्देशों का सख्ती से पालन नहीं करता है। ट्रस्टग्राफ में ऑन्टोलॉजी निम्नलिखित को सक्षम करते हैं: - औपचारिक ऑब्जेक्ट प्रकारों और उनके गुणों की परिभाषा - प्रॉपर्टी डोमेन, रेंज और टाइप बाधाओं का विनिर्देश - तार्किक तर्क और अनुमान - जटिल संबंध और कार्डिनैलिटी बाधाएं - अंतर्राष्ट्रीयकरण के लिए बहु-भाषा समर्थन ## ऑन्टोलॉजी संरचना ### कॉन्फ़िगरेशन भंडारण ऑन्टोलॉजी को निम्नलिखित पैटर्न के साथ कॉन्फ़िगरेशन आइटम के रूप में संग्रहीत किया जाता है: - **टाइप**: `ऑन्टोलॉजी` - **कुंजी**: अद्वितीय ऑन्टोलॉजी पहचानकर्ता (जैसे, `प्राकृतिक-दुनिया`, `डोमेन-मॉडल`) - **मान**: JSON प्रारूप में पूरी ऑन्टोलॉजी ### JSON संरचना ऑन्टोलॉजी JSON प्रारूप में चार मुख्य अनुभाग होते हैं: #### 1. मेटाडेटा ऑन्टोलॉजी के बारे में प्रशासनिक और वर्णनात्मक जानकारी शामिल है: ```json { "metadata": { "नाम": "प्राकृतिक दुनिया", "विवरण": "प्राकृतिक क्रम को कवर करने वाली ऑन्टोलॉजी", "संस्करण": "1.0.0", "बनाया गया": "2025-09-20T12:07:37.068Z", "संशोधित": "2025-09-20T12:12:20.725Z", "निर्माता": "वर्तमान-उपयोगकर्ता", "नेमस्पेस": "http://trustgraph.ai/ontologies/natural-world", "आयात": ["http://www.w3.org/2002/07/owl#"] } } ``` **फ़ील्ड:** - `नाम`: ऑन्टोलॉजी का मानव-पठनीय नाम - `विवरण`: ऑन्टोलॉजी के उद्देश्य का संक्षिप्त विवरण - `संस्करण`: सिमेंटिक संस्करण संख्या - `बनाया गया`: निर्माण का ISO 8601 टाइमस्टैम्प - `संशोधित`: अंतिम संशोधन का ISO 8601 टाइमस्टैम्प - `निर्माता`: निर्माता उपयोगकर्ता/सिस्टम की पहचान - `नेमस्पेस`: ऑन्टोलॉजी तत्वों के लिए आधार URI - `आयात`: आयातित ऑन्टोलॉजी URI का सरणी #### 2. क्लास ऑब्जेक्ट प्रकार और उनके पदानुक्रमित संबंधों को परिभाषित करता है: ```json { "क्लास": { "जानवर": { "URI": "http://trustgraph.ai/ontologies/natural-world#animal", "टाइप": "owl:Class", "rdfs:लेबल": [{"मान": "जानवर", "भाषा": "en"}], "rdfs:टिप्पणी": "एक जानवर", "rdfs:उपवर्ग": "जीवनरूप", "owl:समतुल्यक्लास": ["प्राणी"], "owl:भिन्न": ["पौधा"], "dcterms:पहचानकर्ता": "ANI-001" } } } ``` **समर्थित प्रॉपर्टी:** - `URI`: क्लास का पूरा URI - `टाइप`: `owl:Class` - `rdfs:लेबल`: क्लास का लेबल - `rdfs:टिप्पणी`: क्लास का विवरण - `rdfs:उपवर्ग`: पैरेंट क्लास - `owl:समतुल्यक्लास`: समान क्लास - `owl:भिन्न`: अलग क्लास - `dcterms:पहचानकर्ता`: क्लास का पहचानकर्ता #### 3. ऑब्जेक्ट प्रॉपर्टी ऑब्जेक्ट और उनके गुणों के बीच संबंधों को परिभाषित करता है: ```json { "ऑब्जेक्टप्रॉपर्टी": { "hasPart": { "URI": "http://trustgraph.ai/ontologies/natural-world#hasPart", "टाइप": "owl:ObjectProperty", "rdfs:लेबल": [{"मान": "hasPart", "भाषा": "en"}], "rdfs:टिप्पणी": "यह दर्शाता है कि एक ऑब्जेक्ट का एक भाग है" } } } ``` **समर्थित प्रॉपर्टी:** - `URI`: प्रॉपर्टी का पूरा URI - `टाइप`: `owl:ObjectProperty` या `owl:DatatypeProperty` - `rdfs:लेबल`: प्रॉपर्टी का लेबल - `rdfs:टिप्पणी`: प्रॉपर्टी का विवरण #### 4. डेटाटाइप प्रॉपर्टी ऑब्जेक्ट के डेटा मानों को परिभाषित करता है: ```json { "डेटाटाइप्रॉपर्टी": { "नंबरऑफलेग्स": { "URI": "http://trustgraph.ai/ontologies/natural-world#number-of-legs", "टाइप": "owl:DatatypeProperty", "rdfs:लेबल": [{"मान": "नंबर-ऑफ-लेग्स", "भाषा": "en"}], "rdfs:टिप्पणी": "जानवर की पैर की संख्या", "rdfs:डोमेन": "जानवर" } } } ``` **समर्थित प्रॉपर्टी:** - `URI`: प्रॉपर्टी का पूरा URI - `टाइप`: `owl:DatatypeProperty` - `rdfs:लेबल`: प्रॉपर्टी का लेबल - `rdfs:टिप्पणी`: प्रॉपर्टी का विवरण - `rdfs:डोमेन`: प्रॉपर्टी का डोमेन ## सत्यापन नियम ### संरचनात्मक सत्यापन 1. **URI संगति**: सभी URI `{नेमस्पेस}#{पहचानकर्ता}` पैटर्न का पालन करना चाहिए। 2. **क्लास पदानुक्रम**: `rdfs:उपवर्ग` में कोई गोलाकार वंश नहीं होना चाहिए। 3. **प्रॉपर्टी डोमेन/रेंज**: मौजूदा क्लास या मान्य XSD प्रकारों को संदर्भित करना चाहिए। 4. **भिन्न वर्ग**: एक दूसरे के उपवर्ग नहीं हो सकते। 5. **उलटा प्रॉपर्टी**: यदि निर्दिष्ट है, तो द्विदिश होना चाहिए। ### शब्दार्थ सत्यापन 1. **अद्वितीय पहचानकर्ता**: क्लास और प्रॉपर्टी पहचानकर्ता ऑन्टोलॉजी के भीतर अद्वितीय होने चाहिए। 2. **भाषा टैग**: BCP 47 भाषा टैग प्रारूप का पालन करना चाहिए। 3. **कार्डिनैलिटी बाधाएं**: जब दोनों निर्दिष्ट हों, तो `minCardinality` ≤ `maxCardinality` होना चाहिए। 4. **कार्यात्मक प्रॉपर्टी**: `maxCardinality` > 1 नहीं हो सकता। ## आयात/निर्यात प्रारूप समर्थन जबकि आंतरिक प्रारूप JSON है, सिस्टम मानक ऑन्टोलॉजी प्रारूपों में रूपांतरण का समर्थन करता है: - **टर्टल (.ttl)** - कॉम्पैक्ट RDF क्रमबद्धता - **RDF/XML (.rdf, .owl)** - W3C मानक प्रारूप - **OWL/XML (.owx)** - OWL-विशिष्ट XML प्रारूप - **JSON-LD (.jsonld)** - लिंक्ड डेटा के लिए JSON ## संदर्भ - [OWL 2 वेब ऑन्टोलॉजी भाषा](https://www.w3.org/TR/owl2-overview/) - [RDF स्कीमा 1.1](https://www.w3.org/TR/rdf-schema/) - [XML स्कीमा डेटाटाइप](https://www.w3.org/TR/xmlschema-2/) - [BCP 47 भाषा टैग](https://tools.ietf.org/html/bcp47)