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.
| Persona | Can | Cannot |
|---|---|---|
| Community reviewer | Approve clear-cut contributions, request changes, escalate to an expert. | Adjust confidence scores, or resolve conflicting claims. |
| Domain expert | Verify claims, adjust confidence, reconcile conflicting evidence. | Supersede records, merge locked identities, or assign reviewer roles. |
| Expert curator | Reconcile 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 duties —
CannotApproveOwnMergeRequestblocks the account that opened a merge request from approving it, at the object-permission level rather than in the interface. - Publication gate — only
accepted,mergedandpublishedrows 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.
- CARE —
access_tierand 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
| Layer | License | Note |
|---|---|---|
| Software | MIT | Platform source code (CITATION.cff / LICENSE). |
| Curated overlay (graph/public) | CC BY 4.0 | Review-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.0 | Factual statements; media and sitelinks may differ. |
| UNESCO WHC subset | UNESCO terms | Not assumed CC BY; verify per source page. |
| CAIR curated intangible | CC BY 4.0 + CARE | Living 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 byrdf:type, edges are asserted triples rather than client-side heuristics. - External Yale LUX bulk import stays in
imported/lux; only entities linked withskos:exactMatchappear 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. Seedocumentation/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
- Contributions are saved in Django — cultural entities, CIDOC metadata, and relationship assertions.
- Review by a qualified persona, as described above; only terminal approval states pass the publication gate.
kg_publish/rdf_rebuildproject triples into Oxigraph; the provenance partition records agent and source.- Integrity gate:
kg_rigor_auditchecks namespace, connectivity, pollution, L0 isolation, and provenance coverage. Use--strictfor a release. - Evaluation:
kg_evaluateagainst an expert gold standard. Runs mark themselvesreportable: falsewhen 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.