ホーム 記事一覧 ブック DH週間トピックス 検索 このサイトについて
English
DataverseのデータをArchivematicaで処理する

DataverseのデータをArchivematicaで処理する

概要 DataverseのデータをArchivematicaで処理する流れを確認しましたので、備忘録です。 背景 ArchivematicaではDataverseのデータを入力する機能を提供しています。 https://www.archivematica.org/en/docs/archivematica-1.17/user-manual/transfer/dataverse/ 本機能について、以下の講演会で教えていただいたので、実際に試してみました。 https://www.kulib.kyoto-u.ac.jp/bulletin/1402322 Dataverse 以下の記事でも使用したDemo Dataverseを使用します。 以下のデータをアップロードしました。 https://demo.dataverse.org/dataset.xhtml?persistentId=doi:10.70122/FK2/IHQZL3 ここから画像データそのものと、JSONデータをダウンロードします。Metadataタブに移動し、Export MetadataからJSONを選択します。 以下はJSONファイルの一部ですが、metadataBlocksにメタデータ、filesに画像ファイルの情報が記載されています。 { "metadataBlocks": { "citation": { "displayName": "Citation Metadata", "name": "citation", "fields": [ { "typeName": "title", "multiple": false, "typeClass": "primitive", "value": "nakamura196" }, { "typeName": "author", "multiple": true, "typeClass": "compound", "value": [ { "authorName": { "typeName": "authorName", "multiple": false, "typeClass": "primitive", "value": "Nakamura, Satoru" }, "authorAffiliation": { "typeName": "authorAffiliation", "multiple": false, "typeClass": "primitive", "value": "https://ror.org/057zh3y96", "expandedvalue": { "scheme": "http://www.grid.ac/ontology/", "termName": "The University of Tokyo", "@type": "https://schema.org/Organization" } } } ] }, { "typeName": "datasetContact", "multiple": true, "typeClass": "compound", "value": [ { "datasetContactName": { "typeName": "datasetContactName", "multiple": false, "typeClass": "primitive", "value": "Nakamura, Satoru" }, "datasetContactEmail": { "typeName": "datasetContactEmail", "multiple": false, "typeClass": "primitive", "value": "na.kamura.1263@gmail.com" } } ] }, { "typeName": "dsDescription", "multiple": true, "typeClass": "compound", "value": [ { "dsDescriptionValue": { "typeName": "dsDescriptionValue", "multiple": false, "typeClass": "primitive", "value": "My First Dataset" } } ] }, { "typeName": "subject", "multiple": true, "typeClass": "controlledVocabulary", "value": [ "Arts and Humanities" ] }, { "typeName": "depositor", "multiple": false, "typeClass": "primitive", "value": "Nakamura, Satoru" }, { "typeName": "dateOfDeposit", "multiple": false, "typeClass": "primitive", "value": "2025-01-19" } ] } }, "files": [ { "label": "nakamura196.jpg", "restricted": false, "version": 1, "datasetVersionId": 281093, "dataFile": { "id": 2514724, "persistentId": "doi:10.70122/FK2/IHQZL3/B7JVQS", "pidURL": "https://doi.org/10.70122/FK2/IHQZL3/B7JVQS", "filename": "nakamura196.jpg", "contentType": "image/jpeg", "friendlyType": "JPEG Image", "filesize": 53656, "storageIdentifier": "s3://demo-dataverse-org:1948154820d-63733533ea7c", "rootDataFileId": -1, "md5": "72f08a8b07bacbe3b5cf021910fd26dc", "checksum": { "type": "MD5", "value": "72f08a8b07bacbe3b5cf021910fd26dc" }, "tabularData": false, "creationDate": "2025-01-19", "publicationDate": "2025-01-19", "fileAccessRequest": true } } ] } データの準備 Dataverseのサンプルデータは以下に格納されています。 ...

Dataverseを試す

Dataverseを試す

概要 Dataverseを試す機会がありましたので、その備忘録です。以下のデモ環境を使用します。 https://demo.dataverse.org/ アカウント作成 Sign Upからアカウントを作成します。 Dataverseの作成 Dataverseを作成してみます。 以下のようなDataverseを作成しました。 https://demo.dataverse.org/dataverse/nakamura196 Datasetの作成 Add Dataから、データセットを作成します。 以下が登録画面です。 以下が登録結果の画面です。 URLは以下になっており、自動的に付与されるDOIをシステム内の識別子として利用しているようでした。 https://demo.dataverse.org/dataset.xhtml?persistentId=doi:10.70122/FK2/HBXQPZ Whole Tale Access Datasetボタンのオプションに、Whole Taleというものがありました。 アカウントを作成して、Compute EnvironmentをJupyter Notebookに設定してみます。 Acknowledge allボタンを押します。 結果、以下のようなJupyter Notebookの環境が作成されました。 Pythonを使って、ダウンロードした画像を表示してみます。 上記のように、データセットやソースコードに対する動作確認や検証もシームレスに実行できるようでした。 Widgets 以下の「Thumbnails + Widgets」を押してみます。 以下の「Widgets」タブを表示してみます。 上記のコードを埋め込んでみると、以下に示すように、データセットに関する情報を埋め込み表示することができました。 https://codepen.io/satoru196/pen/NWEMvEV?editors=1000 API Pythonのライブラリを使ってみます。 https://pydataverse.readthedocs.io/en/latest/ ライブラリをインストールします。 !pip install pyDataverse データのダウンロード 以下のページを参考にしました。 https://pydataverse.readthedocs.io/en/latest/user/basic-usage.html#download-and-save-a-dataset-to-disk from pyDataverse.api import NativeApi, DataAccessApi from pyDataverse.models import Dataverse base_url = 'https://demo.dataverse.org' api = NativeApi(base_url) data_api = DataAccessApi(base_url) DOI = "doi:10.70122/FK2/HBXQPZ" dataset = api.get_dataset(DOI) files_list = dataset.json()['data']['latestVersion']['files'] for file in files_list: filename = file["dataFile"]["filename"] file_id = file["dataFile"]["id"] print("File name {}, id {}".format(filename, file_id)) response = data_api.get_datafile(file_id) with open(filename, "wb") as f: f.write(response.content) データセットの作成(demo.dataverse.orgでは権限がありませんでした。) demo.dataverse.orgでは権限がありませんでしたが、実施した内容をメモします。 ...