acdh-oeaw/uri-norm-rules

此软件包已被废弃,不再维护。作者建议使用acdh-oeaw/arche-assets软件包。

用于ARCHE数据预处理(主要)的静态资源集合

3.19 2024-09-19 08:53 UTC

README

PyPI version codecov Test flake8 Lint Latest Stable Version phpunit License

用于ARCHE数据预处理或ARCHE信息页面的静态资源集合

  • ACDH-CH中使用的URI规范化规则。
    (存储在AcdhArcheAssets/uriNormRules.json中)
  • 描述由ARCHE接受的输入数据格式。
    (存储在AcdhArcheAssets/formats.json中)

该存储库还提供了访问这些资源的Python 3和PHP绑定。

安装和用法

Python

  • 使用pip3安装
    pip3 install acdh-arche-assets
  • 使用
    from AcdhArcheAssets.uri_norm_rules import get_rules, get_normalized_uri, get_norm_id
    print(f"{get_rules()}")
    
    wrong_id = "http://sws.geonames.org/1232324343/linz.html"
    
    good_id = get_normalized_uri(wrong_id)
    print(good_id)
    # "https://sws.geonames.org/1232324343/"
    
    # extract ID from URL
    norm_id = get_norm_id("http://sws.geonames.org/1232324343/linz.html")
    print(norm_id)
    # "1232324343"
    
    
    from AcdhArcheAssets.file_formats import get_formats, get_by_mtype, get_by_extension
    
    formats = get_formats()
    matching_mapping = get_by_mtype('image/png')
    matching_mapping = get_by_extension('png')

PHP

  • 使用composer安装
    composer require acdh-oeaw/arche-assets
  • 使用
    require_once 'vendor/autoload.php';
    
    print_r(acdhOeaw\UriNormRules::getRules());
    print_r(acdhOeaw\UriNormRules::getRules(['viaf', 'gnd']));
    
    print_r(acdhOeaw\ArcheFileFormats::getAll();
    print_r(acdhOeaw\ArcheFileFormats::getByMime('application/json');
    print_r(acdhOeaw\ArcheFileFormats::getByExtension('application/json');

资源描述

URI规范化规则

每个规则由五个属性组成

  • name:规则名称
  • match:匹配给定URI命名空间的正则表达式
  • replace:在给定命名空间中规范化URI的正则表达式替换表达式
  • resolve:将给定命名空间中的URI转换为URL的正则表达式替换表达式,以获取RDF数据
  • format:在解决使用resolve字段产生的URL时请求的RDF序列化格式

格式

一组精心策划且不断增长的可扩展列表。对于每个文件扩展名,都提供了映射到相应的ARCHE资源类型类别(存储在acdh:hasCategory中)和媒体类型(MIME类型)(存储在acdh:hasFormat中)的映射。应仅将指示的媒体类型用作后备;最好依赖于基于文件签名的自动媒体类型检测。

还提供了更多信息。

  • fileExtension:要映射的文件扩展名。
  • name:格式已知的名称
  • archeCategory:对应于ARCHE资源类型类别词汇表的URI
  • dataType:用于对格式进行分组的广泛类别;主要用于可视化目的。
  • pronomID:由PRONOM分配的ID
  • mimeType:在IANA注册的官方媒体类型(以前称为MIME类型)。
  • informalMimeType:已知为该格式的其他MIME类型
  • magicNumber:用于识别文件格式的常量数值或文本值,例如维基百科文件签名列表
  • ianaTemplate:到IANA模板的链接
  • reference:到由IANA和其他机构引用的格式规范的链接
  • longTerm:表示格式是否适合长期保存。
    可能值及其含义
    • yes - 长期格式
    • no - 不适用,应使用其他格式
    • 限制使用 - 在某些情况下可用于长期保存(见注释)
    • 不确定 - 状态待评估
  • archeDocs:链接到有关格式的更多信息位置。
  • 注释:其他任何未在其他地方陈述的值得注意信息。

开发(Python)

安装所需开发包 pip install requirements_dev.txt

代码审查、测试和测试覆盖率

  • 运行测试:tox
  • 检查覆盖率并生成报告:coverage run setup.py testcoverage html
  • 检查代码审查 flake8