【发布时间】:2011-07-20 17:50:22
【问题描述】:
我正在尝试向 DBPedia 查询与本体中给定类相关的属性列表,但由于人类可读的“标签”并不总是很清楚,我还想提供一个示例数据库。问题是,虽然我想选择所有不同的属性,但我只想要每个属性的一个示例。 Here's 在不捕获示例的情况下我的查询看起来如何:
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
如果我在 this way 中更改它,我会开始得到 ?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 选择每个唯一值,并返回其标题和示例。
【问题讨论】:
标签: distinct rdf sparql dbpedia