ro-crate-pyは、Research Object Crates (RO-Crate)を作成および利用するためのPythonライブラリです。
https://doi.org/10.5281/zenodo.3956493
ro-crate-py is a Python library to create and consume Research Object Crates. It currently supports the RO-Crate 1.1 specification.
ゴール#
以下に示すようなページを作成することを目指します。
https://nakamura196.github.io/rocrate_demo/crate/test/data/ro-crate-preview.html
データセットのページ#

特定のアイテムのページ#

JSONデータ#
以下のようなJSONデータを作成します。
https://nakamura196.github.io/rocrate_demo/crate/test/data/ro-crate-metadata.json
アイテムのIDとしては、以下のOAI-PMHのレコードを使用します。
https://da.dl.itc.u-tokyo.ac.jp/portal/oai?verb=GetRecord&metadataPrefix=dcndl_simple&identifier=oai:da.dl.itc.u-tokyo.ac.jp:fbd0479b-dbb4-4eaa-95b8-f27e1c423e4b
アイテムの作成者として、ダミーの値ですが、ORCIDのIDを指定します。
https://orcid.org/0000-0001-8245-7925
データの公開者としては、東京大学のResearch Organization Registry (ROR) を指定します。
https://ror.org/057zh3y96
ライブラリのインストール#
bagitはrocrateに必須ではありませんが、今回は最終出力をbagit形式にするために使用します。
データ#
ROCrateインスタンスの作成#
gen_preview=Trueとすることで、保存時にpreview.htmlを合わせて作成してくれます。
root_datasetのメタデータを作成する#
アイテムの作成#
今回は、remote entitiesを追加します。
https://github.com/ResearchObject/ro-crate-py?tab=readme-ov-file#adding-remote-entities
作成者の追加#
アイテムの作成者として、Personを追加します。
公開組織の追加#
0
ここでは、出力先をdocs/crate/testとします。
1
write_zipを使用することで、圧縮ファイルを保存することもできます。
2
日本語対応#
そのままでは、日本語がエスケープされてしまうので、ensure_asciiをFalseにします。
3
bagitの作成#
4
preview.htmlの作成にあたっては、ROCrate(gen_preview=True)で作成することもできますが、以下のモジュールを使用することにより、冒頭で紹介したようなpreview.htmlを作成することができます。
5
まとめ#
RO-Crateの利用にあたり、参考になりましたら幸いです。