Kanonak Protocol

An open protocol for defining, versioning, and sharing semantic ontologies across distributed publishers.

The type system every ontology grounds out in

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.

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.

Explore the packages

The headline packages of the protocol — start here.

Kanonak ProtocolThe foundational specification of the Kanonak Protocol — the conventions, rules, and examples every Kanonak document obeys regardless of which vocabulary it…LookThe declarative rendering vocabulary. A resource declares how it presents itself by attaching a view of stacked bands; the SDK interprets that declaration…