CoreModelsCoreModels

JSON-LD

Make the vocabulary you already trust executable downstream.

Quickstart · Get it working.
Zero to First Transform: Running a JSON-LD Vocabulary Through CoreModels
By the end of this page you will have made exactly one HTTP call and produced two artifacts: a JSON Schema generated from an RDF vocabulary, and a lossiness ledger that states - in writing - what the conversion could not carry across. Learning to read both is the entire skill. Everything else in the CoreModels transform surface is a variation on this loop.
API · Drive it from the Integration API.
Four Verbs and a Vocabulary: The JSON-LD HTTP Surface, With Real Bodies
Everything you can do with an RDF vocabulary on the CoreModels HTTP API fits in four routes. One writes a vocabulary into a governed project, one publishes a project back out as a vocabulary, one converts statelessly through the mapping engine, and one replays a stored conversion. This article walks all four with request and response bodies we actually ran, then states the direction limits plainly - including the one that has no ledger entry to warn you about it.
MCP · Drive it from an agent.
Three Questions an Agent Must Answer After Converting a Schema
When an agent converts a vocabulary into something else, it should be able to answer three questions afterwards: what did it produce, what did it lose, and can it do that again identically? Most conversion tooling answers the first. The `transform_schema` tool on the CoreModels MCP server answers all three in a single call - the produced schema, an explicit lossiness ledger, and the executed plan as a replayable artifact. This article runs a JSON-LD vocabulary through it end to end, with the exact arguments and the exact response.
Automation · Put it in CI.
Boring on Purpose: JSON-LD Conversion Pipelines That Produce the Same Bytes Every Time
A generated artifact is only trustworthy if it is boring. If regenerating last week's JSON Schema from the same vocabulary reshuffles keys, renames anonymous constructs, or quietly drops a constraint, then the diff in your pull request is noise and nobody reads it. This article is our recipe for the opposite: JSON-LD conversions that are byte-stable, gated by a reviewed plan, and loud when meaning is lost.
Deep dive · Understand what it does.
The Coder That Never Complains: A Full Accounting of JSON-LD Fidelity in CoreModels
Here is the fact that should make you suspicious: in either direction, the CoreModels JSON-LD coder emits no lossiness records at all. Not "few" - none. Most coders in the engine keep a list of things they apologize for; this one's ledger is empty. That is either an honest structural property or a place where losses hide, so this article is the accounting: what maps to what, what rides in the extras channel, what the `@id` contract guarantees, where fidelity breaks, and what the tests pin down.

Why this matters

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

Read the JSON-LD guides →