acdh-oeaw/arche-metadata-crawler

用于检查和生成ACDH架构中ARCHE元数据的脚本和库

0.11.12 2024-09-05 11:28 UTC

README

Latest Stable Version Build status Coverage Status License

功能

一组脚本

  • 合并来自各种格式的集合元数据
  • 验证合并的元数据
  • 根据当前本体生成基于XLSX的元数据模板(请参阅元数据格式描述中的水平元数据文件)

用于ARCHE摄取期间的元数据管理。

安装

本地安装

  • 安装PHP和composer
  • 运行
    composer require acdh-oeaw/arche-metadata-crawler

作为docker镜像

  • 安装docker
  • 运行acdhch/arche-ingest镜像,将数据目录挂载到其中
    docker run --rm -ti --entrypoint bash -u `id -u`:`id -g` \
               -v pathToYourDataDir:/data \
               acdhch/arche-ingest
  • 运行脚本,例如
    arche-create-metadata-template /data all
    arche-crawl-meta \
      /data/metadata \
      /data/merged.ttl \
      /ARCHE/staging/GlaserDiaries_16674/data \
      https://id.acdh.oeaw.ac.at/glaserdiaries
    
    • 如果您需要文件检查器,只需使用arche-filechecker运行它即可

在ACDH集群上

无需执行任何操作。它已经安装在那里。

使用方法

(有关使用arche-ingestion@acdh-cluster和Wollmilchsau测试集合的完整教程,请参阅此处

在ACDH集群上

首先,根据此处的说明获取arche-ingestion工作负载控制台

然后

  • 生成并验证元数据
    • 运行arche-crawl-meta脚本
      /ARCHE/vendor/bin/arche-crawl-meta \
        <pathToMetadataDirectory> \
       --filecheckerReportDir <pathToTheFileCheckerReportDirectory> \
        <outputTtlPath> \
        <basePathOfTheCollection> \
        <idPrefix> \
        2>&1 | tee <pathToLogFile>
      例如
      /ARCHE/vendor/bin/arche-crawl-meta \
        /ARCHE/staging/GustavMahlerArchiv_22334/metadata \
        --filecheckerReportDir /ARCHE/staging/GustavMahlerArchiv_22334/checkReports/2024_04_08_09_19_24 \
        /ARCHE/staging/GustavMahlerArchiv_22334/scriptFiles/metadata.ttl \
        /ARCHE/staging/GustavMahlerArchiv_22334/data \
        https://id.acdh.oeaw.ac.at/GustavMahlerArchiv \
        2>&1 | tee /ARCHE/staging/GustavMahlerArchiv_22334/scriptFiles/metadata.log
      • 如果您想跳过检查(这将显著加快过程),请添加--noCheck参数,例如
        /ARCHE/vendor/bin/arche-crawl-meta \
          /ARCHE/staging/GustavMahlerArchiv_22334/metadata \
          --filecheckerReportDir /ARCHE/staging/GustavMahlerArchiv_22334/checkReports/2024_04_08_09_19_24 \
          /ARCHE/staging/GustavMahlerArchiv_22334/scriptFiles/metadata.ttl \
          /ARCHE/staging/GustavMahlerArchiv_22334/data \
          https://id.acdh.oeaw.ac.at/GustavMahlerArchiv \
          --noCheck \
          2>&1 | tee /ARCHE/staging/GustavMahlerArchiv_22334/scriptFiles/metadata.log
        
  • 创建元数据模板
    /ARCHE/vendor/bin/arche-create-metadata-template \
      <pathToDirectoryWhereTemplateShouldBeCreated> \
      all
    例如,在当前目录中创建模板
    /ARCHE/vendor/bin/arche-create-metadata-template . all

本地安装

  • 生成和验证元数据
    vendor/bin/arche-crawl-meta \
      --filecheckerReportDir pathToDirectoryWithFilecheckerOutput \
      pathToInputMetadataDir \
      mergedMetadataFilePath \
      pathToCollectionData \
      pathToTargetMetadataFile
    例如
    vendor/bin/arche-crawl-meta \
      --filecheckerReportDir reports/2024_03_01_12_45_23 \
      metaDir \
      metadata.ttl \
      `pwd`/data \
      https://id.acdh.oeaw.ac.at/myCollection
  • 创建元数据模板
    vendor/bin/arche-create-metadata-template \
      <pathToDirectoryWhereTemplateShouldBeCreated> \
      all
    例如,在当前目录中创建模板
    bin/arche-create-metadata-template . all

备注

  • 要获取所有可用参数的列表,请运行
    vendor/bin/arche-crawl-meta --help
    vendor/bin/arche-create-metadata-template --help

作为docker容器

  • 生成和验证元数据
    运行一个容器,将目录结构挂载到容器中,并覆盖要运行的命令为arche-crawl-meta
    docker run \
      --rm -u `id -u`:`id -g`\
      -v pathInHost:/mnt \
      --entrypoint arche-crawl-meta \
      acdhch/arche-ingest \
      --filecheckerReportDir pathToDirectoryWithFilecheckerOutput \
      pathToInputMetadataDir \
      mergedMetadataFilePath \
      pathToCollectionData \
      pathToTargetMetadataFile
    例如,相对于当前工作目录使用路径
    docker run \
      --rm -u `id -u`:`id -g`\
      -v `pwd`:/mnt \
      --entrypoint arche-crawl-meta \
      acdhch/arche-ingest \
      --filecheckerReportDir /mnt/reports/2024_03_01_12_45_23 \
      /mnt/metaDir \
      /mnt/metadata.ttl \
      /mnt/data \
      https://id.acdh.oeaw.ac.at/myCollection
  • 创建元数据模板
    运行一个容器,将模板应创建的目录挂载到容器中的/mnt下,并覆盖要运行的命令为arche-create-metadata-template
    docker run \
      --rm -u `id -u`:`id -g`\
      -v pathToDirectoryWhereTemplateShouldBeCreated:/mnt \
      --entrypoint arche-create-metadata-template
      acdhch/arche-ingest \
      /mnt all
    例如,在当前目录中创建模板
    docker run \
      --rm -u `id -u`:`id -g` \
      -v `pwd`:/mnt \
      --entrypoint arche-create-metadata-template \
      acdhch/arche-ingest \
      /mnt all