HeritageGraph · methods documentation

Methods & data

How HeritageGraph builds, reviews, and publishes a CIDOC-CRM-aligned knowledge graph, and what a reader needs in order to check any of it independently.

Software release

Version
0.1.0
DOI
Not yet deposited — cite the repository and the corpus SHA-256 below.
Code license
MIT
Data license
CC BY 4.0 curated overlay; third-party layers retain upstream licenses (see matrix)
Oli, N. & Karki, N. HeritageGraph: A Cultural Heritage Linked Open Data Platform (v0.1.0). CAIR-Nepal. https://github.com/CAIRNepal/heritagegraph

Review model

Contributions are reviewed by people holding one of three reviewer personas, recorded on ReviewerRole with an expertise area and an active flag. Capability is cumulative: each persona can do everything the one above it can.

PersonaCanCannot
Community reviewerApprove clear-cut contributions, request changes, escalate to an expert.Adjust confidence scores, or resolve conflicting claims.
Domain expertVerify claims, adjust confidence, reconcile conflicting evidence.Supersede records, merge locked identities, or assign reviewer roles.
Expert curatorReconcile identity, supersede records, export data, manage verifications, assign reviewer roles.Approve a merge request they opened themselves.
  • Assignment — roles are granted by another user and recorded with the granting account, so reviewer authority is itself auditable.
  • Separation of dutiesCannotApproveOwnMergeRequest blocks the account that opened a merge request from approving it, at the object-permission level rather than in the interface.
  • Publication gate — only accepted, merged and published rows reach the public graph. Unknown status values are withheld by default rather than allowed.
  • Label gate — a row without a real name is withheld even if approved, so a stray keystroke cannot become a node in the graph or a pin on the atlas.
  • Identity locks — merging into a locked cluster, or over a recorded conflict, requires an expert curator.

Reviewer selectivity has not yet been characterised: the acceptance rate over the current corpus is not a meaningful measure at this sample size, and no inter-reviewer agreement has been computed. Do not cite an acceptance rate from this deployment as evidence of review rigour.

FAIR + CARE

  • Findable — w3id resource IRIs; VoID/DCAT dataset description; corpus fingerprint (manage.py corpus_fingerprint).
  • Accessible — HTTPS dereference plus a CARE-aware read-only SPARQL endpoint (/sparql/).
  • Interoperable — CIDOC-CRM, CRMinf, LinkML registry, CRM bridge, SHACL shapes, SKOS vocabularies.
  • Reusable — license matrix below; frozen L0 dump with SHA-256; idempotent L1 ETL; ontology pin in import reports.
  • CAREaccess_tier and TK labels on sources; sensitive tiers are filtered by the SPARQL proxy, not merely hidden in the interface. Community consent governance is not yet in place — see limitations.

Full machine-readable checklist: documentation/research/NATURE_KG_RIGOR.md; ethics and consent status: documentation/research/ETHICS_AND_CONSENT.md.

License matrix

LayerLicenseNote
SoftwareMITPlatform source code (CITATION.cff / LICENSE).
Curated overlay (graph/public)CC BY 4.0Review-gated assertions; CARE tiers may withhold rows from public SPARQL.
OpenStreetMap subset (L0/L1)ODbL 1.0© OSM contributors — attribution and share-alike on the database subset.
Wikidata subset (L0/L1)CC0 1.0Factual statements; media and sitelinks may differ.
UNESCO WHC subsetUNESCO termsNot assumed CC BY; verify per source page.
CAIR curated intangibleCC BY 4.0 + CARELiving traditions — community authority to control (TK Labels where applied).

Ontology & graph model

  • Schema: LinkML registry generated from ontology/HeritageGraph.yaml (CIDOC-CRM bridge, SHACL shapes, SKOS vocabularies).
  • Published instances live in the named graph https://w3id.org/heritagegraph/graph/public.
  • Museum live view: SPARQL projection via GET /api/v1/cidoc/kg/graph/?scope=reviewed — nodes typed by rdf:type, edges are asserted triples rather than client-side heuristics.
  • External Yale LUX bulk import stays in imported/lux; only entities linked with skos:exactMatch appear in the museum. It is a linkset, not a merge into the public partition.
  • Large research dumps (DANAM-aligned N-Quads) use a two-layer policy: frozen L0 named graphs for citation and SPARQL, plus curated L1 materialisation into graph/public. See documentation/research/DANAM_CORPUS_INTEGRATION_REPORT.md.

DANAM corpus pin

Dump
data/reconciled/danam-heritagegraph.nq
SHA-256
14decfcdf95aee0799b65b572e4ef0ec6cabc8581201661b35ee5a6d059c050c
L0 load
manage.py rdf_load_imported_nq (never writes to the public graph)
L1 ETL
manage.py import_danam_nq (idempotent by external IRI)
Competency SPARQL
documentation/research/competency_queries.sparql

Publication pipeline

  1. Contributions are saved in Django — cultural entities, CIDOC metadata, and relationship assertions.
  2. Review by a qualified persona, as described above; only terminal approval states pass the publication gate.
  3. kg_publish / rdf_rebuild project triples into Oxigraph; the provenance partition records agent and source.
  4. Integrity gate: kg_rigor_audit checks namespace, connectivity, pollution, L0 isolation, and provenance coverage. Use --strict for a release.
  5. Evaluation: kg_evaluate against an expert gold standard. Runs mark themselves reportable: false when the gold set is too small or absent, and those figures must not be cited.

Limitations

  • The corpus is community-curated and growing — it is not a complete national inventory.
  • Temporal coverage (EDTF) is incomplete on many event nodes.
  • External identifier reconciliation (Wikidata, Getty) is in progress beyond DANAM sameAs.
  • The museum demo corpus is illustrative only; cite the live reviewed graph for research.
  • No Zenodo DOI has been minted yet. Cite the repository and the corpus SHA-256 above in the interim.
  • SHACL-on-write is opt-in (RDF_SHACL_VALIDATE_ON_WRITE); shapes are generated and available for offline conformance reports.
  • No reportable precision/recall evaluation exists yet: the gold standard has not been annotated. Any evaluation figures currently produced are marked not reportable.
  • A formal community consent process and institutional ethics review have not been completed. Culturally sensitive classes are withheld from public query results pending that work.

LUX attribution

Yale University Art Gallery LUX data is used under its terms as a linked external authority. HeritageGraph stores stubs in imported/lux and links curated entities with skos:exactMatch; Yale IRIs are not served as an isolated dump in the museum view.