2012-05-21 17 views
7

पाइथन में sparql \ sparqlwrapper का उपयोग कैसे करें, मैं एक निश्चित dbpedia संसाधन के मानों के लिए क्वेरी कैसे कर पाऊंगा? उदाहरण के लिए, मैं dbpedia-owl कैसे प्राप्त कर पाऊंगा: wikiPageExternalLink मान http://dbpedia.org/page/Asturias के मान? यहां एक साधारण उदाहरण है कि मैं rdfs के लिए क्वेरी कैसे कर पाऊंगा: अस्टुरियस का लेबल। लेकिन मुझे नहीं पता कि rdfs स्कीमा में शामिल संपत्ति के अलावा संपत्ति/ऑटोलॉजी के मूल्य प्राप्त करने के लिए क्वेरी/क्वेरी पैरामीटर को कैसे संशोधित किया जाए। यहां नमूना है:dbpedia संसाधन ontology 'wikiPageExternalLink'

from SPARQLWrapper import SPARQLWrapper, JSON, XML, N3, RDF 
sparql = SPARQLWrapper("http://dbpedia.org/sparql") 
sparql.setQuery(""" 
    PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
    SELECT ?label 
    WHERE { <http://dbpedia.org/resource/Asturias> rdfs:label ?label } 
""") 
print '\n\n*** JSON Example' 
sparql.setReturnFormat(JSON) 
results = sparql.query().convert() 
for result in results["results"]["bindings"]: 
    print result["label"]["value"] 

प्रतिक्रिया प्राप्त करने की उम्मीद है। अग्रिम में धन्यवाद!

उत्तर

7

सुनिश्चित नहीं हैं कि जहां रहे अटक-यह वास्तव में आसान है:

SELECT ?label 
WHERE { <http://dbpedia.org/resource/Asturias> 
      dbpedia-owl:wikiPageExternalLink ?label } 

आमतौर पर आप rdfs: या dbpedia-owl: तरह नामस्थान उपसर्ग घोषित करने के लिए की जरूरत है तो आप उन्हें क्वेरी में उपयोग करना चाहते हैं, लेकिन DBpedia पर एंडपॉइंट यह बिना काम करता है। यदि आप चाहते हैं, तो आप उन्हें वैसे भी घोषणा कर सकते हैं:

PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> 
SELECT ?label 
WHERE { <http://dbpedia.org/resource/Asturias> 
      dbpedia-owl:wikiPageExternalLink ?label } 

पूर्ण यूआरआई http://dbpedia.org/sparql के लिए जा रहा है और शीर्ष दाएं कोने में स्थित पर "नामस्थान उपसर्ग" पर क्लिक करके उपसर्ग के लिए इसी पता कर सकते हैं।

आप चर (?label से ?link करने के लिए, उदाहरण के लिए) का नाम बदलना चाहते है तो यह इस तरह कार्य करें:

PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> 
SELECT ?link 
WHERE { <http://dbpedia.org/resource/Asturias> 
      dbpedia-owl:wikiPageExternalLink ?link } 

और आप भी अजगर कोड है कि मूल्य हो जाता है में "link" को "label" बदलना होगा जेएसओएन परिणाम से बाहर।

+0

प्रतिक्रिया के लिए धन्यवाद। लेकिन sparql के "डिफ़ॉल्ट डेटा सेट नाम (ग्राफ आईआरआई)" के तहत, मुझे क्या रखना चाहिए? फिर से धन्यवाद! – jaysonpryde

+2

बस उस क्षेत्र को अकेला छोड़ दें – cygri