Sparql DBPedia not returning foaf:name query



I 正在使用 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猫头鹰本体中一个州的首都。?state foaf:name "State of Alaska"@en应将变量?state与文本实体Alaska匹配。当我的查询由未foaf:name的变量控制时,我没有问题。我已经查找了示例,但看不到我的语法有什么问题。即使我将最后一行编辑为——

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

-- 代码继续失败。我查找了其他示例,但找不到我的具体问题。看起来好像此代码应该根据foaf:name文字返回阿拉斯加的首都。

我找到了答案。关键是不要在顶部添加此前缀

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

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

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

甚至可能跳过,因为foaf:前缀是预定义的。

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

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

相关内容

最新更新