我目前正在使用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”有关,但我不知道如何修改它。
答案 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}