我有一个关于 DBpedia 的紧迫问题。也就是说,我想知道如何每页搜索 DBpedia 中的所有属性。 URI http://nl.dbpedia.org/property/einde 涉及属性“einde”。我想获取所有现有的属性/页面。这看起来不太难,但我对SPARQL一无所知,所以这就是为什么我想寻求一些帮助。也许有某种垃圾场,但老实说我不知道。
我们不需要询问 URL 以
http://nl.dbpedia.org/property/
开头的页面,而是可以通过询问“DBpedia 中对于 ?x
的哪些值有一个三元组 ?x rdf:type rdf:Property
来表达查询?”这是一个编写起来非常简单的 SPARQL 查询。因为我预计 DBPedia 中会有很多属性,所以我首先编写了一个查询来count有多少属性,然后编写了一个查询来实际列出它们。
DBpedia 中有 48292 个事物声明为
rdf:type rdf:Property
,正如此 SPARQL 查询所报告的,针对 DBpedia 的 SPARQL 端点之一运行:
select COUNT( ?property ) where {
?property a rdf:Property
}
您可以通过选择
?property
而不是 COUNT( ?property )
来获取列表:
select ?property where {
?property a rdf:Property
}
我赞同 Joshua Taylor 的 answer,但是如果您想将属性限制为 Dutch DBpedia,则需要将
default-graph-uri
查询参数更改为 nl.dbpedia.org
并将 SPARQL 端点设置为 nl.dbpedia.org/sparql
,如以下查询所示。您将获得包含 8000 个以上元素的结果集。
SELECT (COUNT(DISTINCT ?pred) AS ?count)
WHERE {
?pred a rdf:Property .
}
这些是迄今为止从维基百科映射的属性的荷兰语翻译。还提供完整英文列表。根据 mappings.dbpedia.org,约有 1700 个属性缺少荷兰语翻译。