Repository navigation
v0.8.1 #188
benoitcayladbx
announced in
Announcements
v0.8.1
#188
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.8.1
Release window: September 2026
Type: Patch release (v0.8.0 → v0.8.1)
Test status: all changes shipped with the non-scenario suite green: 5939 passed, 304 skipped, 6 deselected, 32 warnings.
Highlights
describe_entity//triples/find(#182) — BFS traversal, distinct payload fetch, ordering, and pagination run in one backend query. Type-wide scans no longer materialize hundreds of thousands of triples in Python. Responses keep exacttotal/entity_countand addhas_more.CAN_MANAGE) can create a new domain. Editors and Builders still save and work on assigned domains.swrlb:containsnow apply SQL predicates during Run Inference. Active-contract “owns meter” style rules return inferred triples instead of empty results.No registry schema migration. No breaking MCP tool names.
SPARQL (Spark / Lakehouse Explorer)
Spark SPARQL is fail-closed. The translator calls
SparqlCapabilityValidatorbefore generating warehouse SQL. Local RDFLib execution is not a fallback for warehouse data.Supported subset (warehouse):
SELECTgraph patternsLIMITOPTIONAL/ LeftJoinBINDFILTER(CONTAINS,STRequality,STRSTARTS,STRENDS)FILTER(?predicate | ?p | ?pred IN (…))with URI listsUNIONshape: projected?subject ?predicate ?object, branch variables?subject/?object, andBIND(… AS ?predicate)Rejected (examples):
GROUP BY,ORDER BY,OFFSET, numeric or arbitraryFILTER, property paths, subqueries,MINUS,VALUES,SERVICE,GRAPH, non-specializedUNION.Non-specialized
UNIONfails at capability validation with aUNIONerror rather than a later unrelated mapping failure.Knowledge Graph (
describe_entity//triples/find)DigitalTwin.find_triples_bfsnow delegates to a folded backend page (find_triples_bfs_page) instead of walking the graph, fetching every triple, then slicing in Python.DISTINCT,ORDER BY,LIMIT/OFFSETplus one extra row forhas_more).seed_count,entity_count,total,has_more./triples/findresponses keep existing fields and addhas_more. Missinghas_moredefaults tofalsefor older payloads.{count} of {total}) and only hint that more rows exist whenhas_moreis true.describe_entityguidance: prefer entity-scoped deep scans viasearch; keepdepth=1for type-wide scans.Provenance: originally contributed by Laurent Prat (#182). Live warehouse measurement on a type-wide depth-2 Counterparty scan went from ~263s of Python materialization to ~34s for the first 100-triple page.
MCP Server
Per-connection selected domain
The MCP process still binds one
MCPServerSession(shared registry, policy, HTTP pool).selected_domain_name,ontology_labels, andclass_actionsare now keyed by MCP session ID (StreamableHTTPmcp-session-id).ontobricks://status,ontobricks://stats,ontobricks://graphql-schema) resolves that session’s domain.select_domainagain.Provenance: originally contributed by Laurent Prat (#183).
Ontology, Rules, and Inference
Data Quality conditions (#186)
Delegated condition-row handlers stay bound to the latest render options. An empty first render no longer poisons later property selections, so the IF-condition property dropdown keeps the chosen attribute and guarded rules can be saved.
SWRL Run Inference
build_inference_sqlno longer treatsswrlb:*atoms as graph properties. Built-ins are excluded from triple joins and applied as SQL filters after variables are bound (for exampleobject LIKE CONCAT('%', 'active', '%')forswrlb:contains).Re-run affected active rules after upgrade; previously empty inference results for status-contains filters should now populate.
Registry, Permissions, and UI
License and metadata
GitHub issue #169 closed conflicting MIT / Apache 2.0 / Databricks License claims on first-party surfaces.
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.Documentation and operator notes
has_more, anddepth=1for broad scans.docs/contributing.md) is the canonical setup / tests / PR workflow. Repo-rootCONTRIBUTING.mdis a short pointer. README, Help Center index, development, and code-organization link there.developbranch. Active work uses a version-named branch matchingpyproject.toml(next line is0.9.0). Feature branches merge into that version branch; it ships tomaster.Upgrade notes
/triples/findanddescribe_entity: clients can keep usingtotal/entity_count. Treathas_moreas additive. Broad type-wide scans should start atdepth=1; usesearchfor entity-scoped deeper walks.mcp-ontobricksprocess can now select different domains. After LRU eviction (512 sessions) the client mustselect_domainagain. Multi-worker MCP still needs an external session store.CAN_MANAGEon the Databricks App to users who must create domains. Existing Editor/Builder assignments are enough to save work on domains they already have.swrlb:contains(and other registered string/comparison built-ins). No ontology rewrite is required if the rule text is already valid SWRL.domains.mcp_policymigration remains a prerequisite if you are still on 0.7.x. This patch does not add columns.Bug Fixes (selected)
swrlb:containsaspredicate = '…#contains'(no triples matched).ontobricks://status, stats, GraphQL schema) still sharing the default domain bucket after tool-call isolation.describe_entity//triples/findtype-wide scans timing out or returning 502s from unbounded Python triple materialization.has_moreon older find payloads defaulting unsafely in internal/public route mapping.This discussion was created from the release v0.8.1.
All reactions