卒業研究で書いたプログラムを一部公開してみた
- 卒業研究で書いたプログラムを一部公開してみた
- Linked Data として公開されている,数値・統計データを関係データベースに格納し,一般的な(R)OLAPシステムでOLAP分析が行えるようにする変換
- これまでに以下のデータセットを試した
- Linked Sensor/Observation Data - http://wiki.knoesis.org/index.php/LinkedSensorData
- National Radioactivity Stat as Linked Data - http://www.kanzaki.com/works/2011/stat/ra/
- github の educational account (https://github.com/edu) をもらって,コードと論文はそこに置いてある
- 今回は,private な研究用リポジトリから,一部外に持ってきたという感じ
- 一部分析対象のデータ依存なコードだったところを,直したりした
- vertical.rb - RDFを読んで,垂直表現で関係データベースに挿入する(mainが長すぎるが,なんとかならないものか)
- horizontal.rb - 垂直表現のテーブルから,水平表現のテーブルを作成する
- duplicator.rb - 垂直表現のテーブルから,水平表現のテーブルへデータをコピー
- generetadObservation_deleter.rb - 述語(predicate)が 'generetadObservation' となっているトリプルを削除する
- 手法が十分でないため,'rdf:type' が定義されていない観測所(system)に関するデータは削除する
- relational_creator - 水平表現のテーブルから,他テーブルとの関係(relationship)を探し,関係を保存するテーブルに入れておく
- その他
- geonames_getter.rb - GeoNames (http://www.geonames.org/) のダンプデータから作成したデータベースから,任意の地点から地球(最上位レイヤ)までの階層構造を得る
- time_divider.rb - データ型 xsd:dateTime で記述されている値(すなわち日時)から階層構造を得る
- util.rb - データベース接続のためのユーティリティ,その他ヘルパメソッドなど
- 最終的に,Mondrian OLAP (http://mondrian.pentaho.com/) で利用するためのスキーマ作成などのコードはまだ公開してない
- for finding summer internship ;)