OpenRefine
乱雑なデータのクリーニング:たとえば、部分的にしか構造化されていないテキストファイルを編集するとき、変換やファセット、クラスタリング機能を利用することで、きれいに構造化されたデータを作成することができる。
データの変換:正規化・非正規化の処理を行いながら、他の形式に変換することができる。
ウェブサイトのデータのパース:OpenRefineにはURL取得機能がある理、jsoup HTMLパーサとDOMエンジンが搭載されている。
(JSONを返す)ウェブサービスからデータを取得しながらデータセットへデータの追加。たとえば、住所のジオコーディングを地理座標系に変換するために使用できる。
Wikidata(旧称:Freebase)への名前合わせ:これは照合(名寄せ)機能に関係し、セル内の文字列の値をWikidataのエンティティにマッピングすることができる。
たとえば、1つのカラムの下にある全ての行のすべてのセルに対して変換処理が適用されたり、すでにあるカラムを元にして新しいカラムが作成されるといった処理となる。すべての操作はプロジェクト内に保存された1つのデータセットに対して実行され、別のデータセットに対して同じ操作を繰り返し適用することができる。
スプレッドシートとは異なり、セルの中には数式は保存されず、数式はデータの変換に使われ、また、データの変換は1回のみ実行される。データを変換する処理式はGeneral Refine Expression Language (GREL)と呼ばれるDSLの他、Jython(つまりPython)やClojureで記述することも可能である。
プログラムにはウェブユーザーインターフェイスが組み込まれているが、ウェブサービス(SAAS)としてホストされるわけではなく、ダウンロード後にローカルマシンで動作するためのものである。OpenRefineを実行すると、ローカルでウェブサーバが起動し、このウェブサーバ上で動作するウェブUIがブラウザで自動的に開かれる。