Artefacts
The schema, by version
The grammar is one JSON Schema file with no dependencies. Its $id carries the
version, each release is served at its own URL, and a published URL is immutable. Consumers
pin by $id.
| Version | URL | Status | Notes |
|---|---|---|---|
v0.4.0 |
https://openpredicate.tech/schema/v0.4.0/open-predicate-schema.json |
Current | The grammar as of release 0.6.0. |
How to use it
$ref the versioned URL, or vendor the file and reference your copy — both are
supported, and vendoring is the safer default for a build that must not depend on this host.
The version in the $id tracks the grammar, not the repository —
release v0.6.0 serves grammar
v0.4.0, because a release that ships tooling or naming changes
leaves the $id where it is.
curl -O https://openpredicate.tech/schema/v0.4.0/open-predicate-schema.jsonWhat a version bump means
- Patch — documentation and description text only.
- Minor — new optional operators or profiles. A filter valid under
v0.Nstays valid underv0.N+1. - Major — anything that can invalidate an existing filter.
Before 1.0 a minor release may break compatibility; each break is recorded in the changelog with a migration note. Normative text: specification §9.
What is in the file
OpenPredicate — Filter — A JSON-encoded, SQL-flavoured predicate language for describing the request body of search operations (POST /…/search and QUERY /…).
It defines 13 definitions and
34 operators across
8 profiles.