Содержимое DBpedia находится в формате RDF. Дампы можно скачать с здесь
Dbpedia — это большой набор данных в формате RDF, для обработки такого объема данных вам необходимо использовать технологию Triple Store. . Для Dbpedia вам понадобится один из собственных тройных хранилищ, я рекомендую вам использовать либо Virtuoso или 4store. Я лично предпочитаю 4store.
Как только вы настроите тройной магазин с Dbpedia. Вы можете использовать SPARQL для запроса троек RDF Dbpedia. Существуют библиотеки Python, которые могут вам в этом помочь. 4store и Virtuoso могут вернуть вам результаты в формате JSON, чтобы вы могли легко обойтись без каких-либо библиотек.
Некоторый простой скрипт urllib, например...
def query(q,epr,f='application/json'):
try:
params = {'query': q}
params = urllib.urlencode(params)
opener = urllib2.build_opener(urllib2.HTTPHandler)
request = urllib2.Request(epr+'?'+params)
request.add_header('Accept', f)
request.get_method = lambda: 'GET'
url = opener.open(request)
return url.read()
except Exception, e:
traceback.print_exc(file=sys.stdout)
raise e
может помочь вам запустить SPARQL... например
>>> q1 = """
... select ?birthPlace where {
... <http://dbpedia.org/resource/Claude_Monet> <http://dbpedia.org/property/birthPlace> ?birthPlace .
... }"""
>>> print query(q1,"http://dbpedia.org/sparql")
{ "head": { "link": [], "vars": ["birthPlace"] },
"results": { "distinct": false, "ordered": true, "bindings": [
{ "birthPlace": { "type": "literal", "xml:lang": "en", "value": "Paris, France" }} ] } }
>>>
Я надеюсь, что это дало вам представление о том, как начать.
person
Manuel Salvadores
schedule
20.09.2011