オントロジーの特定のクラスに関連するプロパティのリストを DBPedia に照会しようとしていますが、人間が読める「ラベル」が常に明確であるとは限らないため、データベースからの例も提供したいと思います。問題は、個別のプロパティをすべて選択したいのに、各プロパティの 1 つの例だけが必要なことです。例をキャプチャせずに私のクエリがどのように見えるかを次に示します。
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 のすべての一意の値を選択し、そのタイトルと例を返します。