content-explorer/connectors/AUTHORING.md
tegwick 55f6180b8e
All checks were successful
synthetic / suite (push) Successful in 1m2s
Add a Wikidata export connector for a pinned CC0 computing field.
The connector maps native Q-ids to aliases under urn:ce ids, publishes only through the existing rights and reference gate, and leaves the real-user pilot open.

Assistant: grok
Assistant-Session: 01a15378-f601-7fe2-a143-8e1500a1d59c
2026-10-19 11:38:04 +02:00

1 KiB

Connector authoring

A connector maps one source format to candidate records, then calls project_records and publish_directory in content_explorer/ingest.py. It does not render and it does not import UI code. Native source identifiers are aliases on urn:ce: ids. Publication stays fail-closed: a forbidden license, an unresolved reference, or an identity conflict returns no snapshot.

Certify a connector with a pinned local file, not a live API:

  1. An accepted run publishes a snapshot, a manifest, and both import reports. Every claim cites a source whose license is CC0-1.0, CC-BY-4.0, or MIT.
  2. A refused run (forbidden rights, unresolved reference, or identity conflict) publishes no snapshot.
  3. Replaying the same file yields the same entity set.
  4. A changed file refreshes the snapshot. The report records the connector version, the input digest, and the counts.

connectors/wikidata_export.py and tests/test_wikidata_connector.py are the worked example. The input is examples/sources/wikidata/computing-basics.json.