DBpedia 内容采用 RDF 格式。转储可以从here下载
Dbpedia 是 RDF 中的一个大型数据集,用于处理您需要使用 Triple Store 技术的数据量。对于 Dbpedia,您将需要本地三重商店之一,我建议您使用 Virtuoso 或 4store。我个人更喜欢4store。
一旦您在其中设置了包含 Dbpedia 的三重商店。您可以使用SPARQL 查询 Dbpedia RDF 三元组。有 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" }} ] } }
>>>
我希望这能让您了解如何开始。