如何从 DBPedia 中检索不同语言版本的人名?

How to retrieve person names from DBPedia in different language versions?

我目前正在使用 R 中的 SPARQL 包查询 DBPedia 以获取人名列表。我注意到当我使用 SPARQL 查询 English DBPedia 时,如下所示:

   endpoint = "http://live.dbpedia.org/sparql"
   query= "SELECT *{
   dbpedia:Veit_Dietrich ?p ?o 
   }"
   qd=SPARQL(endpoint,query)
   df=qd$results

一切正常,但如果我想查询 German DBPedia 并更改 endpoint,结果出错了:

   endpoint = "http://de.dbpedia.org/sparql"
   query= "SELECT *{
   dbpedia:Veit_Dietrich ?p ?o 
   }"
   qd=SPARQL(endpoint,query)
   df=qd$results

我认为问题可能与"dbpedia:Veit_Dietrich"有关,但我不知道如何修改它。

不同语言的dbpeida的namespaces是不一样的。因此你需要改变你的命名空间:

SELECT *{
    dbpedia-de:Veit_Dietrich ?p ?o 
 }

似乎是命名空间问题。在德语 DBpedia 端点中,您必须使用命名空间 http://de.dbpedia.org/resource/ . And it seems that the prefix dbpedia ist still reserved for the common http://dbpedia.org/resource/ namespace.

尝试

select * where {<http://de.dbpedia.org/resource/Veit_Dietrich> ?p ?o}