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.

VersionURLStatusNotes
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.

Vendor it
curl -O https://openpredicate.tech/schema/v0.4.0/open-predicate-schema.json

What a version bump means

  • Patch — documentation and description text only.
  • Minor — new optional operators or profiles. A filter valid under v0.N stays valid under v0.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.