SPARQL

2011-06-16 10 views
6

के साथ dbpedia विषय श्रेणियों को पुनर्प्राप्त करें क्या dcterms:subject से dbpedia के अंदर सभी श्रेणियों को पुनर्प्राप्त करने का कोई तरीका है?SPARQL

उदाहरण के लिए, http://dbpedia.org/page/Eiffel_Tower में मैं dcterms में देख सकते हैं:

  • श्रेणी: Former_world's_tallest_buildings
  • श्रेणी: Places_with_restrictions_on_photography
  • श्रेणी: Michelin_Guide_starred_restaurants_and_chefs
  • श्रेणी: Historic_Civil_Engineering_Landmarks निम्नलिखित श्रेणियां विषय
  • श्रेणी: 1889_architecture
  • ...

मैं dbpedia में सभी category:xxx मान पुनर्प्राप्त करना चाहते हैं। क्या कोई रास्ता है?

+0

इस बारे में अधिक जवाब के लिए http://answers.semanticweb.com/questions/10252/retrive-dbpedia-subject-categories-with-sparql पर डुप्लिकेट प्रश्न देखें – RobV

उत्तर

7

आप एक कितने श्रेणियों निम्नलिखित SPARQL क्वेरी का उपयोग dbpedia में हैं देखने के लिए एक COUNT क्वेरी कर जाते हैं:

SELECT COUNT(DISTINCT ?category) AS ?count WHERE {?subject dcterms:subject ?category} 

आपको लगता है कि dbpedia 503,788 श्रेणियां हैं मिलेगा। यदि आप सभी श्रेणियों के लिए पूछते हैं तो एंडपॉइंट आपको पूरी 503788 श्रेणियां नहीं देगा क्योंकि इसमें कैप है कि आप कितने परिणाम वापस प्राप्त कर सकते हैं। लेकिन आप LIMIT और OFFSET का उपयोग कर कई प्रश्न जारी कर सकते हैं। उदाहरण के पहले 1000 श्रेणियों पाने के लिए आप निम्न क्वेरी कर सकते हैं:

SELECT DISTINCT ?category WHERE {?subject dcterms:subject ?category} LIMIT 1000 OFFSET 0 

मैं नहीं जानता कि कैसे आप इस जानकारी का उपयोग करने जा रहे हैं, लेकिन मेरी सिफारिश बढ़ाने के साथ कई प्रश्नों को चलाने के लिए किया जाएगा ऑफसेट (जैसे 1000, 2000, 3000) और परिणामों का कैश करें जो आप उपयोग कर रहे हैं। आप मूल रूप से एक प्रोग्राम लिख सकते हैं जो प्रश्नों को निष्पादित करता है और परिणामों को कैश में रखता है।

याद रखें कि डीबीपीडिया की श्रेणियां श्रेणीबद्ध हैं, इसलिए एक श्रेणी कई अन्य लोगों से एक बोर्डर श्रेणी है।

1

या बस चलाने:

SELECT ?category WHERE { ?category a <http://www.w3.org/2004/02/skos/core#Concept> } LIMIT 1000

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

  • कोई संबंधित समस्या नहीं^_^