A small JSON API over the catalog
Everything here is a static file on a CDN. No key, no rate limit, CORS open. 50 of 120 entries serve a class hierarchy that was extracted from the published source file; the rest deliberately serve none, and say why.
GET /api/catalog.json Every entry: metadata, licensing with the operative terms, and hierarchy status.
GET /api/ontology/<id>.json One entry, plus its class hierarchy when verified, a worked SPARQL example, and sample instance data.
GET /api/verified.json Just the ids whose hierarchy is source-verified. Use this to filter before you trust a tree.
POST /api/recommend {"prompt": "what you are modelling"} — returns recommended ontologies with reasons.
Backed by a language model on a personal key, so treat it as best-effort.
hierarchy.status verified — extracted from hierarchy.source on
hierarchy.retrievedAt. withheld — no hierarchy is served;
hierarchy.reason says whether that is a licence restriction, the wrong
artifact shape, or simply that it was never verified. Never treat a withheld entry as
having an empty hierarchy — it has an unpublished one.
licence.redistribution redistribution — you may republish. attribution_required —
republish with the notice in licence.notice. reference_only —
link to it, do not copy it. no / unverified — do not
republish. Some entries carry licence.shareAlike, which propagates to whatever
you generate from them.
curl -s https://ontology.guru/api/verified.json | jq -r '.ids[]'
curl -s https://ontology.guru/api/ontology/prov-o.json \
| jq '{id, licence: .licence.id, classes: (.classHierarchy | length)}'
curl -s -X POST https://ontology.guru/api/recommend \
-H 'Content-Type: application/json' \
-d '{"prompt": "sensor readings from building equipment"}' | jq '.recommendations[].id'
This is a personal project, not a company product. Licence summaries are made in good
faith from primary sources and are not legal advice — check the licence
yourself before you redistribute anything. The pruned hierarchies are subsets chosen to be
readable, not complete ontologies; hierarchy.classesInSource tells you how much
was left out. If you find something wrong, the extraction command is recorded on every
verified entry so you can reproduce it.