adding new Wikidata properties

Conzept currently (as of February 2022) supports all these Wikidata property classes: WikibaseItem (1515), ExternalId (7089), Url (86), String (318) and Quantity (613).

Only part of the following Wikidata classes are currently used on Conzept: CommonsMedia (73), GlobeCoordinate (11). These fields often require manual integration for their proper use in the Conzept UI.

As new fields are frequently added to Wikidata, Conzept has some tooling to collect these new properties and integrate them.

process

To add new Wikidata property fields to the Conzept fields, use the following process:

  • First fetch all Wikidata properties by executing the following script (located in the “app/explore2/tools” directory). The output is a “wikidata_properties.json” file.
    ./wikidata_properties_fetch.sh
  • Create the new Conzept fields by running the “json2fields” script (also located in the “tools” directory).
    • Notes:
      • The command structure is: node json2fields.js “[PROPERTIES-FILE.json]” [PROPERTY-CLASS] > /tmp/output.txt
      • You can run the script for each of the property-classes: WikibaseItem, ExternalId, Url, GlobeCoordinate, CommonsMedia, String, Quantity.
      • The script will skip any Wikidata-fields which are already defined (by property number), so no duplicates are ever created).
    • Example:
      node json2fields.js "wikidata_properties.json" WikibaseItem > /tmp/new_fields.txt
  • Include the content of “/tmp/new_fields.txt” file into the “conzept_fields”-variable of “src/data/fields.js”.
    • Note: With the Vim-editor this can be done as: “:r /tmp/new_fields.txt”
  • Upgrade the Conzept version and rebuild:
    sudo vi /etc/conzept/settings.conf
    npm run build