Kanonak Protocol
An open protocol for defining, versioning, and sharing semantic ontologies across distributed publishers.
Why Kanonak Protocol?
Knowledge lives in the heads of domain experts, but there is no standard way to turn that knowledge into durable, machine-readable definitions that others can build on. Kanonak Protocol changes that. The normative rules every document obeys are written down in the protocol specification.
Stable resource identifiers
Every class, property, and instance gets a persistent, globally unique identifier tied to a publisher domain. These identifiers don't break when systems change — they give people and machines a consistent way to refer to the same concepts.
Distributed publishing
Anyone with a domain can publish ontologies. There is no central authority deciding what types are valid. Domain experts — biologists, engineers, legal scholars — can develop their knowledge into formal schemas and share them directly from their own infrastructure.
Versioned ontologies
Ontologies evolve. Kanonak Protocol uses semantic versioning so publishers can improve their schemas without breaking consumers on earlier versions. Import what you need, pin to a version range, and upgrade on your own schedule.
Built for AI agents
When AI agents work with Kanonak ontologies, they are grounded in a shared vocabulary with formally defined types and relationships. The Kanonak CLI validates that data conforms to its schema — giving you guarantees about the shape of information rather than hoping the model got it right. Structured, validated data reduces ambiguity and gives agents less room to hallucinate.
Modeling conventions
Designing an ontology well comes down to a small set of conventions: choosing classes versus properties, datatype versus object properties, how subClassOf composes under multiple inheritance, and the explicit markers that turn a closed set of individuals into an enumeration. The guide to modeling a domain in Kanonak is the Ontology conventions.
The Look system
Every resource renders as a readable page — an SVG identity glyph, a property sheet, and cross-reference links — straight from its ontology, with no hand-written HTML or CSS. Presentation is declared in the graph by attaching a look to a type, and the renderer interprets it; this very page is rendered that way. The single guide to styling an ontology — and when to reach for a look, a transformation, or a view — is the Look conventions.
Example
A Kanonak package defines classes and properties. This one describes people with addresses:
contacts:
type: Package
publisher: mycompany.com
version: 1.0.0
imports:
- publisher: kanonak.org
packages:
- package: core-rdf
match: ^
version: 1.0.0
alias: rdfs
- package: core-owl
match: ^
version: 2.0.0
alias: owl
- package: core-xsd
match: ^
version: 1.0.0
alias: xsd
Person:
type: rdfs.Class
label: Person
comment: A person in the contacts directory
fullName:
type: owl.DatatypeProperty
domain: Person
range: xsd.string
hasAddress:
type: owl.ObjectProperty
domain: Person
range: Address
A separate package imports the ontology and creates typed instances with embedded resources:
company-directory:
type: Package
publisher: mycompany.com
version: 1.0.0
imports:
- publisher: mycompany.com
packages:
- package: contacts
match: ^
version: 1.0.0
alice-smith:
type: Person
fullName: Alice Smith
email: alice@mycompany.com
hasAddress:
street: 742 Evergreen Terrace
city: Springfield
Tooling
Install the CLI to validate, install packages, and inspect dependencies:
npm install -g @kanonak-protocol/cli
kanonak install kanonak.org/core-rdf
kanonak validate contacts.kan.yml
The Kanonak Protocol VS Code extension adds real-time validation, an ontology browser, and language features (go-to-definition, hover, document outline) for .kan.yml files. The source lives on GitHub.
See it in action
Worldview uses Kanonak Protocol to publish a daily macro-market worldview as versioned snapshots. Each snapshot is a typed ontology of theses (with confidence levels), machine-evaluable invalidation conditions, and citation-backed evidence — well beyond the synthetic Person example above. It's a working illustration of how versioned ontology snapshots compose into a longitudinal record humans and AI agents can both reason over.
About
The protocol was originally called "Canon", short for canonical — the idea that something only needs to be defined once to become the globally referenceable, authoritative form of the thing it describes. The name was changed to Kanonak to avoid overlap with existing brand names. Kanonak Protocol was created by Paul Fryer in 2024, built from scratch when existing schema formats like JSON Schema and RDF fell short on distributed publishing, versioning, and readability.