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

R 如何从不同语言版本的DBPedia中检索人名?,r,sparql,dbpedia,R,Sparql,Dbpedia,我目前正在使用R中的SPARQL包查询DBPedia中的人名列表。我注意到,当我使用SPARQL查询EnglishDBPedia时,如下所示: endpoint = "http://live.dbpedia.org/sparql" query= "SELECT *{ dbpedia:Veit_Dietrich ?p ?o }" qd=SPARQL(endpoint,query) df=qd$results 一切都很好,但是如果我想查询德语DBPedia并更

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

   endpoint = "http://live.dbpedia.org/sparql"
   query= "SELECT *{
   dbpedia:Veit_Dietrich ?p ?o 
   }"
   qd=SPARQL(endpoint,query)
   df=qd$results
一切都很好,但是如果我想查询德语DBPedia并更改端点,结果会出现一些问题:

   endpoint = "http://de.dbpedia.org/sparql"
   query= "SELECT *{
   dbpedia:Veit_Dietrich ?p ?o 
   }"
   qd=SPARQL(endpoint,query)
   df=qd$results
我认为这个问题可能与“dbpedia:Veit_Dietrich”有关,但我不知道如何修改它

dbpeida在不同语言中的用法不同。因此,您需要更改名称空间:

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

这似乎是一个名称空间问题。在德语DBpedia端点中,必须使用名称空间。而且前缀dbpedia ist似乎仍然保留给公共名称空间

试一试

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