专业维基 / wikibase-edtf
将EDTF数据类型添加到Wikibase
Requires
- php: >=7.4
- composer/installers: ^2|^1.0.1
- professional-wiki/edtf: ^3.0.0|^2.0.0
README
MediaWiki扩展,通过添加新数据类型,为扩展日期/时间格式(EDTF)规范提供对Wikibase的支持。
Professional.Wiki 创建并维护 Wikibase EDTF。我们提供Wikibase托管,Wikibase开发和Wikibase咨询。
Wikibase EDTF 是一个开源项目,该项目得到了卢森堡文化部的财务支持。欢迎贡献力量!
您可以在https://edtf.wikibase.wiki上找到此扩展的演示。
使用方法
RDF导出
Wikibase EDTF 使用 xsd:EDTF 数据类型(例如 "1867-05-26"^^xsd:edtf)和 xsd:dateTime 数据类型为本地 RDF 导出机制提供其值。对于后者数据类型,它将 EDTF 值转换为标准 Wikibase 时间(xsd:dateTime)值。由于 Wikibase 时间值表达性较差,因此在此过程中简化了 EDTF 值。
EDTF日期或时间
:保留精度和时区。保留资格和未指定的数字。EDTF集合
:导出集合中的每个日期。EDTF季节
:导出每月的一个日期,每个日期都具有月份精度。EDTF区间
:不导出(因为没有合理的默认值)。
对于将多个日期放入 RDF 导出的情况,例如季节和集合,RDF 中没有指示这些值逻辑上属于一起的内容。
如果您能阅读 PHP,您可以在TimeValueBuilder.php中看到简化代码。
使用SPARQL/Blazegraph出现的明显重复结果
因为EDTF既暴露了xsd:edtf,又暴露了简化版的xsd:dateTime,所以当查询此数据类型的属性时,您将得到两个值。在您的 SPARQL 查询中使用过滤器可以删除您不感兴趣的值。
FILTER ( datatype(?date) = xsd:edtf ) #shows only the raw EDTF string from the query results, in this case ?date
FILTER ( datatype(?date) = xsd:dateTime ) #shows only the dumbed down EDTF strings from the query results, in this case ?date
注意,如果您在属性上使用 OPTIONAL,则需要将 FILTER 移动到 OPTIONAL 语句内部。
安装
平台要求
- PHP 7.4 或更高版本,包括 PHP 8.x
- MediaWiki 1.37 至 1.39
- Wikibase Repository REL1_37、REL1_38 或 REL1_39
有关此扩展不同版本的更多信息,请参阅发行说明。
首先安装MediaWiki和Wikibase Repository。
推荐使用Composer结合MediaWiki对Composer的内置支持来安装Wikibase EDTF。
在命令行中,进入您的wiki根目录。然后运行以下两个命令
COMPOSER=composer.local.json composer require --no-update professional-wiki/wikibase-edtf:^2.0.0
如果您使用的是MediaWiki 1.36及以下版本,请使用^1.2.0
而不是^2.0.0
composer update professional-wiki/wikibase-edtf --no-dev -o
启用扩展
然后通过将以下代码添加到您的wiki的"LocalSettings.php"文件底部来启用扩展
wfLoadExtension( 'WikibaseEdtf' );
您可以通过在浏览器中打开您的wiki的"特殊:版本"页面来验证扩展是否成功启用。
运行测试
- PHP测试:
php tests/phpunit/phpunit.php -c extensions/WikibaseEdtf/
发行说明
版本 2.1.1 - 2023-03-31
- 增加了对MediaWiki和Wikibase 1.38和1.39的支持
- 翻译更新
版本 2.1.0 - 2023-01-18
- 增加了对EDTF 3.x的支持,这带来了改进的人性化功能
- 翻译更新
版本 2.0.1 - 2022-03-26
- 增加了Special:ListDatatypes缺少的消息
版本 2.0.0 - 2022-01-23
- 增加了对MediaWiki和Wikibase 1.37的支持
- 将MediaWiki和Wikibase的最小版本提高到1.37
版本 1.2.0 - 2021-04-28
- 改进了集合的人性化
- 改进了区间和集合的验证
- 修复了DoS向量
版本 1.1.0 - 2021-04-04
- 将纯EDTF值添加到RDF输出