CiNii と KAKEN は共にRDFと呼ばれるグラフデータモデルでデータを提供しています.これらのデータには論文の共著者関係や科研費の申請関係等,研究者同士の関係が記述されています.つながりマップではCiNiiとKAKENのデータをオープンハウスのデータとつなぎ合わせて統合することで,オープンハウスで展示を行なっている国立情報学研究所の研究者について,互いの関係を導き出して提示するということを行なっています.オープンハウスのデータとKAKENやCiNiiのデータの関係については図1の通りです.
具体的には,以下のステップを踏んでいます.
こちらのデータ作成作業は主に1と3(図1の灰色部分)で,2のKAKENとCiNiiのデータについては手を加える必要はほとんどないというのがポイントです.KAKENとCiNiiでは,研究者を表すURIが割り振られていますので,ブースデータから作成した発表者URIとKAKENとCiNiiの研究者URIをowl:sameAsで結んでおくと,システムが自動でデータ統合を行なってくれます.統合後のRDFグラフは図2のようになります.
統合した後に,例えばあるブースの発表者と論文を共著したことがある研究者のブースを探したいとします.そのためには,図3のようにグラフを辿っていけば良いです.
全ての関係を順に辿っていくのは大変ですが,SPARQLという問い合わせ言語を使用すると関係を一括で取得することが出来ます.図3の関係を取得するためのSPARQLは以下のようになります.
PREFIX booth: <http://lod.ac/ns/booth#> PREFIX cinii: <http://ci.nii.ac.jp/ns/1.0/> PREFIX dc: <http://purl.org/dc/terms/> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT ?booth ?boothName WHERE { <http://lod.ac/oh-uramap/booth/101#thing> a booth:Booth ; dc:creator ?person0 . ?article foaf:maker ?person0; foaf:maker ?person1 . ?booth a booth:Booth ; dc:creator ?person1 ; rdfs:label ?boothName . FILTER (?booth != <http://lod.ac/oh-uramap/booth/101#thing>) FILTER (lang(?boothName) = 'ja') FILTER regex(str(?person0), 'http://lod.ac/oh-uramap/') FILTER regex(str(?person1), 'http://lod.ac/oh-uramap/') FILTER (?person0 != ?person1) }
このクエリは共著者のブースURIとブース名を取得します.結果は以下のようになります.
Booth | BoothName |
---|---|
<http://lod.ac/oh-uramap/booth/212#thing> | "多様な情報の意味的統合技術"@ja |
<http://lod.ac/oh-uramap/booth/301#thing> | "GRACEセンター: 先端ソフトウェア工学・国際研究センター"@ja |
<http://lod.ac/oh-uramap/booth/302#thing> | "トップエスイー: サイエンスによる知的ものづくりプログラム"@ja |
<http://lod.ac/oh-uramap/booth/305#thing> | "静的解析技術を用いた Web システムの遷移モデルの抽出"@ja |
<http://lod.ac/oh-uramap/booth/306#thing> | "高信頼なソフトウェアの効率的な開発のための形式手法技術"@ja |
<http://lod.ac/oh-uramap/booth/410#thing> | "読解時の視線移動情報に基づくテキスト解析・読解支援に関する研究"@ja |
<http://lod.ac/oh-uramap/booth/411#thing> | "深い論文理解のための論文の抄録解析と論文・概念間の関係の抽出"@ja |
<http://lod.ac/oh-uramap/booth/412#thing> | "数学的コンテンツへのアクセスを支援するテキスト処理・検索技術"@ja |
<http://lod.ac/oh-uramap/booth/501#thing> | "人工頭脳プロジェクト ―東大入試に迫るコンピュータから見えてくるもの―"@ja |
<http://lod.ac/oh-uramap/booth/506#thing> | "NTCIR(えんでぃさいる)-情報アクセス技術の比較評価基盤と研究コミュニティ"@ja |
SPARQLを試す場合は /oh-uramap/sparql から使えます.( 上記クエリの例 )