![]() | |
開発元 | Freebase。後にGoogle。現在はオープンソースコミュニティ |
---|---|
初版 | 2010年11月10日 |
最新版 | |
リポジトリ | |
プログラミング 言語 | Java[2] |
プラットフォーム | Microsoft Windows, Linux, macOS |
対応言語 | 英語、イタリア語、中国語、日本語、フランス語 |
サポート状況 | Active |
種別 | |
ライセンス | BSD License |
公式サイト |
openrefine |
OpenRefine(旧称:Google Refine、さらに以前はFreebase Gridworks)は、スタンドアローンでオープンソースのデスクトップアプリケーションで、データのクリーンナップ、他の形式への変換、データラングリングと呼ばれる処理を行うことができる[3]。見た目はスプレッドシートアプリケーションに似ているが(スプレッドシートファイル形式も処理できる)、よりデータベースに近い動作をする。
各列(カラム)の下にセルを持つデータの各行に対して様々な操作を行う。これは、リレーショナルデータベースのテーブルに非常によく似ている。1つのOpenRefineプロジェクトは1つのテーブルからなる。ユーザーは、ファセット(facet)と呼ばれるフィルタリング条件(例えば、指定した列が空でない行のみを表示するなど)の定義を使用して、表示する行をフィルタすることができる。スプレッドシートとは違い、OpenRefineのほとんどの操作は、表示された行全体に対して実行される。たとえば、1つのカラムの下にある全ての行のすべてのセルに対して変換処理が適用されたり[4]、すでにあるカラムを元にして新しいカラムが作成されるといった処理となる。すべての操作はプロジェクト内に保存された1つのデータセットに対して実行され、別のデータセットに対して同じ操作を繰り返し適用することができる。
スプレッドシートとは異なり、セルの中には数式は保存されず、数式はデータの変換に使われ、また、データの変換は1回のみ実行される[5]。データを変換する処理式はGeneral Refine Expression Language (GREL)[6]と呼ばれるDSLの他、Jython(つまりPython)やClojureで記述することも可能である[7]。
プログラムにはウェブユーザーインターフェイスが組み込まれているが、ウェブサービス(SaaS)としてホストされるわけではなく、ダウンロード後にローカルマシンで動作するためのものである。OpenRefineを実行すると、ローカルでウェブサーバが起動し、このウェブサーバ上で動作するウェブUIがブラウザで自動的に開かれる。