セマンティックWebプログラミングが出版されました

オライリージャパンから監訳本「セマンティックWeb プログラミング」が出版されました。マッシュアップ時代のデータ統合技術として有望な RDF や Linked Data を活用したプログラミングやウェブサイト開発をはじめるのに最適な一冊となっております。

  • セマンティックWeb プログラミング
  • Toby Segaran, Colin Evans, Jamie Taylor 著
  • 大向 一輝、加藤 文彦、中尾 光輝、山本 泰智 監訳、玉川 竜司 訳
  • 2010年06月 発行
  • 312ページ
  • 定価3,360円
  • ISBN978-4-87311-452-1
  • 原書: Programming the Semantic Web

目次

監訳者まえがき
序文
はじめに

第1部 セマンティックデータ
1章 セマンティクスとは何か?
1.1 Webをまたいだデータ統合
1.2 伝統的なデータモデリング手法
1.2.1 テーブル形式のデータ
1.2.2 リレーショナルデータ
1.2.3 スキーマの進化とリファクタリング
1.2.4 非常に複雑なスキーマ
1.2.5 最初が肝心
1.3 セマンティックな関係表現
1.4 メタデータはデータである
1.5 不測の事態に備えた構成
1.6 「永遠のベータ」

2章 意味の表現
2.1 例:映画に関するデータ
2.2 シンプルなトリプルストアの構築
2.2.1 インデックス
2.2.2 addおよびremoveメソッド
2.2.3 クエリの実行
2.3 グラフのマージ
2.4 映画データの追加とクエリ
2.5 その他の例
2.5.1 地域
2.5.2 セレブリティ
2.5.3 ビジネス

3章 セマンティックデータの利用
3.1 シンプルなクエリ言語
3.1.1 変数のバインディング
3.1.2 クエリ言語の実装
3.2 フィードフォワード推論
3.2.1 新しいトリプルの推論
3.2.2 ジオコーディング
3.2.3 ルールのチェーン
3.2.4 「人工知能」についてひと言
3.3 結びつきの検索
3.3.1 Kevin Baconの6段階
3.4 共有キーと重なりのあるグラフ
3.4.1 例:企業と地域のグラフの結合
3.4.2 結合されたグラフへのクエリ
3.5 基本的なグラフの可視化
3.5.1 Graphviz
3.5.2 トリプルの集合の表示
3.5.3 クエリの結果の表示
3.6 セマンティックデータの柔軟性

第2部 標準とソース
4章 必要最小限のRDF
4.1 RDFとは何か?
4.2 RDFのデータモデル
4.2.1 強力なキーとしてのURI
4.2.2 リソース
4.2.3 空白ノード
4.2.4 リテラル
4.3 RDFリアライゼーションフォーマット
4.3.1 友人のグラフ
4.3.2 N-Triples
4.3.3 N3
4.3.4 RDF/XML
4.3.5 RDFa
4.4 RDFLibの紹介
4.4.1 RDFLibを使った永続的保存
4.5 SPARQL
4.5.1 SELECT形式のクエリ
4.5.2 OPTIONALおよびFILTER制約
4.5.3 複数のグラフパターン
4.5.4 CONSTRUCTクエリ形式
4.5.5 ASKおよびDESCRIBEクエリ形式
4.5.6 RDFLibにおけるSPARQLクエリ
4.5.7 便利なクエリ修飾子

5章 セマンティックデータのソース
5.1 Friend of a Friend(FOAF
5.1.1 ソーシャルネットワークのグラフ解析
5.2 リンクトデータ
5.2.1 データのクラウド
5.2.2 その人は、その人のFOAFファイルか?
5.2.3 リンクトデータの利用
5.3 Freebase
5.3.1 識別子データベース
5.3.2 RDFインターフェース
5.3.3 Freebaseのスキーマ
5.3.4 MQLインターフェース
5.3.5 metaweb.pyライブラリの利用
5.3.5 人とのインタラクション

6章 「オントロジー」って何ですか?
6.1 その利点は何ですか?
6.1.1 意味の契約
6.1.2 モデルはデータである
6.2 データモデリングへの招待
6.2.1 クラスと属性
6.2.2 フィルムのモデル化
6.2.3 関係の具体化
6.3 最小限のOWL
6.4 Protégéの利用
6.4.1 新しいオントロジーの作成
6.4.2 オントロジーの編集
6.5 OWLをもう少し
6.5.1 関数属性と逆関数属性
6.5.2 逆関係属性
6.5.3 排他的クラス
6.5.4 リアルに保つ
6.6 他のオントロジー
6.6.1 FOAFの記述
6.6.2 ビールのオントロジー
6.7 こんなのはきれいなリレーショナルスキーマじゃない!

7章 セマンティックデータの公開
7.1 セマンティクスの埋め込み
7.1.1 microformat
7.1.2 RDFa
7.1.3 Yahoo! SearchMonkey
7.1.4 GoogleのRich Snippets
7.2 レガシーデータの扱い
7.2.1 Internet Video Archive
7.2.2 テーブルとスプレッドシート
7.2.3 レガシーなリレーショナルデータ
7.3 RDFLibからリンクトデータへ

第3部 実践
8章 ツールキット群の概要
8.1 Sesame
8.1.1 Sesame Java APIの利用
8.1.2 SesameにおけるRDFS推論
8.1.3 Sesameサーバーのサーブレットコンテナ
8.1.4 Sesame Webアプリケーションのインストール
8.1.5 ワークベンチ
8.1.6 データの追加
8.1.7 SPARQLクエリ
8.1.8 REST API
8.2 他のRDFストア
8.3 SIMILE/Exhibit
8.3.1 簡単なExhibitのページ
8.3.2 検索、フィルタリング、パターンビュー
8.3.3 Sesameとのリンク
8.3.4 タイムライン

9章 データによるオブジェクトのイントロスペクション
9.1 RDFObjectのサンプル
9.2 RDFObjectフレームワーク
9.3 RDFObjectの動作

10章 まとめ上げる
10.1 求人情報アプリケーション
10.1.1 アプリケーションの要件
10.2 求人情報のデータ
10.2.1 RDFへの変換
10.2.2 Sesameへのデータのロード
10.3 Webサイトの動作
10.3.1 CherryPy
10.3.2 Makoページテンプレート
10.4 汎用ビューアー
10.4.1 Sesameからのデータの取得
10.4.2 汎用テンプレート
10.5 企業データの取得
10.5.1 Crunchbase
10.5.2 Yahoo! Finance
10.5.3 Freebaseの接続との調整
10.6 専用ビュー
10.7 外部への公開
10.7.1 RDFa
10.7.2 RDF/XML
10.8 データの拡張
10.8.1 位置情報
10.8.2 地理学、経済、人口統計学
10.9 洗練されたクエリ
10.10 求人情報の視覚化
10.11 さらなる拡張

第4部 エピローグ
11章 地球を覆うグローバルグラフ
11.1 ビジョン、誇大広告、現実
11.2 グローバルグラフのコミュニティへの参加
11.2.1 コモンズへのデータの解放
11.2.2 ライセンスに関する考察
11.2.3 データのサイクル
11.3 連続的な変化を支える

索引

O'Reilly Japan - セマンティックWeb プログラミング

今年2010年は Linked Data の普及がはじまった年として記憶されると予想しています。世界的には Data.gov.ukData.gov といった政府系公共データの公開方法のひとつに SPARQL エンドポイントや Linked Data が取り入れられはじめたり、セマンティックWeb技術のデモンストレーションとして Wikipedia のデータを活用した DBpedia が注目を集めています。日本でも、国立国会図書館件名標目表が、SPARQL エンドポイントをふくむ Linked Data での公開を最近はじめました。ライフサイエンス統合データベースセンターでは国内のライフサイエンスの公共データを Linked Data 化する活動に取り組んでいます。このような流れを本書で後押しできることを期待しています。

Linked Data についてはもう少し知りたいときは、本書の前書きでも紹介しました Tim-Berners Lee のTEDでのトークを見るのがよいでしょう。

セマンティックWeb プログラミング

セマンティックWeb プログラミング

Katayama T, Nakao M, Takagi T. (2010) TogoWS: integrated SOAP and REST APIs for interoperable bioinformatics Web services, Nucleic Acids Res. 2010 May 14. (Annual Web Server Issue 2010)

TogoWSの論文が Nucleic Acids Research の Web Server Issue に掲載されました。

ウェブサーバ特集号なので、サンプルコード多めで書きました。幅の長くなりがちな URL が多めなので、PDF版 より HTML 版の方が読みやすいと思います。ぜひ、HTML 版でサンプルコードや URL の例示をひとつづつ動作確認をしてみてください。

screenshot screenshot screenshot


TogoWS バイオインフォマティクスウェブサービスの使いにくいところを改善するサービスです。ユーザは使い方のととのったデータベースエントリ取得/検索REST APIや統合されたSOAP WSDLを利用できます。SOAP サービスの利用時にあると便利な、四大プログラミング言語を網羅したサンプルコードメソッドレベルのサービス死活モニターメソッドレベルのドキュメントを提供しています。

REST API はデータベースエントリパーザ機能をもち、フォーマット指定とフィールド値取得が可能な点がほかに無い特徴です。いわば、サーバサイド BioRuby というかデータベースエントリパーザのクラウド化といえるでしょう。

TogoWSDBCLS の基盤チームの立ち上げのころからはじまったプロジェクトです。それ以前からあったウェブサービス相互運用性についての活動の流れで KEGG API をつくっていた HGC の片山さんとサービスの設計を議論しました。この議論はのちに BioHackathon 2009ウェブサービスマニフェストにつながっていきます。

国際開発会議DBCLSバイオハッカソン2010開催のおしらせ

来る2月8日から12日に東京にて国際開発会議DBCLSバイオハッカソン2010を開催いたします。初日の8日にはシンポジウムを開催し、のこりの日程で開発会議をおこないます。参加者募集中です。

ライフサイエンス統合データベースセンターでは、ライフサイエンスのデジタルリソースの統合化をおこなっています。その達成のためにいままでにオープンソースソフトウェアと公共サービスを活用する統合環境の開発や先行研究のサーベイのために国際開発会議バイオハッカソンを2008年から開催しています。Open Bio*ライブラリによるライフサイエンスウェブサービス相互運用性の標準化にとりくんだバイオハッカソン2008、実問題でのアプリケーションにとりくんだバイオハッカソン2009を開催してきました。今年は、セマンティックウェブ技術による生物学的知識の取り扱いをテーマに開催するは運びとなりました。

screenshot screenshot screenshot

データの質の多様化と量の増加の著しいライフサイエンスでは、データからの知識発見のためのより効果的な取り組みがますます課題となってきています。知識発見は、ある側面から見ると、新しいデータの組み合わせによってなされます。データを組み合わせるとはデータ統合そのものです。多様大量データの効果的なデータ統合という観点から LinkedData を支えるセマンティックウェブ技術が有望であると考え、クエリ、データセット、ストア、ツールに問題設定を分割しそれぞれの専門家を内外から参加していただき、課題について議論し問題の明確化をおこない、具体的な開発ターゲットを設定し、開発に集中することや、デジタルデータ共有やセマンティックアノテーション、Biomedical LinkedOpenData などについての情報交換や情報共有を行います。期待する成果としては、この方向の妥当性についての確認やオープンバイオ*共通APIの仕様策定とその実装、幅広いユーザ層それぞれにメリットのあるアプリケーション実装や拡張、Biomedical LinkedData の拡張に向けたセマンティックアノテーションの取り組みの普及があげられます。

クエリは、RDF化データやLinkedDataを利用した、必要とされる生物学的質問への回答可能性やあたらしい質問の実現可能性について扱います。具体的な質問を列挙したり、その回答に必要なデータについて議論します。

データセットは、上記のクエリに答えるためにいま手にいれることのできるデータ(Bio2RDFNeuroCommonsやLinkedOpenData)そして欠けているデータを調査し、必要に応じてデータのセマンティックアノテーションを実施することを計画しています。データのRDF化のためのセマンティックアノテーションが今後普及していくべきことであると考えています。

ストアは、必要なクエリに対するデータのストアシステムの調査や開発を計画しています。トリプルの性質にもとづいた拡張性や検索更新の速度などがポイントになります。

ツールは、オープンバイオ*プロジェクトでのRDFストアやSPARQLエンドポイントへの共通APIの開発、RDFデータの入出力や変換などのツールの開発、エンドユーザーアプリでの応用やテキストマイニングツールの実装を計画しています。たとえば、Cytoscape から SPARQL エンドポイント経由でノードのアトリビュートを追加する機能の実装、BioMartのRDFインポート機能やGalaxyの対応データ型のRDF拡張などが想定されています。

これらに限らず、必要に応じて調査や開発に取り組むことができるようにしていきたいところです。特に、ユーザ層が多様なライフサイエンスでは、データ可視化やユーザーインターフェースが極めて重要になっています。この観点からも取り組んでいきたいです。

参加者募集中

参加者を大きくわけると、オープンバイオBioRuby のなかお、片山さん、後藤さん、Janさん、Pjotrさん(BioLib)、Raoulさん(Main Page · BioSQL)、 BioJavaBioRubyphyloMLのChiristianさん、 BioPythonのBradさん、BioPerlNEXMLのRutgerさん、G-langageの荒川さん、Bio-JETIのAnna-Lenaさん、クライアントアプリ側として Cytoscape の大野さんと西田さん、RDFscapeのAndreaさん、IntActのBrunoさん、Biomart の Arek さん、Galaxy の James さん、InterMine の Gos さん、DBCLS Galaxyの山口さん、セマンティックウェブ側としてBio2RDFのFrancoisさん、Cell Cycle OntologyレビューのErickさん、NeuroCommonsAlanさん、Concept Web AllianceのMatthiasさん、テキストマイニング側としてMammanDさん、TogoDocの山本さん、 ReflectのHeikoさんとVenkataさん、exEBIのAlbertoさん、マッシュアップ系の Pierreさん@yokofakun、システム生物学の荻島さん、UniProt RDFのJervenさんとThomasさん、BioMOBYからMarkさんとLukeさんとPaulさん、UTGBとデータベース系の斉藤さんとなっています。

海外からの参加者は予算の許す限り招待しています。国内からの参加は、通常の国際会議スタイルになっています。会場は本郷地区の東京大学工学部12号館にあるライフサイエンス統合データベースセンターですので、関東圏の方はもとより国内の方の参加を期待しております。特に学生のかたの参加を歓迎いたします。参加費は無料ですので、開発会議に参加を希望されるかたは参加登録を参照して応募してください。

screenshot

初日(8日)にシンポジウムを開催します。いくつかのトークで問題設定の共有をはかり、後半にオープンスペースの時間をとって、サブグループの形成を試みます。シンポジム後のレセプションで交流を広げ、ハッカソンのスタートアップ図ります。二日目以降はグループに分かれ、ひたすら開発を中心とした開発会議を行います。朝と夕方に集合して進捗を共有し、夜には情報交換を行うスタイルになると思います。最終日(12日)に、成果報告会を行い、成果の確認とその後のゴールを設定し、報告書の概要を決めることになります。13日以降には、ポストハッカソンイベントとして報告書の作成が計画されています。初日前にはプレハッカソンイベントも計画されていて、前乗りで参加可能な方とのブレインストーミングBioRuby開発者ミーティングが計画されています。


国際開発会議DBCLSバイオハッカソン2010 開催概要

screenshot

まとめ

中尾光輝「ライフサイエンス統合データベースの課題:権利と法律、技術」CBRCワークショップII, Bioinformatics Week in Odaiba 2009

BiWO2009 の情報統合データベースのセッションで講演しました。

ライフサイエンス統合データベースセンター(DBCLS)の活動の紹介と活動を通して得られた課題とそこへの取り組みについて話しました。主にライセンスと技術的な話題で、大事な事は標準を使いましょうということです。ライセンスはクリエイティブ・コモンズ・ライセンス、技術はW3など標準技術。また、公開と共有は違うということも強調しました。法律の話題は翌日の大久保教授の講演に丸投げしてしまいました。
質問では、組織の公開文章やコンテンツにクリエティブ・コモンズ・ライセンスを使いたいけど上部組織をどうやって説得するとよいのか?DBCLSはどうやってROISを説得したのか?というものがありました。なかおはそのプロセスの詳細を知らなかったので答えられませんでしたが、このような実際に導入するときに参考になるようなコンテンツを作っていく必要があるということがわかります。
講演後に、ライセンスについてこういった話は初めて聞いたという感想や、クリエイティブ・コモンズ・ライセンスを初めて知ったという話や、長らくソフトウェアを公開しているけどライセンスは難しくて何を選べばいいのかわからないという話を受けました。
興味や関心はあるけど、わかりにくいという状況だとあらためてわかった次第です。宣伝をして認知度をあげたり感心を引くという時期はとっくに過ぎていて、感心のある人がいかに容易く導入できるかについてどのようなことができるのか、必要なのかに取り組む必要があります。

screenshot screenshot

デモも行いました。

翌日には大久保DDBJセンター長が招待講演をされました。

Mitsuteru Nakao, Shinobu Okamoto, Mitsuyo Kohara, Tsunakazu Fujishiro, Takatomo Fujisawa, Shusei Sato, Satoshi Tabata, Takakazu Kaneko, and Yasukazu Nakamura, CyanoBase: the cyanobacteria genome database update 2010, Nucleic Acids Research Advance Access

あたらしい cyanobase の論文が Nucleic Acids Research Advance Access として出版されました。NAR Database issue 2010 に掲載されます。

screenshot screenshot screenshot screenshot

これまでの CyanoBase のデータの追加と機能の改善をおこなったものです。ゲノムスケールの解析に役立つように、検索結果をテキスト形式で出力する機能や遺伝子セットから単語分布を提示する機能を加えています。さらに、遺伝子毎の文献リストをあらたに導入しました。

本研究開発では、共著者の皆様の協力をえて企画、設計、開発、執筆、投稿のすべてを経験し、いろいろと勉強になりました。

中尾光輝、片山俊明「1. 分散データの統合とセマンティック Web」情報処理学会誌9月号, 836-844, 小特集: 生命情報学が直面する大規模ゲノムデータ時代の課題

情報処理学会誌9月号小特集: 生命情報学が直面する大規模ゲノムデータ時代の課題に BioHackathon 2009 での議論を踏まえた記事を書きました。BioHackathon 2008 と 2009 でおこなってきたライフサイエンスにおけるウェブサービスの相互運用性向上による統合の現状、そしてセマンティックWeb技術でとりくまれつつあるデータの統合の展望について述べています。

screenshot

小特集 生命情報学が直面する大規模ゲノムデータ時代の課題 目次

http://fw8.bookpark.ne.jp/cm/ipsj/mokuji.asp?category1=Magazine&vol=50&no=9

情報処理学会電子図書館-会誌「情報処理」で目次や記事の冒頭2ページ分が立ち読みできます。


http://d.hatena.ne.jp/kwg/20090916/p2 のご指摘については、SRA を身近に扱っているひとを著者陣に巻き込めればよかったなと思います。

中尾光輝「BioHackathon 2009 レポート」第23回システムバイオロジー研究会

東大医科研で開催された第23回システムバイオロジー研究会にて BioHakcathon 2009 の発表をしてきました。オーガナイザーの理研の川路さん、ありがとうございます。

BioHackathon 2009 レポート
中尾光輝 (ライフサイエンス統合データベースセンター)

ライフサイエンスにおけるデータ共有、特にワークフローを実現するためのウェブサービスを通したデータ交換の改善を目的として、過去二回にわたり国際ワークショップBioHackathon を開催している。
DBCLSとOISTの共催で今年3月に開催した BioHackathon 2009では、新型シーケンサーによる大量データの扱いにまつわる課題について、巨大データの扱い、データ共有、ウェブサービス、可視化、ワークフロー/パイプライン、セマンティックウェブアノテーションなどの観点において、データを生産している研究者、ツールの開発者、サービスの提供者によって実世界でのユースケースをまじえて議論され、解決可能な課題の境界面ではツールやサービスの仕様策定や実装をおこなった。そのなかでも本研究会に関係の深いトピックについて掘り下げて紹介したい。成果物はWiki http://hackathon2.dbcls.jp にまとめられている。

第23回システムバイオロジー研究会

screenshot screenshot

研究会後は目黒駅前で懇親会。いろいろなラボのいろいろなひとと話ができて大変盛り上がりました。