Repository navigation
v0.9.0 #205
benoitcayladbx
announced in
Announcements
v0.9.0
#205
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
OntoBricks — Release Notes V0.9.0
Release window: September–October 2026
Test status: all changes shipped with the non-scenario suite green: 9478 passed, 326 skipped, 7 deselected, 1 xfailed.
Highlights
CREATE VIEW, CTAS, and writes.READ VOLUME/WRITE VOLUMEgrant is required.MEASURE(...)SQL instead ofSELECT *.COUNT(*)scans; adjacency and entity-search indexes, paged BFS, and server-side seed limits cut preview and expansion time. The canvas reports Preview, Expansion, Display, and Total duration.check_entity_shacl_facets) to check that one entity against every SHACL shape on its class, its parent classes, and the global ones. A popup shows per-dimension gauges and the pass/fail detail with the values found; checked nodes get a quality ring on the canvas.entity_id. Triggering one from Explorer opens a popup that verifies the run started (Running / Queued) and follows it; the run is tracked in navbar Background Tasks with a link to the Databricks run. MCPinvoke_entity_actionacceptsjob:<id>.5_g_subscribersload when backtick-quoted, matching Unity Catalog rules.This release is additive on v0.8.0. Ontology-only domains, MCP policy, virtual attributes, branding, and the Clarity UI remain as documented in
releases/ReleaseNotes_V0.8.0.md.Lakehouse compute and Statement Execution API
Build warehouse vs Query warehouse
Lakehouse//RT warehouses accept reads and reject build DDL (
UNSUPPORTED_FEATURE.CREATE_VIEW). Settings therefore split the roles:sql-warehouseresource default.Builds never fall back to the Lakehouse query warehouse. Analytics job SQL always uses the Build warehouse. RT DDL failures map to this guidance instead of a generic source-table error.
Statement Execution API
Lakehouse//RT rejects the legacy Thrift protocol. When the query (or build) warehouse uses SEA:
use_sea=True(Kernel extra ondatabricks-sql-connector).SET STATEMENT_TIMEOUTis skipped on SEA (the deprecated SEA backend 500s on those statements when CloudFetch is off). Client-side socket timeout still applies. Thrift warehouses keep the server-side bound.CloudFetch
Settings → Databricks → Use CloudFetch (administrators) controls whether SQL clients download result files via CloudFetch. Leave it on unless Databricks Apps cannot reach the CloudFetch storage host; in that case Explorer searches can time out after SQL has already finished. Saving CloudFetch no longer validates an unloaded Lakehouse Query selector.
Knowledge Graph Explorer
/sync/stats, load, BFS find, neighbour expand) run blocking SQL on the sized thread pool so a slow warehouse query does not stall the rest of the page./sync/statsruns independent warehouse round-trips concurrently. Lakehouse distinct counts useapprox_count_distinctfor the Insights overview; Lakebase keeps exact counts.SELECT 1 … LIMIT 1./sync/inforeturns a pending skeleton on cache miss so the page paints immediately; the triple-count badge fills in the background.LIMITin SQL and fetchesrdf:typeplusrdfs:labelin one scan. Neighbour expansion for Delta collapses into one RT statement where possible.has_more) for Lakehouse, Lakebase, and Neo4j. GraphQL and MCPfindread through the same graph-cache companions.Entity Data Quality Checks
The Data Quality tab checks the whole graph; Explorer can now check one entity.
parentlineage), and the global shapes. Inherited shapes are re-targeted to the entity's own class and keep an "inherited from" badge.check_entity_shacl_facets(entity_uri).sh:closed), or error, plus the values the entity carries on the constrained property.SPARQL playground
Knowledge Graph includes an in-app SPARQL playground with a documented runtime lifecycle, mobile results, and keyboard focus. After execution, generated SQL stays below the editor so operators can inspect what the translator produced.
Ontology Generate and Knowledge Store
Three-stage Generate
Ontology Generate is no longer a one-shot replacement of the ontology:
The final merge is append-only and idempotent. Inverse relations collapse to one direction; paraphrased and inverse duplicates are dropped. Stage 1 and Stage 3 use transport-level structured output (
response_format). The wizard is resumable, can Start Over, and uses Entity / Relationship / Attribute wording.Knowledge Store
Domain document management no longer copies binaries or
_parsedsidecars into a Unity Catalog Volume.ai_parse_documentruns on inline base64; only parsed text is stored in Lakebase (domain_documents). Users can view parsed content, upload files (hard 10 MB per-file cap), and purge one or several documents. The registry UC Volume is removed from settings, DAB, health probes, and the MCP server. Generate and Mapping agents read the same store.Data Sources UI labels are renamed Data Assets. Asset imports are capped (default 40). Unity Catalog Metric Views are first-class assets (
object_kind: table / view / metric_view). Measure columns must be queried withMEASURE(col) AS colandGROUP BYdimensions; the mapping agent is evaluated against that contract, and the picker shows a Metric View badge.Ontology Studio
Designer is Studio. OWL and R2RML export live on the canvas.
?section=information) are unchanged.Business rules and class actions
SWRL on an entity
Ontology authors attach SWRL business rules to a class (including parent-class lineage). Builders run a matching rule on one entity from Graph Explorer (confirmation modal) or through MCP
run_entity_business_rule(no confirmation). Inference is scoped to that entity; inferred triples materialize; Explorer refreshes. Aggregate Rule and Decision Table editors are documented; decision tables support optional columns, Unique hit policy, and Assign entity. Neo4j Cypher translation remains scaffolding (Neo4j domains infer no facts from this path). SWRL built-ins translate during graph inference. Databricks Apps graph writes for SWRL apply and inference purge are fixed.Jobs as class actions
The Studio entity panel's Behaviour tab already bound Unity Catalog functions (section Functions). Authors can also bind existing workspace Jobs that declare
entity_id. OntoBricks only callsrun_now, tracks the run in navbar Background Tasks, and allow-listsjob:<job_id>from Explorer and MCP. Lakehouse App mode triggers OBO with the forwarded user token.GitHub mirror, versions, and registry
GitHub mirror
Administrators can enable a per-instance GitHub repository. Each registry write queues an async, coalesced push. A GitHub failure never fails the registry write. Pushes appear in the domain Audit trail. Each domain folder stores split JSON plus generated OWL, R2RML, and SHACL Turtle; PUBLISHED versions are tagged
<Folder>/V<n>. Load from GitHub in the Registry import modal lists domains from the Git tree and restores them through OBX preview/import. Deleting a registry domain can optionally delete the GitHub domain. Test connection, spinner, and “enable mirror before configure” UX are in Settings.OBX import exposes an Import as name for every domain, not only on folder conflicts. A renamed copy resets graph runtime so the new identity does not reuse the previous warehouse objects.
Versions
/domain/?section=information) instead of reloading the current page. That covers Home → Open, navbar Load Domain, Registry → Browse → Load, Domain → Versions load/reload, and domain import. Intentional Publication / Validation navigations (?section=review) are unchanged. Reloading while already on General still refreshes that page.The navbar domain badge restores the last confirmed loaded domain on page start and keeps it across transient
/navbar/statefailures. Navigating to Settings no longer flashes an empty badge. Closing the domain still clears it. Unloaded workspace pages redirect to Home. Domain creation is restricted to administrators.Identity, MCP, and AI gates
Data Quality
suggest_from_ontologynow uses parsed OWL characteristics (owl:FunctionalProperty,owl:InverseFunctionalProperty, cardinality restrictions) anddomain.constraintsinstead of inventingsh:minCount 1on every object property.Lakebase operations
scripts/deploy.config.sh).Reliability, architecture, and CI
GET /api/v1/digitaltwin/triplesno longer raisesNameErrorwhen selecting the graph or view table; it uses the documentedbackendparameter.tests/e2e/scenarios/) can run against a deployed Databricks App (the Apps gateway bearer is forwarded). New scenario 5 covers a Lakehouse zero-copy domain end to end: virtual attributes, a Unity Catalog function action, and an entity SWRL inference rule.Documentation
Operator guides now describe the Build / Query split, Lakehouse//RT, CloudFetch, Explorer timing, Versions-popup creation, staged Generate, Knowledge Store, Metric Views, GitHub mirror, OBX Import as, Studio, business rules, Job actions, entity Data Quality Checks, SPARQL playground, OBO, No LLM, and load navigation to Domain → General:
docs/getting-started.mddocs/deployment.mddocs/architecture.mddocs/user-guide.md(feature inventory)docs/mcp.mddocs/api.mddocs/README.md(documentation hub)README.mdThe documentation hub and Help Center were recategorized; small guides fold into Graph backends / Advanced features with per-guide TOCs.
Bug Fixes (selected)
Error querying graphon SEA with CloudFetch off caused bySET STATEMENT_TIMEOUT.GET /api/v1/digitaltwin/triplescrashing withNameErroron every request.DELTA_CLUSTERING_NOT_SUPPORTED) because they wrote through the read-only Query warehouse; they now use the Build warehouse.DESCRIBE DETAILon the…_dataVIEW; views are treated as existing.version: 1(JSON number) falling through to the latest version, and Overview / status timing out onCOUNT(*)over the pass-through…_graphVIEW; they now read the companion tables.suggest_from_ontologyinventing cardinality and calling a missingdomain.get_constraints().response_format.Security hardening (code review)
csrf_tokencookie and a matchingX-CSRF-Tokenheader (constant-time comparison); a missing cookie no longer slips through./api/and/graphql/stay exempt./health: now a public liveness probe that leaks no paths, catalog names or exception text. The full readiness probes moved to the admin-only/settings/diagnostics/readiness. A failed startup no longer shows the traceback to anonymous callers.nan,infand1_000are no longer emitted as bare numbers; a non-numeric aggregatethresholdis rejected instead of pasted intoHAVING.renderMarkdownfor comments, chat and audit;escapeHtmlescapes quotes and is the only definition; untrusted ontology and metadata values are escaped beforeinnerHTML.Security (Dependabot)
Raised uv constraint floors and relocked
uv.lock/src/mcp-server/uv.lockagainst patched releases:cryptography<51)trust_remote_codebypass on local model load (pitfalls extra)Not patched (upstream):
databricks-sql-connector4.4–4.6 still requiresoauthlib>=3.1.0,<4.0.0.Upgrade Notes
No registry schema migration required for warehouses
v0.9.0 adds global-config keys (
warehouse_use_sea, Lakehouse query warehouse /use_sea,use_cloud_fetch, GitHub mirror settings). Existing v0.8.0 domains keep working: Query mirrors Build, SEA defaults off, CloudFetch defaults on, GitHub mirror defaults off.Knowledge Store uses a new Lakebase
domain_documentstable created by the standard registry bootstrap / initialize path. The registry Unity Catalog Volume is no longer used for documents; previously stored Volume binaries are not migrated automatically — re-upload documents that must remain in Generate or Mapping context.Behaviour changes from the security hardening
checkslist fromGET /healthmust call the admin-onlyGET /settings/diagnostics/readinessinstead. Probes that only need HTTP 200 are unaffected./api/v1/or/graphql/; internal routes now reject requests without the CSRF cookie and header.sh:pattern: backslashes now reach SparkRLIKEas written. Before,\d+was silently read asd+, so pattern rules may report different (correct) violation counts after the upgrade.Menu rename
The Information menu item is now General in Domain, Ontology, and Mapping. Section ids and URLs are unchanged. The No-LLM guidance now reads
No LLM selected. Select one in Domain → General → AI.— clients matching the oldDomain Information → AItext must update.Load navigation
Scripts or bookmarks that assumed Load Domain would
location.reload()the current page (Home, Registry Browse, Versions) must follow the redirect to/domain/?section=information. Publication and Validation entry points that already set?section=revieware unchanged.Enabling Lakehouse//RT reads
Rebuilds are not required solely to turn RT queries on. Builds still run on the Build warehouse.
GitHub mirror
Configure owner, repository, branch, and a Databricks secret for the token under Settings. Lakebase remains authoritative. Enable the mirror before filling repository fields. First push claims the repository via
.ontobricks/instance.jsonunless take-over is explicit.Instance suffix
Deploy configs and tests for this line use
INSTANCE_ID=09x. Alignscripts/deploy.config.sh, app names, and DAB targets before deploying alongside an 08x instance.External API
GET /api/v1/digitaltwin/triplesremains the triples listing endpoint. Callers that already passedbackendare unchanged; the server now honors that parameter instead of raising.New:
GET /api/v1/digitaltwin/nodes/shacl?uri=…returns the entity's SHACL facets, and/nodes/contextplus/domain/classescarry ashacl_shape_count.MCP:
run_entity_business_ruleandcheck_entity_shacl_facetsare new (the latter is a graph tool that can be disabled per domain in the MCP policy);select_domainandget_entity_contexthint at the applicable shape count when it is enabled;invoke_entity_actionacceptsjob:<job_id>in addition to a Unity Catalog function FQN. Domain MCP policy from v0.8.0 still controls which tools are published.This discussion was created from the release v0.9.0.
All reactions