2011-08-04 12 views
18

के लिए सभी गुण प्राप्त करें एक विशिष्ट श्रेणी के लिए गुणों की सूची कैसे प्राप्त करें? कक्षा dbpedia-owl:Person पर विचार करें। Person कक्षा के सभी उदाहरणों में dbpprop: के साथ कुछ गुण पूर्ववर्ती हैं। मैं dbpprop: गुणों को कैसे प्राप्त कर सकता हूं जिन्हें हम Person कक्षा के सभी उदाहरणों के लिए पा सकते हैं?डीबीपीडिया कक्षा

उत्तर

26

एक है कि काम करता है:

select distinct ?property where { 
    ?property <http://www.w3.org/2000/01/rdf-schema#domain> 
          <http://dbpedia.org/ontology/Person> . } 

इस क्वेरी आप सभी गुण है कि है dbpedia:Personrdfs:domain के रूप में मांग रहे हैं। इस क्वेरी के लिए काम करने के लिए स्कीमा परिभाषा की आवश्यकता होती है और कभी-कभी डेटासेट पूरी तरह से स्कीमा का पालन नहीं करते हैं। उन डेटासेट के लिए आप इस अन्य क्वेरी

select distinct ?property where { 
     ?instance a <http://dbpedia.org/ontology/Person> . 
     ?instance ?property ?obj . } 

इस क्वेरी व्यक्ति के प्रत्येक उदाहरण पर लग रहा है कि हर गुण है कि यह से बाहर आता है बंधन की कोशिश करेंगे। यह पहले की तुलना में बहुत कठिन है, और डीबीपीडिया सार्वजनिक उदाहरण में आपको एक समय मिल जाएगा। तो यदि आप सार्वजनिक एंडपॉइंट का उपयोग करना चाहते हैं तो आप पहले व्यक्ति के साथ बेहतर हो सकते हैं।

+0

धन्यवाद एक बहुत :) – user878812

+0

अपने लिंक btw – keinabel

+1

धन्यवाद @keinabel ... बस इसे हटा दिया काम नहीं करता। –

5

सभी सकर्मक गुण प्राप्त करने के लिए आप में इस क्वेरी

select distinct ?property where{ 
{ 
    ?property rdfs:domain ?class . 
    dbpedia-owl:Person rdfs:subClassOf+ ?class. 
} UNION { 
    ?property rdfs:domain dbpedia-owl:Person. 
}} 

'+' पूछ सकते हैं 'rdfs: subClassOf' एक संपत्ति पथ [1] अभिव्यक्ति है कि व्यक्ति के सभी uperclasses रूप में अच्छी तरह हासिल करेगा है। ये गुण व्यक्ति के लिए भी मान्य हैं।

यह भी ध्यान दें कि डीबीप्रॉप नेमस्पेस की अनुशंसा नहीं की जाती है क्योंकि डेटा कच्चा होता है और डेटाटाइप को सामान्य नहीं किया जाता है।

[1] http://www.w3.org/TR/2010/WD-sparql11-property-paths-20100126/

प्रकटीकरण: मैं एक DBpedia डेवलपर हूं

+0

मैं कक्षा के स्वतंत्र रूप से एक प्रश्न के मालिक कैसे प्राप्त कर सकता हूं? उदाहरण के लिए मेरे पास एक प्रश्न "पेरिस" है, मैं –

+1

मूल्यों के साथ अपनी सभी संपत्तियों को कैसे निकाला जा सकता हूं, जैसे 'चयन * कहां {dbr: पेरिस? पी? ओ} ' – jimkont

+0

जिम मेरे पास एक प्रश्न है जिसे मैंने पहले http: // stackoverflow.com/questions/28671935/dbpedia-return-relations-information-is-dbpedia-owl-of। मुझे वास्तव में समझ में नहीं आता कि कुछ संपत्तियां क्यों गुम हैं। मेरी पूछताछ में क्या गलत है? –