a
a
目次
-
第1章 なぜSPARQLが必要なのか?
- オープンデータ運動の高まり
- データを公開・共有するための技術Linked Data
- SPARQLはクエリ言語
第2章 SPARQLを支える技術
- SPARQLを学ぶ前に
- リソースと識別子
- RDF
- Turtle形式
- RDFSとOWL
- RDFストア
- SPARQLエンドポイント
第3章 SPARQLの基本
- 初めてのSPARQL
- 検索対象のRDF
- 複数のトリプルパターンの指定
- 値による絞り込み(Filter)
- 必須ではないパターンの指定(Optional)
- パターンの結果の結合(UNION)
- 結果セットの操作(ORDER BY、DISTINCT、REDUCED、LIMIT、OFFSET)
- グループ化と集約関数(GROUP BY、HAVING、SUM、GROUP_CONCAT)
- 値のバインディング(BIND、VALUES)
- プロパティパス
- サブクエリ
- 複数のエンドポイントへの一括クエリ
第4章 SPARQLの言語仕様とクエリ
- SPARQL1.1概要
- プロローグ
- クエリタイプ
- データセット句
- グループグラフパターン
- 解修飾子・VALUES句
- 組み込み関数
第5章 アプリケーション開発
- SPARQLの結果形式
- RによるSPARQL検索と可視化
- JavaScriptによるSPARQL検索と可視化
- SPARQL検索によるデータ活用
第6章 クックブック
- エンドポイントを調べるときの注意点
- エンドポイント全体のトリプルを調べる
- プロパティを調べる
- リソースが属するクラスを調べる
- 特定のクラスに属するリソースについて調べる
- プロパティの使用の有無と個数を調べる
- 目的語の値を調べる
- 検索結果を加工して利用する
Appendix
- RDFストアの選定
- ARQ - SPARQLエンジン -
- Virtuoso - RDFストア -
- Stardog - RDFストア -
- rapper - RDFファイル形式変換ツール -
- RDFRefine - RDF生成サポートツール -
- Sgvizler - SPARQL結果の可視化ツール -
- YASGUI - SPARQLエディタ -
- Sparklis - クエリビルダ -
著者紹介
正誤表
- 当書籍について、現在以下の記述ミスが発見されております。 大変ご迷惑をおかけしますが、以下をご参照いただきますよう、 よろしくお願いいたします。
- 2016年11月11日更新
- DBpediaのデータ変更によりクエリを修正しました。
- 誤:
- ?s a yago:PrefecturesOfJapan ;
- rdfs:label ?pref ;
- dbpedia-owl:areaTotal ?area .
- FILTER (lang(?pref) = 'en')
- ↓
- 正:
- ?s a yago:WikicatPrefecturesOfJapan ;
- rdfs:label ?pref ;
- dbpedia-owl:areaTotal ?area .
- FILTER (lang(?pref) = 'en')
- FILTER (str(?pref) != 'Onjuku')
- DBpediaのデータ変更によりクエリを修正しました。
- 誤:
- ?s a yago:PrefecturesOfJapan ;
- rdfs:label ?label ;
- dbpedia-owl:populationTotal ?population .
- dbpedia-owl:areaTotal ?area .
- FILTER (lang(?pref) = 'en')
- ↓
- 正:
- ?s a yago:WikicatPrefecturesOfJapan ;
- rdfs:label ?label ;
- dbpedia-owl:populationTotal ?population .
- dbpedia-owl:areaTotal ?area .
- FILTER (lang(?pref) = 'en')
- FILTER (str(?s) != 'http://dbpedia.org/resource/Onjuku')
- ※なお、ダウンロード用サンプルプログラムは修正済みです。
- 2016年6月8日更新
- 2駅間でお互いに"prop-ja:次の駅"を指すデータがあった場合にJavaScriptでエラーが発生するため、そのようなデータをMINUS句で省くように修正しました。
- 誤:
- ?parent prop-ja:次の駅 ?child .
- ?parent rdfs:label ?parent_label .
- ↓
- 正:
- ?parent prop-ja:次の駅 ?child .
- MINUS {
- ?child prop-ja:次の駅 ?parent .
- }
- ?parent rdfs:label ?parent_label .
- ※なお、ダウンロード用サンプルプログラムは修正済みです。
- 2016年6月8日更新
- NULLチェックを追加しました。
- 誤:row.append($("
").text(item[this].value)); - ↓
- 正:
- if (item[this] && item[this].value) {
- row.append($("
").text(item[this].value)); - } else {
- row.append($("
").text("")); - }
- ※なお、ダウンロード用サンプルプログラムは修正済みです。
- 2016年6月8日更新
42ページの図3-5 3-2.rqのクエリ結果
- DBpedia Japaneseのデータ更新によりクエリで得られる結果が変わりました。
- ※他にも結果が変わるクエリがいくつかありますが、特に混乱を招くこの部分だけ訂正を記載しています。
- 前:company = http://ja.dbpedia.org/resource/オフィス北野
- number_of_employees = 33
- ↓
- 後:company = http://ja.dbpedia.org/resource/太田プロダクション
- number_of_employees = 50
- 2016年5月2日更新
188ページのサンプルファイル:リスト 6-17 6-17.rqの9行目
- 誤:HAVING (COUNT (DISTINCT ?magazine) AS ?count) <= 2
- ↓
- 正:HAVING ((COUNT (DISTINCT ?magazine) AS ?count) <= 2)
- ※なお、ダウンロード用サンプルプログラムは修正済みです。
RDFとSPARQLを解説する、
日本語で初めてのリファレンス
となる解説本。
オープンデータのひろがりで話題となりつつあるセマンティック・ウェブについて紹介し、標準データモデルRDFと標準問い合わせ言語SPARQLを解説する日本語では初のリファレンスとなる解説本。本書は2013年にW3Cで仕様策定されたSPARQL 1.1に準拠して解説をしています。この本を読みながら試していくことで、RDF によるデータ統合と SPARQL 検索によるアプリケーション開発のための基本が身につきます。