ead2dc

Converts ArchivesSpace EAD Finding Aid XML to an OAI-PMH Static Repository with DC metadata.

https://github.com/caltechlibrary/ead2dc

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.0%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Converts ArchivesSpace EAD Finding Aid XML to an OAI-PMH Static Repository with DC metadata.

Basic Info
  • Host: GitHub
  • Owner: caltechlibrary
  • License: other
  • Language: Python
  • Default Branch: main
  • Size: 7.91 MB
Statistics
  • Stars: 0
  • Watchers: 5
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created almost 3 years ago · Last pushed 11 months ago
Metadata Files
Readme License Codemeta

README.md

ArchiveSpace OAI/EAD to OAI/DC Conversion

There are two components to this service:

  • A Python 3 script to convert ArchivesSpace Encoded Archival Description (EAD) finding aids to Dublin Core (DC) records.
  • An Open Archives Initiative (OAI) data provider to provide access to the DC records.

License

Table of contents

Introduction

The Python 3 script, ead2dc.py, takes as its input the Open Archives Initiative (OAI) output of an ArchivesSpace resource finding aid in Encoded Archival Description (EAD) format and outputs an XML file. The XML output contains Dublin Core (DC) records for digital resources found in the finding aid. Only records containing links to digital objects are included. The XML output is a 'static repository', inspired by the OAI Static Repository specification, but not adhering to it strictly. The static repository is the data source for the Open Archives Initiative (OAI) Data Provider.

The OAI Data Provider adheres to the OAI standard and supports all the verbs (Identify, ListMetadataFormats, ListSets, ListIdentifiers, ListRecords, and GetRecord), resumption tokens, and sets. Only DC metadata is provided. Sets correspond to the archival collections in the Caltech Archives.

ead2dc - Main features and assumptions:

  • Both input and output are OAI-compliant XML files.
  • All 12 levels of EAD container are supported.
  • Titles are inherited down the container hierarchy.
  • All other metadata is mapped from the record containing the digital object references.
  • Records without digital object references are ignored (i.e. not mapped to the output file)

OAI Data Provider - Main features and assumptions:

  • The OAI Data Provider uses a static repository, i.e. it does not dynamically generate records.
  • DC metadata only.
  • Sets correspond to the archival collections and do not overlap.
  • Records are delivered in batches of 250.

Installation and Usage

The ead2dc.py file is designed to be run from the command line, or from within your favorite editing environment. It uses standard Python libraries and has been tested using Python 3.9.10 and 3.9.17.

The OAI Data Provider is a web application written in Python 3 using the Flask micro web framework. Installation of Flask will include dependent libraries, such as Jinja2 and werkzeug. No additional libraries are required.

Mapping

| Element | Encoded Archival Description | Dublin Core | |---|---|---| | Collection title | archdesc/did/unittitle | title | | Container titles | dsc/c??/did/unittitle | title | | Personal creators | dsc/c??/did/origination label="creator"/persname | creator | | Corporate creators | dsc/c??/did/origination label="creator"/corpname | creator | | Dates | dsc/c??/did/unitdate | date | | Extent | dsc/c??/did/physdesc/extent | extent | | Description | dsc/c??/did/abstract | description | | Subject, general | dsc/c??/controlaccess/subject | subject | | Subject, geographic | dsc/c??/controlaccess/geogname | subject | | Subject, person | dsc/c??/controlaccess/persname | subject | | Subject, corporate | dsc/c??/controlaccess/corpname | subject | | Subject, activity | dsc/c??/controlaccess/function | subject | | Identifier | dsc/c??/did/unitid | identifier | | Identifier, link | dsc/c??/did/daogrp/daoloc['xlink:href'] | identifier |

Example

Paul B. MacCready Papers ca. 1931-2002, Caltech Archives

License

Software produced by the Caltech Library is Copyright © 2023 California Institute of Technology. This software is freely distributed under a BSD-style license. Please see the LICENSE file for more information.

References

Acknowledgments

This work was funded by the California Institute of Technology Library.

Owner

  • Name: Caltech Library
  • Login: caltechlibrary
  • Kind: organization
  • Email: helpdesk@library.caltech.edu
  • Location: Pasadena, CA 91125

We manage the physical and digital holdings of the California Institute of Technology, provide services and training, and develop open-source software.

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "description": "A Python 3 script to convert ArchivesSpace Encoded Archival Description (EAD) finding aids to Dublin Core (DC) records.",
  "name": "ead2dc",
  "codeRepository": "https://github.com/caltechlibrary/ead2dc",
  "issueTracker": "https://github.com/caltechlibrary/ead2dc/issues",
  "license": "https://github.com/caltechlibrary/ead2dc/blob/main/LICENSE",
  "version": "0.1",
  "author": [
    {
      "@type": "Person",
      "givenName": "Stephen",
      "familyName": "Davison",
      "affiliation": {
        "@type": "Organization",
        "name": "Caltech"
      },
      "email": "sdavison@caltech.edu",
      "@id": "https://orcid.org/0000-0003-0102-8200"
    }
  ],
  "developmentStatus": "active",
  "downloadUrl": "https://github.com/caltechlibrary/ead2dc/archive/main.zip",
  "keywords": [
    "software",
    "metadata",
    "Open Archives Initiative Protocol for Metadata Harvesting",
    "Dublin Core"
  ],
  "maintainer": [
    {
      "@type": "Person",
      "givenName": "Stephen",
      "familyName": "Davison",
      "affiliation": {
        "@type": "Organization",
        "name": "Caltech Library"
      },
      "email": "EMAIL",
      "@id": "https://orcid.org/0000-0003-0102-8200"
    }
  ],
  "funder": [
    {
      "@id": "https://doi.org/10.13039/100006961",
      "@type": "Organization",
      "name": "Caltech Library"
    }
  ]
}

GitHub Events

Total
  • Push event: 456
Last Year
  • Push event: 456

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/codemeta2cff.yml actions
  • EndBug/add-and-commit v7 composite
  • actions/checkout v2 composite
  • caltechlibrary/codemeta2cff main composite
.github/workflows/iga.yml actions
  • caltechlibrary/iga main composite