DataONE コマンドライン・クライアントに関するメモ¶
DataONE は、米NSF の支援のもとで開発されている 研究データ分散リポジトリシステムである。
DataONE のシステムは基本的にウェブベースで動作するが、 DataONE コマンドライン・クライアントは コマンドライン形式のフロントエンド・インターフェイスを提供する。
記述言語は python 。
以下の記述は FreeBSD 9.1-RELEASE 上で 試験的に使用した時の備忘録である(2013年7月)。
感想¶
パッケージの作成、DataONE への登録、データ更新、ダウンロードと、 DataONE システムへの一通りのアクセスができるようだ。 データ管理者用のちょっとしたフロントエンドとして使えるかも知れない。
ただ、setup.py の不備など、ちゃんとメンテナンスされているのかよくわからない。 たぶん開発のメインラインには入ってないんだろう。 Python で書かれているので、自分で改造して好きに使えば問題ないだろう。
インストール¶
Python と python ライブラリのインストール。:
ports/lang/python27 ports/security/py-openssl ports/devel/py-distribute ports/devel/py-lxml
Google foresite library(OAI-ORE を扱うためのライブラリ)のインストール。:
http://foresite-toolkit.googlecode.com/files/foresite-1.2.tgz をダウンロード tar xzf foresite-1.2.tgz; cd foresite-1.2; python setup.py install
DataONE リポジトリからコードを取り出す。:
ports/devel/subversion インストール svn export https://repository.dataone.org/software/cicore/trunk/d1_python cd d1_python; python svn_all.py
d1_common_python インストール:
cd d1_common_python/src setup.py 編集 setup() の引数に packages = find_packages(), を追加する python setup.py install
d1_libclient_python インストール:
cd d1_libclient_python/src; python setup.py install
d1_client_cli インストール:
cd d1_client_cli/src setup.py 編集 setup() の引数に packages = find_packages(), を追加する python setup.py install
クライアント証明書の準備
CILogin サイトからクライアント証明書を入手する。 その方法については DataONE R Client の使い方メモ を 参照のこと。
PEM 形式に変換した証明書をどこか適当な場所に置く。 PEM 形式であれば、余計なテキストが含まれていてもよい。
クライアントの起動:
$ python >>> from d1_client_cli import dataone >>> dataone.main() DataONE Command Line Interface >
環境設定
参照するデータノードのURLと、クライアント証明書のパスを指定する。 以下は一例。:
> set mn-url https://knb.ecoinformatics.org/knb/d1/mn/ > set cert-file /tmp/d1cert.pem > set key-file /tmp/d1cert.pem > show > save
使い方¶
機能一覧:
> help
キーワード検索:
> serarch keyword
パッケージのダウンロード
package get コマンドがうまく動かない。原因不明のエラーが出る。 小一時間ハックしたが原因がよくわからない。 コードがちゃんとメンテナンスされてないのか?
データオブジェクトのダウンロード:
> get id filename
id のオブジェクトが DataONE からダウンロードされてローカルの filename ファイルに保存される。