Context
OO-LD delivers semantics natively via top-level @context to plain JSON Schema consumers (incl. OpenAPI 3.1 and MCP tool schemas). Two consumer classes need a generated form: OpenAPI 3.0 (rejects unprefixed keywords, bundles many classes) and strict LLM structured-output subsets (reject unknown keywords).
Motivated by w3c/yaml-ld#19, where @ioggstream (REST-API-LD, Italian eGov) offered to share library code and reuse the OO-LD playground.
Scope
- Bidirectional, generated (never hand-maintained) converter OO-LD
@context/x-oold-instance-rdf-type <-> REST-API-LD x-jsonld-context/x-jsonld-type (draft-polli-restapi-ld-keywords-08), one Schema Object per class.
- Strict-mode injector that folds ontology IRIs into
title/description for providers that reject unknown keywords.
- Reach out to @ioggstream about sharing converter/playground code.
Acceptance
- Round-trip test: OO-LD -> OpenAPI 3.0 (x-jsonld-*) -> OO-LD is lossless.
- Expansion parity: native
@context form and x-jsonld-* form yield the same RDF triples.
Context
OO-LD delivers semantics natively via top-level
@contextto plain JSON Schema consumers (incl. OpenAPI 3.1 and MCP tool schemas). Two consumer classes need a generated form: OpenAPI 3.0 (rejects unprefixed keywords, bundles many classes) and strict LLM structured-output subsets (reject unknown keywords).Motivated by w3c/yaml-ld#19, where @ioggstream (REST-API-LD, Italian eGov) offered to share library code and reuse the OO-LD playground.
Scope
@context/x-oold-instance-rdf-type<-> REST-API-LDx-jsonld-context/x-jsonld-type(draft-polli-restapi-ld-keywords-08), one Schema Object per class.title/descriptionfor providers that reject unknown keywords.Acceptance
@contextform andx-jsonld-*form yield the same RDF triples.