• 検索結果がありません。

結果節

ドキュメント内 Semantics Developer’s Guide (ページ 88-92)

6.1 SPARQL を使用したトリプルのクエリ

6.1.9 結果節

dc:date ?date .

GRAPH ?g { ?person foaf:name ?name ; foaf:mbox ?mbox }

}

注:

SPARQL

クエリでGRAPHコンストラクトを使用する場合は、コレクション

レキシコンをオンにする必要があります。コレクションレキシコンは、

データベース設定ページまたは

Admin

画面からオンにできます。

明示的な

IRI

を含むGRAPH節(例えばGRAPH <....uri...> { ...graph pattern...})は、

GRAPH

節で指定された

IRI

を使用してデータセットにマッチします。

次に例を示します。

PREFIX foaf: <http://xmlns.com/foaf/0.1/>

SELECT *

WHERE{ ?s foaf:givenName ?fn .

?s foaf:surname ?ln . }

注:

単一のトリプルパターンでは、末尾のピリオドはオプションです。また複 数のトリプルパターンを持つクエリパターンでは、最後のトリプルの末尾 のピリオドはオプションです。

この例では、SELECTクエリは主語変数(?s)の

IRI

と、データセット内のリソースの名

(?fn)および姓(?ln)で構成されたシーケンスを返します。

SPARQL

のSELECTクエリの結果は、XMLまたは

JSON

でシリアライズされるか、別の

関数にマップとして渡されます。SELECTクエリの結果は、必ずしもトリプルになるとは 限りません。

6.1.9.2 CONSTRUCT

クエリ

SPARQL

のCONSTRUCTクエリを使用すると、既存のトリプルから新しいトリプルを作成

できます。

CONSTRUCT

クエリを実行すると、結果としてsem:triple値のシーケンス がトリプルとして返されます。

次の例は、データベース内の既存のトリプルから

Albert Einstein

に関するトリプルを作 成します。

PREFIX foaf: <http://xmlns.com/foaf/0.1/>

CONSTRUCT

{?person ?p ?o .}

WHERE {?person foaf:givenName "Albert"@en ; foaf:surname "Einstein"@en ;

?p ?o .}

注:

@en

」言語タグは、それが英語の単語であり、他の言語タグとは異なる マッチになることを意味します。

CONSTRUCTクエリは、クエリパターン内の変数から作成された

RDF

グラフを返します。

次に示すトリプルは、

Albert Einstein

について、データセット内の既存のトリプルから 作成されたものです。

6.1.9.3 DESCRIBE

クエリ

SPARQL

のDESCRIBEクエリは、sem:triple値のシーケンスを返します。DESCRIBEクエリ

の結果は、1つあるいは複数の指定されたリソースについて記述された

RDF

グラフを 返します。結果は、非決定的です。つまり、返される

RDF

サブグラフの実際の構造は、

クエリプロセッサが決定します。

次のクエリは、「

Conservationists

」と説明されている人々のリストを検索します。

PREFIX dc: <http://purl.org/dc/elements/1.1/>

DESCRIBE ?person

WHERE {?person dc:description "Conservationist"@en .}

注:

「@en」言語タグは、それが英語の単語であり、他の言語タグとは異なる マッチになることを意味します。

クエリパターンから返される

IRI

を記述するサブグラフは次のようになります。

6.1.9.4 ASK

クエリ

SPARQL

ASKクエリは、単一のxs:boolean値を返します。クエリパターンがデータ

セット内で何らかのマッチを持つ場合、ASK節はtrueを返します。パターンマッチがな い場合は、falseを返します。

例えば、ケネディ家の

2

人、キャロリン・ベセット・ケネディとユーニス・ケネディ・

シュライバーに関して、persondataデータセットに次のファクトがあるとします。

スペシャルオリンピックスの前身となるイベントの創設者であり、ジョン・

F

・ ケネディの妹であるユーニス・ケネディ・シュライバーは、1921 年

7 月 10 日に

誕生した。

広報担当者であり、JFKジュニアの妻であるキャロリン・ベセット・ケネディ は、

1966

1

7

日に誕生した。

次のクエリは、キャロリンがユーニスの後に誕生したかどうかを尋ねています。

PREFIX db: <http://dbpedia.org/resource/>

PREFIX onto: <http://dbpedia.org/ontology/>

ASK {

db:Carolyn_Bessette-Kennedy onto:birthDate ?by . db:Eunice_Kennedy_Shriver onto:birthDate ?bd . FILTER (?by>?bd).

}

=>

true

応答はtrueです。

注:

ASKクエリは、結果が少なくとも

1

つあるかどうかを確認します。

ドキュメント内 Semantics Developer’s Guide (ページ 88-92)