A schema is the semantic layer over an ontology’s concepts — it labels each concept as a graph node or edge, records the relationships between them, and drives the schema/lineage view. The Schema API lets you persist and reload the schema document, assign schema roles to individual concepts, add elements to the lineage one at a time, and import an existing OWL file into the editor’s JSON format. These endpoints are mounted under the /concepts prefix. All paths are relative to the base URL and require authentication. All responses use the standard envelope.
On the wire the path slot and payload still use project-prefixed keys (project_id, ontology_schema_data, ontology_schema_type) for the ontology that owns the schema.

Save the schema

Persist an ontology’s full schema document (nodes and edges) for later reload.

Load the schema

Return the schema document for an ontology. data is null when the ontology has no saved schema yet.

Set a concept’s schema type

Assign a schema role to a single concept: mark it as a graph node, as an edge (which requires edge_source and edge_target), or reset it to the default by omitting ontology_schema_type.

Add to lineage

Add a single schema element — a node or an edge — to the ontology lineage without rewriting the whole schema document.

Import an OWL ontology

Convert an OWL file into the schema editor’s JSON format (nodes and edges). When base_namespace is omitted, the platform attempts to auto-detect it from the OWL xml:base or ontologyIRI — if neither is present a 400 is returned asking you to supply it explicitly.
To turn an OWL ontology directly into an executable Vadalog program (with @bind annotations and optional Parquet output) rather than editor JSON, use OWL → Vadalog instead.