如何查询给定维基百科 URL 的 DBPedia 数据?
How to query DBPedia data for a given Wikipedia URL?
如果我想查询 Appomattox Court House National Historical Park in DBPedia 的 RDF,如果我按维基页面 URL 搜索,查询字符串是什么?
我测试了以下字符串但没有得到结果:
select ?building
where {
?building a dbo:Building .
?building foaf:primaryTopic <http://en.wikipedia.org/wiki/Appomattox_Court_House_National_Historical_Park>
} LIMIT 100
正如我在评论中所说:问题是您错误地使用了 foaf:primaryTopic
关系。 wiki 页面是关系的 subject,DBPedia 资源是对象值。所以应该是这样的:
SELECT ?building
WHERE {
?building a dbo:Building .
<http://en.wikipedia.org/wiki/Appomattox_Court_House_National_Historical_Park> foaf:primaryTopic ?building .
}
LIMIT 100
或者,正如@AKSW 所评论的,您可以使用逆关系,称为 foaf:isPrimaryTopicOf
:
SELECT ?building
WHERE {
?building a dbo:Building .
?building foaf:isPrimaryTopicOf <http://en.wikipedia.org/wiki/Appomattox_Court_House_National_Historical_Park> .
}
LIMIT 100
如果我想查询 Appomattox Court House National Historical Park in DBPedia 的 RDF,如果我按维基页面 URL 搜索,查询字符串是什么?
我测试了以下字符串但没有得到结果:
select ?building
where {
?building a dbo:Building .
?building foaf:primaryTopic <http://en.wikipedia.org/wiki/Appomattox_Court_House_National_Historical_Park>
} LIMIT 100
正如我在评论中所说:问题是您错误地使用了 foaf:primaryTopic
关系。 wiki 页面是关系的 subject,DBPedia 资源是对象值。所以应该是这样的:
SELECT ?building
WHERE {
?building a dbo:Building .
<http://en.wikipedia.org/wiki/Appomattox_Court_House_National_Historical_Park> foaf:primaryTopic ?building .
}
LIMIT 100
或者,正如@AKSW 所评论的,您可以使用逆关系,称为 foaf:isPrimaryTopicOf
:
SELECT ?building
WHERE {
?building a dbo:Building .
?building foaf:isPrimaryTopicOf <http://en.wikipedia.org/wiki/Appomattox_Court_House_National_Historical_Park> .
}
LIMIT 100