CoreModelsCoreModels

OWL

Keep the ontology and the application schema from becoming two portraits of Person.

Quickstart · Get it working.
Turtle In, JSON Schema Out: Your First OWL Transform
There is a `.ttl` file somewhere in your repository. Someone modeled the domain properly once - classes, subclass axioms, cardinality restrictions, a SKOS scheme for the controlled list - and then everyone else carried on hand-writing JSON Schema and DDL, because nothing bridged the two.
API · Drive it from the Integration API.
OWL Over HTTP: Export, Import, Map, Replay
Two questions decide whether a format is really supported: can the system read it, and can the system write it? For the `owl` format key in CoreModels the answer is yes to both, and this article is the proof - four routes, real request bodies, real responses, and the direction rules stated without hedging.
MCP · Drive it from an agent.
Ontology Alignment You Can Delegate: `transform_schema` and OWL Over MCP
A partner sends you their vocabulary as a Turtle file. You need your catalog expressed in their terms so the two sides can exchange data, and you need a record of which of your concepts had no counterpart on their side. That used to be an afternoon in an ontology editor plus a spreadsheet nobody trusts.
Automation · Put it in CI.
Infer Once, Gate Always, Replay Forever: OWL in a Build Pipeline
Commit an exported ontology, re-run the export tomorrow, and look at the diff. If it shows reordered prefixes and reshuffled blocks, the export is not a build artifact - it is a rumor, and no reviewer will read it twice. If it shows exactly the statements your model changed, you have something CI can gate on.
Deep dive · Understand what it does.
What the OWL Coder Knows: The IR Map, the Extras, the Ledger
Ask a schema converter what it does with `owl:Restriction` and you learn most of what you need to know about it. Many treat OWL as a serialization problem - emit classes and properties, drop the axioms - so "required" and "single-valued" evaporate at the border. CoreModels treats it as a semantics problem: required and cardinality ride as `owl:Restriction` subclass axioms, OWL's own carrier, in **both** directions. That decision propagates through everything below.

Why this matters

The case for OWL — the problem it fixes and what changes when it is fixed — is on coremodels.io.

Read the OWL guides →