ホーム 記事一覧 ブック DH週間トピックス 検索 このサイトについて
English
ro-crate-pyを試す

ro-crate-pyを試す

概要 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形式にするために使用します。 pip install rocrate pip install bagit from rocrate.rocrate import ROCrate from rocrate.model.person import Person from rocrate.model.contextentity import ContextEntity import os import bagit import shutil import json データ dataset_name = "百鬼夜行図コレクション" dataset_description = "百鬼夜行図(ひやつきやぎうず) 蔭山源広迢写 百鬼夜行は今昔物語などの説話にでてくる言葉で、京の大路を夜な夜な化け物たちが練り歩く様子を表している。" dataset_license = "https://www.lib.u-tokyo.ac.jp/ja/library/contents/archives-top/reuse" item_id = "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" item_name = "百鬼夜行図" item_description = "OAI-PMH(Open Archives Initiative Protocol for Metadata Harvesting)" item_license = "https://www.lib.u-tokyo.ac.jp/ja/library/contents/archives-top/reuse" person_id = "https://orcid.org/0000-0001-8245-7925" person_name = "Satoru Nakamura" org_id = "https://ror.org/057zh3y96" org_name = "The University of Tokyo" ROCrateインスタンスの作成 gen_preview=Trueとすることで、保存時にpreview.htmlを合わせて作成してくれます。 ...

Drupalで他のコンテンツを参照する際に、IDとタイトルで探せるようにする

Drupalで他のコンテンツを参照する際に、IDとタイトルで探せるようにする

はじめに 例えば、Drupalで「組織」というコンテンツタイプを作成し、「東京大学」「京都大学」というコンテンツを作成します。 この時、Research Organization Registry (ROR)を使用して、以下のIDも登録したとします。 タイトル ID 東京大学 057zh3y96 京都大学 02kpeqv85 このコンテンツを他のコンテンツ(例えば、「研究者」コンテンツタイプ)からaffiliationフィールドを使って参照してみます。この時、以下のように大学と入力すると、登録済みの2件のコンテンツが表示されます。 一方、IDの一部である057などを入力しても、登録済みのコンテンツが表示されません。 そこで、本記事では、タイトルに加えて、他のフィールドでもコンテンツを探せるようにすることを目指します。 方法 ビューの作成 Drupalにログイン後、以下のURLにアクセスし、ビューを追加します。 /admin/structure/views/add ここでは、ビューの基本情報として、「組織」「organization」を与え、ビューの設定として、コンテンツのタイプを「組織」に限定しています。 次の画面に遷移後、まず以下のように「+追加」ボタンを押し、「エンティティ参照」を選択します。 以下のように、メッセージが表示されます。 ディスプレイ “エンティティ参照” が正しく動作するには、選択した検索フィールドが必要です。エンティティ参照リストのフォーマット設定を確認してください。 このメッセージに対応するには、フォーマット > フォーマット > 設定を押して、以下のように、検索フィールドにチェックを入れる必要がありました。 この結果、以下のように、タイトルが表示されます。 IDフィールドの追加 次に、IDフィールドを追加します。 フィールド > 追加 から、追加したいフィールド(ここではID)を追加します。 次に、フォーマット > フォーマット > 設定から、IDにもチェックを入れます。 結果、以下のように、タイトルとIDのペアで表示されるようになりました。 フィールド > 並び替え で順番を入れ替えてみます。 結果、以下のように、IDが先頭にくるようになりました。 IDの場合、昇順で並べるケースが考えられるため、ここでも並び順を変更してみます。具体的には、並び替え基準でIDフィールドを追加して、昇順にします。 また、デフォルトで登録済みであったコンテンツ: 投稿日時を削除します。 結果、以下のように、IDの昇順でエンティティ参照が並ぶようになりました。(ここでは、画面上は変化がありません。) そして「保存」ボタンを押して、設定を保存します。 フィールド管理への反映 作成したビューをフィールド管理に反映してみます。まず、以下のコンテンツタイプの一覧ページにアクセスします。 ...