Skip to content

ontology

Manage ontologies (entity types, data bindings)

Authentication scope: fabric

List ontologies in a workspace

Terminal window
fabio ontology list --workspace <value>
Flag Type Required Description
--workspace string Yes Workspace ID

Read-only · Returns list

Show details of an ontology

Terminal window
fabio ontology show --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Ontology ID

Read-only · Returns object

Create an ontology

Terminal window
fabio ontology create --workspace <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--name string Yes Display name (must start with letter, alphanumeric/underscore, <100 chars)
--description string No Description (max 256 characters)
--definition string No Path to definition JSON file (base64-encoded parts format)
--file string No Path to a local RDF file (.ttl, .owl, .rdf, .jsonld, .nt, .n3, .trig) Auto-detects format from extension and wraps into Fabric definition
--dir string No Path to a directory containing Fabric ontology definition structure (EntityTypes/, RelationshipTypes/ with definition.json, DataBindings/, etc.)
--sensitivity-label string No Sensitivity label ID to apply on creation

Examples

Terminal window
fabio ontology create --workspace $WS --name "ManufacturingOntology"

Mutates state · Returns object

Update ontology properties (name and/or description)

Terminal window
fabio ontology update --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Ontology ID
--name string No New display name
--description string No New description

Mutates state · Returns object

Delete an ontology

Terminal window
fabio ontology delete --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Ontology ID
--hard bool No Permanently delete (cannot be recovered)

Mutates state · Destructive · Returns void

Get the ontology definition (entity types, bindings)

Terminal window
fabio ontology get-definition --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Ontology ID
--format string No Definition format
--decode bool No Decode base64 payloads in definition parts to readable JSON/text

Read-only · Long-running operation · Returns object

List the ontology’s entity types and their properties (schema exploration)

Terminal window
fabio ontology list-entity-types --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Ontology ID
--entity-name string No Filter to a single entity type by name (exact match)
--include-properties bool No Include each entity type’s properties/timeseries/untyped properties

Read-only · Returns object

Update the ontology definition (replaces current definition)

Terminal window
fabio ontology update-definition --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Ontology ID
--definition string No Path to definition JSON file, or - for stdin
--file string No Path to a local RDF file (.ttl, .owl, .rdf, .jsonld, .nt, .n3, .trig) Auto-detects format from extension and wraps into Fabric definition
--dir string No Path to a directory containing Fabric ontology definition structure (EntityTypes/, RelationshipTypes/ with definition.json, DataBindings/, etc.)
--update-metadata bool No Also update item metadata from .platform file

Examples

Terminal window
fabio ontology update-definition --workspace $WS --id $ONT --dir ./ontology/

Mutates state · Long-running operation · Returns void

Import an OWL ontology (RDF/XML or JSON-LD) and convert to Fabric format

Terminal window
fabio ontology import --file <value>
Flag Type Required Description
--workspace string No Workspace ID (push to Fabric; omit for local export only)
--id string No Ontology ID (required when pushing to Fabric)
--file string Yes Path to OWL file (.rdf, .owl for RDF/XML; .jsonld for JSON-LD)
--output-dir string No Export converted definition to a local directory
--lakehouse string No Lakehouse item ID for the default data source. When set, generates DataBindings (and Contextualizations, given --bindings) so the imported ontology is queryable, not just a bare schema. Eventhouse / TimeSeries / composite sources are configured via --bindings
--lakehouse-workspace string No Workspace ID that hosts the Lakehouse default source (defaults to –workspace)
--lakehouse-schema string No Schema for the Lakehouse default-source tables (default: dbo)
--eventhouse string No Eventhouse item ID for a KustoTable default source (TimeSeries). Requires –cluster-uri, –database, and –timestamp-column
--eventhouse-workspace string No Workspace ID that hosts the Eventhouse default source (defaults to –workspace)
--cluster-uri string No Kusto cluster query URI for the Eventhouse default source
--database string No KQL database name for the Eventhouse default source
--timestamp-column string No Timestamp column for TimeSeries bindings (Eventhouse default source)
--bindings string No Path to a JSON binding map that overrides table/column names, selects data sources, and supplies relationship key columns. See fabio context examples ontology

Examples

Terminal window
fabio ontology import --workspace $WS --id $ONT --file cosmic-coffee.rdf
Terminal window
fabio ontology import --workspace $WS --id $ONT --file domain-model.jsonld
Terminal window
fabio ontology import --file ontology.rdf --output-dir ./fabric-format/
Terminal window
fabio ontology import --workspace $WS --id $ONT --file clinical-supply-chain.rdf --lakehouse $LAKEHOUSE --bindings bindings.json
Terminal window
fabio ontology import --workspace $WS --id $ONT --file domain-model.rdf --lakehouse $LAKEHOUSE --lakehouse-schema sales
Terminal window
fabio ontology import --workspace $WS --id $ONT --file telemetry.rdf --eventhouse $EH --cluster-uri https://trd-xxxx.kusto.fabric.microsoft.com --database telemetry --timestamp-column reading_ts

Mutates state · Returns object

Bind an existing ontology’s types to data sources (no OWL re-import)

Terminal window
fabio ontology bind --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Ontology ID
--lakehouse string No Lakehouse item ID for the default data source
--lakehouse-workspace string No Workspace ID that hosts the Lakehouse default source (defaults to –workspace)
--lakehouse-schema string No Schema for the Lakehouse default-source tables (default: dbo)
--eventhouse string No Eventhouse item ID for a KustoTable default source (TimeSeries). Requires –cluster-uri, –database, and –timestamp-column
--eventhouse-workspace string No Workspace ID that hosts the Eventhouse default source (defaults to –workspace)
--cluster-uri string No Kusto cluster query URI for the Eventhouse default source
--database string No KQL database name for the Eventhouse default source
--timestamp-column string No Timestamp column for TimeSeries bindings (Eventhouse default source)
--bindings string No Path to a JSON binding map (table/column overrides, data sources, relationship key columns). See fabio context examples ontology

Examples

Terminal window
fabio ontology bind --workspace $WS --id $ONT --lakehouse $LAKEHOUSE --bindings bindings.json
Terminal window
fabio ontology bind --workspace $WS --id $ONT --lakehouse $LAKEHOUSE --lakehouse-schema sales
Terminal window
fabio ontology bind --workspace $WS --id $ONT --eventhouse $EH --cluster-uri https://trd-xxxx.kusto.fabric.microsoft.com --database telemetry --timestamp-column reading_ts --bindings bindings.json

Mutates state · Returns object

Export a Fabric Ontology to OWL format (RDF/XML or JSON-LD)

Terminal window
fabio ontology export --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Ontology ID
--format enum No Output format: rdf (RDF/XML) or jsonld (JSON-LD) One of: rdf, jsonld.
--file string No Output file path (writes to stdout if omitted)

Examples

Terminal window
fabio ontology export --workspace $WS --id $ONT --format rdf --file exported.rdf
Terminal window
fabio ontology export --workspace $WS --id $ONT --format jsonld --file exported.jsonld

Read-only · Returns object

Print the Model Context Protocol (MCP) server URL for consuming this ontology

Terminal window
fabio ontology mcp-url --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Ontology ID

Read-only · Returns object

Ask a natural-language question over the ontology’s data (MCP search_ontology tool)

Terminal window
fabio ontology search --workspace <value> --id <value> --prompt <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Ontology ID
--prompt string Yes Natural-language question
--raw bool No Return only raw JSON results (skip the derived natural-language answer)

Read-only · Returns object

Generate an ontology from a semantic model or lakehouse (entity types, properties, relationships)

Terminal window
fabio ontology generate --workspace <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--semantic-model string No Source semantic model ID. Omit to use –lakehouse as the schema source instead
--name string Yes Name for the new ontology
--lakehouse string No Lakehouse ID to bind entity types to (matches lakehouse tables by name). When –semantic-model is omitted, this lakehouse is ALSO the schema source (entity types + typed properties are derived from its tables)
--lakehouse-workspace string No Workspace of the lakehouse (defaults to –workspace)
--output-owl string No Write the generated OWL to a file instead of creating the ontology

Mutates state · Returns object

Add an entity type (with typed properties) to an existing ontology

Terminal window
fabio ontology add-entity-type --workspace <value> --id <value> --name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Ontology ID
--name string Yes Entity type name (e.g. Product)
--property string No A typed property as name:type (repeatable). Types: String, Long, BigInt, Double, Decimal, Boolean, DateTime, Any (aliases accepted)
--key string No Mark a property (by name) as an identifier / key (repeatable)

Mutates state · Returns object

Delete an entity type (cascades relationship types referencing it)

Terminal window
fabio ontology delete-entity-type --workspace <value> --id <value> --entity <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Ontology ID
--entity string Yes Entity type name or id to delete

Mutates state · Destructive · Returns void

Rename an entity type (relationship/binding references use the stable id, so they are unaffected)

Terminal window
fabio ontology rename-entity-type --workspace <value> --id <value> --entity <value> --new-name <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Ontology ID
--entity string Yes Current entity type name or id
--new-name string Yes New entity type name (e.g. Products)

Mutates state · Returns object

Add a relationship type between two entity types

Terminal window
fabio ontology add-relationship-type --workspace <value> --id <value> --name <value> --source <value> --target <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Ontology ID
--name string Yes Relationship type name (e.g. sells)
--source string Yes Source entity type name or id
--target string Yes Target entity type name or id

Mutates state · Returns object

Delete a relationship type

Terminal window
fabio ontology delete-relationship-type --workspace <value> --id <value> --relationship <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Ontology ID
--relationship string Yes Relationship type name or id to delete

Mutates state · Destructive · Returns void

Add a Power BI report link (ResourceLink) to an entity type

Terminal window
fabio ontology add-report-link --workspace <value> --id <value> --entity <value> --report-workspace <value> --report <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Ontology ID
--entity string Yes Entity type name or id to link the report to
--report-workspace string Yes Workspace ID of the Power BI report
--report string Yes Item id of the Power BI report

Mutates state · Returns object

List report (resource) links on an ontology’s entity types

Terminal window
fabio ontology list-report-links --workspace <value> --id <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Ontology ID
--entity string No Only list links for this entity type name or id (optional)

Read-only · Returns list

Delete a report link from an entity type

Terminal window
fabio ontology delete-report-link --workspace <value> --id <value> --entity <value> --report <value>
Flag Type Required Description
--workspace string Yes Workspace ID
--id string Yes Ontology ID
--entity string Yes Entity type name or id
--report string Yes Item id of the Power BI report to unlink

Mutates state · Destructive · Returns void