2011-10-25 13 views
6

शायद कोई मुझे संकेत दे सकता है। क्या एक ही ऑन्टोलॉजी से संबंधित 2 अवधारणाओं/कक्षाओं के बीच की दूरी को मापना संभव है?आरडीएफ/ओडब्लूएल ग्राफ में कक्षाओं के बीच माप माप

उदाहरण के लिए, मान लीजिए कि मेरे पास खगोल विज्ञान वर्ग और टेलीस्कोप वर्ग के साथ एक ऑटोलॉजी है। दोनों के बीच एक लिंक है, लेकिन यह एक सीधा लिंक नहीं है। खगोल विज्ञान में विज्ञान नामक एक अभिभावक वर्ग होता है, और टेलीस्कोप में ऑप्टिकल इंस्ट्रूमेंट नामक एक अभिभावक वर्ग होता है जो अपने माता-पिता से इंस्ट्रुमेंटेशन कहा जाता है, जो कि एस्पिरिकल साइंस नामक एक वर्ग से संबंधित है जो अंत में विज्ञान नामक वर्ग से संबंधित है।

तो वहाँ टेलीस्कोप और खगोल विज्ञान के बीच एक अप्रत्यक्ष लिंक है, और मैं एक वर्ग एक दूसरे से शुरू तक पहुँचने के लिए के चरणों की संख्या पता लगाना चाहते हैं।

एक आसान SPARQL क्वेरी कि उस सवाल को हल करता है? या क्या नौकरी करने के बेहतर तरीके हैं? या अर्थपूर्ण वेब प्रतिमान का उपयोग करके इसे खोजना संभव नहीं है?

किसी भी संकेत की बहुत सराहना की जाएगी।

उत्तर

4

मेरी समझ में SPARQL किसी भी पुनरावर्ती निर्माण शामिल नहीं है मनमाना लंबाई के अप्रत्यक्ष लिंक को मापने के लिए सक्षम होने के लिए। सबसे अच्छा आप कर सकते हैं distance_1(a, b), distance_2(a, b) ... दो अवधारणाओं के बीच विशिष्ट दूरी की जांच के लिए प्रश्नों का सेट तैयार करना है।

एक अन्य विकल्प उदाहरण ग्राफ RDFlib साथ अजगर में एल्गोरिथ्म traversing लिखने के लिए इस जानकारी को गैर SPARQL प्रौद्योगिकी का उपयोग कर खोज करने के लिए, है।

5

SPARQL एक ग्राफ लेकिन आप उस पथ की लंबाई बताने के लिए कोई तंत्र में मनमाने ढंग से लंबाई पथ के लिए खोज करने की क्षमता प्रदान करता है।

तो आप की तरह कुछ कर सकते हैं: वाक्य रचना बहुत regex की तरह है ताकि आप विकल्प, प्रतिबंधित cardinalities आदि कर सकते हैं

SELECT * WHERE { ?s ex:property+ ?o } 

2

के बाद से आप स्पष्ट रूप से कहा कि आप वर्गों और वे के बारे में बात कर रहे हैं एक ही ऑटोलॉजी में होगा, यह मानना ​​सुरक्षित है कि वे हमेशा जुड़े रहेंगे (क्योंकि आखिरकार दोनों "चीज" का उप-वर्ग होगा, है ना?)। दूसरी ओर, पथ मैं कोष्ठक में उल्लेख किया है (Class1 -> ... -> बात < - ... < - Class2) एक छोटी सी एक है, इसलिए मुझे लगता है कि आप को खोजने के लिए चाहते हैं ... मौजूदा के सभी दो वर्गों के बीच पथ, दूसरे शब्दों में, दो शीर्षकों के बीच मौजूद सभी मौजूदा पथ। क्या यह सच है? या आप सबसे कम पथ की तलाश में हैं? आपका प्रश्न उस पहलू में बहुत स्पष्ट नहीं है, क्या आप इसे स्पष्ट कर सकते हैं?

जहाँ तक मुझे पता के रूप में वहाँ कोई सरल SPARQL निर्माण कि वर्ग या कम से कम पथ के बीच सभी रास्तों सूची जाएगा है। हालांकि कुछ अर्थ वेब ट्रिपल भंडार इस तरह के कोने-कोने-पहले खोज या गहराई-पहले खोज के रूप में ग्राफ ट्रेवर्सल एल्गोरिदम के साथ आते हैं, देखें करने के लिए:

तुम भी के स्रोत कोड मिल सकता है बहुत उपयोगी निम्नलिखित परियोजना:

संबंधित मुद्दे