Sparql DBPedia 未返回 foaf:name 查询

Sparql DBPedia not returning foaf:name query

我正在使用 DBpedia 的 Virtuoso SPARQL 端点。我没有 运行 一些测试查询的问题,但我的问题是当我 运行 基于实体的 foaf:name "literal" 进行查询时。下面是我的代码:

prefix db: <http://dbpedia.org/resource/>
prefix dbo: <http://dbpedia.org/ontology/>
prefix foaf: <http://xlms.com/foaf/0.1/>

SELECT ?capital WHERE{
        ?state dbo:capital ?capital .
        ?state foaf:name "State of Alaska"@en .
        }

我的逻辑是 ?state dbo:capital ?capital 指的是 DBpedia owl ontology 中一个州的首都。 ?state foaf:name "State of Alaska"@en 应将变量 ?state 与文字实体 Alaska 相匹配。当我的查询由不是 foaf:name 的变量控制时,我没有问题。我查看了示例,但看不出我的语法有什么问题。即使我将最后一行编辑为 --

?state a foaf:name "State of Alaska"@en .

-- 代码继续失败。我查看了其他示例,但找不到我的具体问题。根据 foaf:name 字面值,此代码似乎应该 return 阿拉斯加的首都。

我找到了答案。关键是不要在最前面加上这个前缀

prefix foaf: <http://xlms.com/foaf/0.1/> 

应替换为正确的 foaf: 前缀声明:

prefix foaf: <http://xmlns.com/foaf/0.1/> 

或者甚至可能被跳过,因为 foaf: 前缀是 predefined

所以下面的查询实际上有效:

SELECT ?capital WHERE {
        ?state dbo:capital ?capital .
        ?state foaf:name "State of Alabama"@en .
}