---
Title: PurRDF: RDF 1.2 Toolkit
Subtitle: One RDF engine, one behavior, every language
Type: Software toolkit
Order: 30
DOI: 10.67342/pkg8gpp4no/v1
Date: 2026-07-01
Updated: 2026-09-14
Version: 1
WorkId: pkg8gpp4no
PublicationVersion: 1
PackageVersion: 2.0.2
License: MIT OR Apache-2.0
FullDocumentUrl: /purrdf/
CanonicalUrl: https://blackcatinformatics.ca/purrdf/
SourceUrl: https://github.com/Blackcat-Informatics/purrdf
CitationUrl: /purrdf/cite.csl.json
Summary: Developed as part of our work on neuro-symbolic engines, PurRDF provides the public, open-source foundations for representing, querying and reasoning over structured knowledge. It is designed to be useful independently of that work. PurRDF brings graph queries, logical reasoning, validation and retrieval into one coherent RDF 1.2 toolkit. Text search, spatial relationships and vector similarity can participate in the same query over the same dataset, without assembling a second database stack. Correctness includes knowing what an answer establishes. Reasoning produces reports of its completeness and limits; governed queries distinguish complete answers from partial results. The same Rust engine runs natively and in WebAssembly, with Python, JavaScript and C interfaces.
---

# PurRDF

Developed as part of our work on neuro-symbolic engines, PurRDF provides the public, open-source foundations for representing, querying and reasoning over structured knowledge. It is designed to be useful independently of that work. PurRDF brings graph queries, logical reasoning, validation and retrieval into one coherent RDF 1.2 toolkit. Text search, spatial relationships and vector similarity can participate in the same query over the same dataset, without assembling a second database stack. Correctness includes knowing what an answer establishes. Reasoning produces reports of its completeness and limits; governed queries distinguish complete answers from partial results. The same Rust engine runs natively and in WebAssembly, with Python, JavaScript and C interfaces.

Version 1.0.0, released 2026-09-02, is the first release under full semantic
versioning: from 1.0.0 a breaking change bumps the major version, a minor bump
is additive, and a patch bump is bugfix-only. The suite ships one lockstep
version across crates.io, PyPI, and npm through tag-driven Trusted Publishing,
with build-provenance attestations and an SPDX SBOM on every package. The C ABI
(`purrdf.h`) is versioned separately and remains 0.x.

## What it provides

- An immutable, value-interned RDF 1.2 dataset model with triple terms,
  reifiers, and base-direction literals; a content-addressed pack container;
  and paged datasets with fallible views.
- Native codecs for Turtle, TriG, N-Triples, N-Quads, RDF/XML, TriX,
  HexTuples, JSON-LD (star), and YAML-LD, plus a JSON-LD 1.1 context lens and
  one RFC 3986 base-resolution layer shared by every codec and engine.
- W3C RDFC-1.0 dataset canonicalization, the `purrdf-rdfc12` profile for
  RDF 1.2 constructs, and a review-friendly canonical Turtle rendering.
- A SPARQL 1.1/1.2 parser, algebra, and multiset evaluator with full Update,
  property paths, the `VERSION` declaration, `LATERAL`, SEP-0002 temporal
  arithmetic, SEP-0007 `EXISTS` semantics, SEP-0009 composite datatypes,
  caller-keyed extension seams, and governed execution with certified partial
  answers.
- Deterministic full-text search with exact fixed-point BM25 ranking, exact
  float-free GeoSPARQL 1.1, and embedding nearest-neighbour search over the
  PURREMB companion format, each answered from SPARQL in-process so an RDF
  project no longer needs a PostgreSQL instance beside its triple store.
- SHACL validation (Core, SHACL-SPARQL, and SHACL-AF including SHACL Rules),
  ShEx 2.1 validation, and schema lanes from SHACL to JSON Schema, OpenAPI,
  Pydantic, LinkML, TypeScript, and GraphQL.
- Entailment regimes (RDF, RDFS, OWL 2 RL, D, an OWL 2 Direct-Semantics
  tableau, and RIF-Core) that return a reasoning report with every closure,
  plus OWL 2 DL reasoning services with checkable certificates.
- Deterministic graph, tabular, and research-object projections, RDF 1.2
  visualization, and the GTS single-file, content-addressed, append-only graph
  transport.

Behavior is gated by the W3C SPARQL, SHACL, shexTest, OWL 2, and RDFC-1.0
conformance suites and by frozen cross-language GTS vectors.

## Publication Identity

| Field | Value |
| --- | --- |
| Title | PurRDF: RDF 1.2 Toolkit |
| DOI | `10.67342/pkg8gpp4no/v1` |
| BII publication version | `1` |
| Package version | `2.0.2` |
| Publication date | `2026-07-01` |
| Latest package release | `2026-09-02` |
| Publisher | Blackcat Informatics Inc. |
| Source repository | `https://github.com/Blackcat-Informatics/purrdf` |
| Citation metadata | `https://blackcatinformatics.ca/purrdf/cite.csl.json` |
| License | `MIT OR Apache-2.0` |

## Distribution

| Runtime | Package | Install |
| --- | --- | --- |
| Rust | `purrdf` | `cargo add purrdf` |
| Python | `purrdf` | `pip install purrdf` |
| JavaScript / WebAssembly | `@blackcatinformatics/purrdf` | `npm i @blackcatinformatics/purrdf` |
| C | `libpurrdf` | `make capi-build` from the source checkout |

The canonical BII project/publication page is `/purrdf/`. Documentation lives
in The PurRDF Book at `https://blackcat-informatics.github.io/purrdf/` and the
API reference at `https://docs.rs/purrdf`.
