Internals
These pages describe how pgRDF works inside. They are for contributors and for anyone who wants to know what happens beneath the SQL functions. To use pgRDF, start with the tour and the install guide.
| Page | Scope |
|---|---|
| Architecture | The modules, how a call flows through them, and the invariants they share. |
| Storage | Term dictionary, partitioned quad table and indexes, the shared term cache, loaders, graph lifecycle, custody and digests. |
| Query | SPARQL → algebra → SQL translation, property paths, UPDATE, CONSTRUCT and DESCRIBE, the plan cache. |
| Inference | OWL 2 RL and RDFS materialisation. |
| Validation | The SHACL engines, strict mode and the conformance gates. |
| Packaging | Installed files, control-file settings, upgrades and deployment notes. |
| Development | Toolchain, the local build loops and adding a SQL function. |
| Testing | Test layers, conformance harnesses and CI gates. |
| Release | The tag-driven release pipeline and the channels that carry a release. |
| Recipes | pg_prewarm and pg_stat_statements alongside pgRDF. |
The code is the reference
Where one of these pages and the running code disagree, the code wins. The supported SQL surface can be read from the engine itself:
sql
SELECT name, identity_args, note
FROM pgrdf.surface()
WHERE class = 'stable'
ORDER BY name;Only functions in the stable class are supported API; internal, spike and deprecated entries are listed so nothing exported goes unaccounted for. The user-facing list is the function reference.
The source lives at github.com/styk-tv/pgRDF; changes between releases are recorded in CHANGELOG.md, and the current release is named in LATEST.md.