DataverseのデータをArchivematicaで処理する
概要
DataverseのデータをArchivematicaで処理する流れを確認しましたので、備忘録です。
背景
ArchivematicaではDataverseのデータを入力する機能を提供しています。
本機能について、以下の講演会で教えていただいたので、実際に試してみました。
Dataverse
以下の記事でも使用したDemo Dataverseを使用します。
以下のデータをアップロードしました。
ここから画像データそのものと、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のサンプルデータは以下に格納されています。
https://github.com/artefactual/archivematica-sampledata/tree/master/SampleTransfers/Dataverse
metadata
フォルダに、DataverseからダウンロードしたJSONファイルをdataset.json
という名前で格納してみます。具体的には、以下です。
ここでは、以下の記事を参考に、GakuNin RDMから接続したmdx.jpのオブジェクトストレージにデータを用意し、同オブジェクトストレージに接続したArchivematicaから処理を行います。
Archivematicaでの処理
Transfer typeに「Dataverse」を設定し、先ほど作成したフォルダを選択し、処理を開始します。
結果、以下のようにmetsファイルが作成されました。データの登録方法の問題か、バグかはわかりませんが、dmdSec_1
が2つ作成されてしまいましたが、dataset.json
の内容がDDIの形式で記述されました。
<mets:mets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mets="http://www.loc.gov/METS/" xsi:schemaLocation="http://www.loc.gov/METS/ http://www.loc.gov/standards/mets/version1121/mets.xsd">
<mets:metsHdr CREATEDATE="2025-01-21T07:28:13" />
<mets:dmdSec ID="dmdSec_1" CREATED="2025-01-21T07:27:57" STATUS="original">
<mets:mdWrap MDTYPE="DDI">
<mets:xmlData>
<ddi:codebook xmlns:ddi="http://www.icpsr.umich.edu/DDI" version="2.5" xsi:schemaLocation="http://www.ddi:codebook:2_5 http://www.ddialliance.org/Specification/DDI-Codebook/2.5/XMLSchema/codebook.xsd">
<ddi:stdyDscr>
<ddi:citation>
<ddi:titlStmt>
<ddi:titl>nakamura196</ddi:titl>
<ddi:IDNo agency="doi">https://doi.org/10.70122/FK2/IHQZL3</ddi:IDNo>
</ddi:titlStmt>
<ddi:rspStmt>
<ddi:AuthEnty affiliation="https://ror.org/057zh3y96">Nakamura, Satoru</ddi:AuthEnty>
</ddi:rspStmt>
<ddi:distStmt>
<ddi:distrbtr>Demo Dataverse</ddi:distrbtr>
</ddi:distStmt>
<ddi:verStmt>
<ddi:version date="2025-01-20T01:30:23Z" type="RELEASED">1.0</ddi:version>
</ddi:verStmt>
</ddi:citation>
<ddi:dataAccs>
<ddi:useStmt>
<ddi:restrctn />
</ddi:useStmt>
</ddi:dataAccs>
</ddi:stdyDscr>
</ddi:codebook>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
<mets:dmdSec ID="dmdSec_1" CREATED="2025-01-21T07:27:57" STATUS="original">
<mets:mdWrap MDTYPE="DDI">
<mets:xmlData>
<ddi:codebook xmlns:ddi="http://www.icpsr.umich.edu/DDI" version="2.5" xsi:schemaLocation="http://www.ddi:codebook:2_5 http://www.ddialliance.org/Specification/DDI-Codebook/2.5/XMLSchema/codebook.xsd">
<ddi:stdyDscr>
<ddi:citation>
<ddi:titlStmt>
<ddi:titl>nakamura196</ddi:titl>
<ddi:IDNo agency="doi">https://doi.org/10.70122/FK2/IHQZL3</ddi:IDNo>
</ddi:titlStmt>
<ddi:rspStmt>
<ddi:AuthEnty affiliation="https://ror.org/057zh3y96">Nakamura, Satoru</ddi:AuthEnty>
</ddi:rspStmt>
<ddi:distStmt>
<ddi:distrbtr>Demo Dataverse</ddi:distrbtr>
</ddi:distStmt>
<ddi:verStmt>
<ddi:version date="2025-01-20T01:30:23Z" type="RELEASED">1.0</ddi:version>
</ddi:verStmt>
</ddi:citation>
<ddi:dataAccs>
<ddi:useStmt>
<ddi:restrctn />
</ddi:useStmt>
</ddi:dataAccs>
</ddi:stdyDscr>
</ddi:codebook>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
<mets:dmdSec ID="dmdSec_2" CREATED="2025-01-21T07:27:57" STATUS="original">
<mets:mdRef LABEL="dataset.json" xlink:href="metadata/dataset.json" MDTYPE="OTHER" LOCTYPE="OTHER" OTHERLOCTYPE="SYSTEM" />
</mets:dmdSec>
<mets:amdSec ID="amdSec_1">
<mets:techMD ID="techMD_1">...</mets:techMD>
...
</mets:amdSec>
...
</mets:mets>
まとめ
研究データの長期保存を考える上で、大変参考になる機能だと思いました。DataverseとArchivematicaの接続にあたり、参考になりましたら幸いです。
Discussion