1

URIのセットがある場合、SINGLE SPARQL QUERYでそれらすべてのラベルを取得するにはどうすればよいですか?

すなわち。与えられた、uri1、uri2、uri3...クエリが私たちに与えることを望みます

uri1 label1

uri2 label2

uri3 label3

uriごとにラベルを取得するために個別のクエリを発行することもできますが、理想的には、大量のリクエストを行わないようにします。

私は構成、結合、サブクエリの観点から考えようとしましたが、ほとんど成功しませんでした。

ありがとう!

4

1 に答える 1

5

RDFデータでラベルがどのように表現されているかは言わないので、プロパティを使用してURIに接続されていると思いrdfs:labelます。次に、クエリは単純に次のようになります。

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?uri ?label { ?uri rdfs:label ?label }

特定のURIのみのラベルのみが必要な場合は、?uri変数でフィルタリングすることで取得できます。

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?uri ?label {
    ?uri rdfs:label ?label
    FILTER (?uri = ex:resource1 || ?uri = ex:resource2 || ?uri = ex:resource3)
}

または、ストアがSPARQL 1.1をサポートしている場合:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?uri ?label {
    ?uri rdfs:label ?label
    FILTER (?uri IN (ex:resource1, ex:resource2, ex:resource3))
}
于 2012-09-05T09:45:42.157 に答える