ProfessionalWiki / WikibaseEdtf

Wikibase extension that adds support for the Extended Date/Time Format (EDTF) via a new data type
https://wikibase.consulting/wikibase-edtf
GNU General Public License v2.0
7 stars 6 forks source link
edtf mediawiki mediawiki-extension wikibase wikibase-extension

Wikibase EDTF

GitHub Workflow Status Latest Stable Version Download count License

MediaWiki extension that adds support for the Extended Date/Time Format (EDTF) Specification to Wikibase via a new data type.

Professional.Wiki created and maintains Wikibase EDTF. We provide Wikibase hosting, Wikibase development and Wikibase consulting.

Wikibase EDTF is an open source project that was made possible with the financial support of the Luxembourg Ministry of Culture. Contributions are welcome!

You can find a demo of this extension at https://edtf.wikibase.wiki

Usage

RDF export

Wikibase EDTF gives its value to the native RDF export mechanism using the datatypes xsd:EDTF datatype (e.g. "1867-05-26"^^xsd:edtf) and xsd:dateTime. For the latter datatype it turns EDTF values into standard Wikibase time (xsd:dateTime) values. Because Wikibase time values are a lot less expressive, the EDTF values are simplified in this process:

For cases where multiple dates are put in the RDF export, like with seasons and sets, there is nothing in the RDF indicating these values logically belong together.

If you can read PHP, you can see the simplification code in TimeValueBuilder.php.

apparant duplicate results using SPARQL / Blazegraph

Because EDTF exposes the values as both xsd:edtf and a dumbed down xsd:dateTime you will get two values when querying properties with this datatype. using a filter in your SPARQL query can remove the value that you are not interested in:

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

note that if you are using OPTIONAL on the property, then you need to move the FILTER within the OPTIONAL statement.

Installation

Platform requirements:

See the release notes for more information on the different versions of this extension.

First install MediaWiki and Wikibase Repository.

The recommended way to install Wikibase EDTF is using Composer with MediaWiki's built-in support for Composer.

On the commandline, go to your wikis root directory. Then run these two commands:

COMPOSER=composer.local.json composer require --no-update professional-wiki/wikibase-edtf:^2.0.0

If you have MediaWiki 1.36 and earlier, use ^1.2.0 instead of ^2.0.0

composer update professional-wiki/wikibase-edtf --no-dev -o

Enabling the extension

Then enable the extension by adding the following to the bottom of your wikis "LocalSettings.php" file:

wfLoadExtension( 'WikibaseEdtf' );

You can verify the extension was enabled successfully by opening your wiki's "Special:Version" page in your browser.

Running the tests

Release notes

Version 2.1.1 - 2023-03-31

Version 2.1.0 - 2023-01-18

Version 2.0.1 - 2022-03-26

Version 2.0.0 - 2022-01-23

Version 1.2.0 - 2021-04-28

Version 1.1.0 - 2021-04-04

Version 1.0.0 - 2021-03-19