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

时间:2015-05-31 18:10:51

标签: r sparql dbpedia

我目前正在使用R中的SPARQL包查询DBPedia以获取人名列表。我注意到当我使用SPARQL查询英语 DBPedia时这样:

   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”有关,但我不知道如何修改它。

2 个答案:

答案 0 :(得分:2)

不同语言的dbpeida的namespaces是不同的。因此,您需要更改名称空间:

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

答案 1 :(得分:0)

似乎是命名空间问题。在德语DBpedia端点中,您必须使用命名空间http://de.dbpedia.org/resource/。并且似乎前缀dbpedia仍然保留用于公共http://dbpedia.org/resource/命名空间。

尝试

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