fabriciq-ontology-authoring-cli

Create and update Fabric IQ Ontology items via the Fabric item-definition REST API.

Updated Jul 14, 2026
One-click install
npx skills add https://github.com/9vantage/skills-for-fabric-clone --skill fabriciq-ontology-authoring-cli-9vantage
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: fabriciq-ontology-authoring-cli
Source: https://github.com/9vantage/skills-for-fabric-clone/tree/main/plugins/fabric-authoring/skills/fabriciq-ontology-authoring-cli
Command: npx skills add https://github.com/9vantage/skills-for-fabric-clone --skill fabriciq-ontology-authoring-cli-9vantage

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Authoring Microsoft Fabric IQ Ontology (preview) items requires hand-crafting a tree of base64-encoded JSON definition parts and driving long-running REST operations, which is error-prone and poorly documented. This Skill guides an AI assistant to correctly create ontologies, define entity types and properties, bind them to lakehouse or Eventhouse tables, and add relationship types from the CLI. ## Core Features & Use Cases - Ontology Item Authoring: Create Ontology items and add entity types, properties (including timeseries), and relationship types using the Fabric Create Item / Update Item Definition REST APIs with InlineBase64 parts. - Data Bindings: Bind entity types to OneLake lakehouse tables (static and timeseries) or Eventhouse/KQL database tables (timeseries only), with correct value-type mapping and key constraints. - Safe Update Workflow: Enforces a fetch-mutate-send pattern with LRO polling via x-ms-operation-id, ID persistence, and preview-and-confirm steps before any write. - Use Case: Ask the assistant to create a fleet ontology with Site and Equipment entity types, bind them to lakehouse tables, add an Eventhouse telemetry timeseries binding, and relate Equipment to Site — all scripted from the CLI. ## Quick Start Ask the assistant to create a Fabric ontology item in your workspace with an entity type bound to a specific lakehouse table.

Frequently Asked Questions about fabriciq-ontology-authoring-cli

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a Fabric IQ Ontology item from the CLI?

Create an Ontology item by POSTing to /v1/workspaces/{ws}/items with type Ontology and a definition containing base64-encoded .platform and definition.json parts. The call returns a 202 long-running operation; poll /v1/operations/{operationId} until it succeeds, then list Ontology items to get the new item ID.

How do I bind an ontology entity type to a lakehouse or Eventhouse table?

Add a DataBindings part under the entity type with dataBindingType NonTimeSeries for lakehouse static data or TimeSeries for lakehouse or Eventhouse sources. Eventhouse (KustoTable) bindings require the Eventhouse item ID, clusterUri, and databaseName, and are allowed only for timeseries bindings.

Can Eventhouse tables back static ontology bindings?

No. Eventhouse (KustoTable) sources support TimeSeries bindings only. Each entity type needs a NonTimeSeries binding from a managed lakehouse table before any timeseries binding can be added.

Why does my ontology updateDefinition call fail with ALMOperationBadRequest?

A common cause is part paths built with backslashes on Windows; the Fabric API requires forward slashes in paths like EntityTypes/{id}/definition.json. Other causes include BOM-prefixed JSON from Out-File and duplicate property names across properties and timeseriesProperties.

What value types are allowed for ontology entity properties?

Allowed valueType values are String, Boolean, DateTime, Object, BigInt, and Double. Use BigInt rather than Int64 for integers, model GUIDs as String, and restrict entity key properties (entityIdParts) to String or BigInt.

Why does polling the Location header after createItem fail with 401?

In the Ontology preview, the Location header redirects to an analysis.windows.net host, which fails authentication against the api.fabric.microsoft.com audience. Capture the x-ms-operation-id header instead and poll https://api.fabric.microsoft.com/v1/operations/{operationId}.