我正在尝试查询DBPedia中关于本体类别的属性列表,但由于人类可读的“标签”并不总是清晰明了,我还想提供一个来自数据库的示例。问题在于虽然我想选择所有不同的属性,但我只想要每个属性的单个示例。
这里是没有捕获示例的查询方式:SELECT DISTINCT ?prop ?title WHERE {
?thing ?prop [].
?thing a <http://dbpedia.org/ontology/Currency>.
?prop rdf:type rdf:Property.
?prop rdfs:label ?title.
} ORDER BY DESC(COUNT(DISTINCT ?thing))
LIMIT 100
如果我按照这种方式进行更改,我会开始获取重复的?prop值:SELECT DISTINCT ?prop ?title ?example WHERE {
?thing ?prop ?example.
?thing a <http://dbpedia.org/ontology/Currency>.
?prop rdf:type rdf:Property.
?prop rdfs:label ?title.
} ORDER BY DESC(COUNT(DISTINCT ?thing))
LIMIT 100
我非常新手使用SPARQL和数据库查询,因此我不太清楚如何做到这一点。理想情况下,我希望有类似于DISTINCT(?prop) ?title ?example这样的东西,它选择每个prop的唯一值,并返回其标题和示例。