Semantic observability

Here’s something you didn’t know you needed: a tool that provides semantic observability for property graphs by turning schema expectations into version-controlled YAML and producing deterministic HTML reports.
The problem: property graphs (LPG) fail quietly. A required property goes missing, a relationship gets reversed, a type was refactored. The queries still return rows, the dashboards still renders, the retrieval layer in your graph RAG stack still hands the LLM something plausible. A relational database fails loudly because the schema enforces itself but LPGs are schema-optional, so nothing does that for you unless you have some tests or guards.
GraphCheck is a small open-source tool that takes this seriously. It treats graph health as version-controlled YAML and runs multiple checks. A conformance check for completeness, uniqueness, types, formats, cardinality, relationship direction. A competency check in the shape of read-only Cypher that asserts the answers your application depends on. A drift check: node counts, relationship counts and property coverage against a stored baseline.
The competency part is what caught my eye. Competency questions come from ontology engineering where you define a model by what it must be able to answer. Here they become CI assertions. Two design choices I appreciate: the evaluation is deterministic (no LLM-as-judge) and it never mutates the graph. It observes, reports and leaves the decision with you.
https://github.com/graphora/graphcheck