2013-10-28 5 views
9

क्या SPARQL क्वेरी के साथ संसाधन (डीबीपीडिया से) की परिभाषा संभव है? मैं टीबीओक्स और एबॉक्स की तरह कुछ चाहता हूं जो (Conceptual) Clustering methods for the Semantic Web: issues and applications (slides 10–11) में दिखाया गया है। उदाहरण के लिए, DBpedia संसाधन Stephen King के लिए, मैं करना चाहते हैं:उदाहरणों के सबसे विशिष्ट वर्गों को पुनर्प्राप्त करना

Stephen_King: व्यक्ति ⊓ लेखक ⊓ नर ⊓ ... (सबसे विशिष्ट वर्गों)

उत्तर

10

आप पूछने के लिए निम्नलिखित की तरह एक प्रश्न का उपयोग कर सकते जिन वर्गों के स्टीफन किंग एक उदाहरण हैं, जिनके उप-वर्ग नहीं हैं जिनमें से स्टीफन किंग भी एक उदाहरण है। यह "सबसे विशिष्ट वर्गों" के विचार से अच्छी तरह से संरेखित लगता है। हालांकि, जब से (जहां तक ​​मुझे पता है) डीबीपीडिया स्पार्कल्यू एंडपॉइंट से कोई कारण नहीं है, वहां उप-वर्ग संबंध हो सकते हैं जिन्हें अनुमानित किया जा सकता है लेकिन जो स्पष्ट रूप से नहीं हैं डेटा में मौजूद है।

select distinct ?type where { 
    dbpedia:Stephen_King a ?type . 
    filter not exists { 
    ?subtype ^a dbpedia:Stephen_King ; 
      rdfs:subClassOf ?type . 
    } 
} 

SPARQL results

असल

, के बाद से हर वर्ग एक rdfs:subClassOf ही है, तो आप इस मामले में जहां ?subtype और ?type ही कर रहे हैं बाहर करने के लिए कि क्वेरी के लिए एक और पंक्ति जोड़ने के लिए चाहते हो सकता है:

select distinct ?type where { 
    dbpedia:Stephen_King a ?type . 
    filter not exists { 
    ?subtype ^a dbpedia:Stephen_King ; 
      rdfs:subClassOf ?type . 
    filter (?subtype != ?type) 
    } 
} 

SPARQL results

यदि आप वास्तव में परिणाम स्ट्रिंग चाहते हैं l आइक उन स्लाइड्स में दिखाया गया है एक, आप values इस्तेमाल कर सकते हैं dbpedia:Stephen_King करने के लिए एक चर के लिए बाध्य है, और फिर कुछ समूह और स्ट्रिंग संयोजन का उपयोग करने के अच्छे कुछ देख (एक तरह से) प्राप्त करने के लिए:

select 
    (concat(?person, " =\n", group_concat(?type; separator=" AND\n")) as ?sentence) 
where { 
    values ?person { dbpedia:Stephen_King } 
    ?type ^a ?person . 
    filter not exists { 
    ?subtype ^a ?person ; 
      rdfs:subClassOf ?type . 
    filter (?subtype != ?type) 
    } 
} 
group by ?person 

SPARQL results

http://dbpedia.org/resource/Stephen_King = 
http://dbpedia.org/class/yago/AuthorsOfBooksAboutWritingFiction AND 
http://dbpedia.org/ontology/Writer AND 
http://schema.org/Person AND 
http://xmlns.com/foaf/0.1/Person AND 
http://dbpedia.org/class/yago/AmericanSchoolteachers AND 
http://dbpedia.org/class/yago/LivingPeople AND 
http://dbpedia.org/class/yago/PeopleFromBangor,Maine AND 
http://dbpedia.org/class/yago/PeopleFromPortland,Maine AND 
http://dbpedia.org/class/yago/PeopleFromSarasota,Florida AND 
http://dbpedia.org/class/yago/PeopleSelf-identifyingAsAlcoholics AND 
http://umbel.org/umbel/rc/Artist AND 
http://umbel.org/umbel/rc/Writer AND 
http://dbpedia.org/class/yago/20th-centuryNovelists AND 
http://dbpedia.org/class/yago/21st-centuryNovelists AND 
http://dbpedia.org/class/yago/AmericanHorrorWriters AND 
http://dbpedia.org/class/yago/AmericanNovelists AND 
http://dbpedia.org/class/yago/AmericanShortStoryWriters AND 
http://dbpedia.org/class/yago/CthulhuMythosWriters AND 
http://dbpedia.org/class/yago/HorrorWriters AND 
http://dbpedia.org/class/yago/WritersFromMaine AND 
http://dbpedia.org/class/yago/PeopleFromDurham,Maine AND 
http://dbpedia.org/class/yago/PeopleFromLisbon,Maine AND 
http://dbpedia.org/class/yago/PostmodernWriters 
संबंधित मुद्दे

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