假设我需要从维基百科中获取有关所有山脉的内容。我的目标是显示初始段落,以及相应文章中的图片(例如Monte Rosa和Vincent Pyramid。
我开始了解 dbpedia,并通过一些研究发现它直接提供对 wiki 数据库的实时查询。
我有两个问题:
1 - 我发现很难制定我的查询。我不能玩iSPARQL。我尝试了以下查询,但它抛出错误,说无效的 xml。
SELECT DISTINCT ?Mountain FROM <http://dbpedia.org> WHERE {
[] rdf:type ?Mountain
}
2 - 我的要求是只显示至少有 1 张图片的山脉(我也需要显示这张图片)。现在我上面列出的那些都有图像,但我怎么能确定呢?此外,查看这两个示例,我发现 wiki 文章中有许多不同的字段 - 因此对于未来的扩展,获取它们可能非常困难。
我只是想拒绝那些没有足够数据或描述的人。
如何根据现有图片过滤掉山脉?
更新:
我更正的查询,解决了我的第一个问题:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT ?name ?description
WHERE {
?name rdf:type <http://dbpedia.org/ontology/Mountain>;
dbpedia-owl:abstract ?description .
}