TopBraid EDG 9.2 – Release Notes
What’s New in TopBraid EDG 9.2.0
9.2.0 is a substantive release on three fronts: it completes the multi-version migration to RDF 1.2 reification, brings the SHACL implementation up to date with the SHACL 1.2 working group, and rounds out a meaningful set of AI, security, and productivity improvements. The headline items below are organized by theme rather than by epic.
RDF 1.2 reification — migration completed
9.0 introduced RDF 1.2 reifiers alongside legacy long-URI reification, and 9.1 ran a deprecation cycle. With 9.2.0, the legacy form is gone. An init script automatically migrates existing workspaces to RDF 1.2 reifiers on first start of 9.2 (or later); the migration is recorded in the change history of each collection and can be undone from there. The same migration can be triggered per-collection via **Modify > Migrate to RDF 1.2 reification**, or programmatically via `tbs:migrateReifications`.
Crosswalk comments, SHACL constraint reification (`sh:deactivated`, `sh:severity`, `sh:message`), `edg:status`, and `ai-settings:publishedProperty` have all been switched to RDF 1.2 (TBS-9516, TBS-9515, TBS-8394, TBS-8392). The product configuration parameters that controlled the legacy form have been removed (TBS-8406), and Export to JSON-LD and RDF/XML now works with RDF 1.2 reified triples (TBS-9629). Downstream code — ADS scripts, SPARQL queries, integrations — that was written against the old `tosh:reificationURI` model needs to be updated before upgrading.
SHACL 1.2 — major feature catch-up
9.2.0 picks up a substantial slice of the SHACL 1.2 working group’s recent work, plus fit-and-finish items.
– New constraint components: `sh:unit` with QUDT (TBS-9465), `sh:rootClass` (TBS-9762), `sh:subsetOf` (TBS-9763), `sh:uniqueValuesFor` with UI support (TBS-9843, TBS-9848), `sh:intent` and `sh:agentInstruction` for declarative agentic-workflow hints (TBS-9677).
– `sh:targetWhere` is now usable, with better performance for common patterns (TBS-9669).
– Property pair constraints accept SHACL paths (TBS-9610), `sh:uniqueLang` updated for `dirLangString` (TBS-9575), list-based `sh:class` constraints with combined “classes” widget (TBS-8255), `sh:severity` declarable on SPARQL constraints (TBS-9947).
– Bug fix: setting “Or Class” no longer overwrites the “Class” field (TBS-8088).
AI and SPARQL
**Inferences as persistent, queryable data (TBS-8363).** The Inferences panel can now write to a dedicated, per-collection inferences graph (`<urn:asset-collection:NAME:inferences>`), with incremental updates. Inferred triples become first-class, queryable artifacts rather than something computed on demand and discarded.
**Vector search exposed as SPARQL multi-functions (TBS-9581).** New functions `ai:vectorSearchExactPhraseMatch`, `ai:vectorSearchHybrid` (with an `alpha` parameter to balance keyword vs vector), `ai:vectorSearchKeyword`, and `ai:vectorSearchVector` — each supporting `limit` and `offset` — make vector search directly scriptable from SPARQL queries and ADS. The score threshold is now applied server-side by the AI service and is also available via GraphQL (TBS-9580).
**Easier Natural Language to SPARQL setup (TBS-10169).** A new “Create Natural Language to SPARQL config” action on ontologies generates a default vector index configuration, removing manual setup steps for the NL-to-SPARQL feature.
**Branding update.** “TopBraid AI Service” is now “TQ AI Service” throughout labels and descriptions (TBS-9931).
**Python client library — Phase 2.** The package was renamed from `edg-sdk` to `tq-client-lib` (TBS-9553) and rounded out for data-science workflows: SPARQL results to a Pandas DataFrame (TBS-9554), authentication tested across multiple EDG configurations (TBS-9587), improved RAG integrations and helpers (TBS-9586), and vector-search methods exposed in the client (TBS-9582).
Security and enterprise authentication
A coordinated hardening pass across authentication, web, and Git integrations.
– **Multiple OAuth authorization servers** can now be configured in `oauth2.yaml` (TBS-9788).
– **Stricter URL whitelisting** for internal and non-routable URLs (TBS-9497).
– **Removed** the deprecated Microsoft 365 Resource Owner Password Credentials flow (TBS-9620).
– **OAuth2 and LDAP role validation** tightened (TBS-10424).
– **Spring Security 7.0.5** upgrade addressing CVE-2026-22746/22747/22748/22751/22753/22754 (TBS-10430).
– **Git integration:** path-traversal fix and better symlink handling (TBS-10486), repository URL validation (TBS-10511).
– **XSS guard** against malicious resource labels in tree nodes (TBS-9494).
– **CVE-2025-27789** (ReDoS in `@babel/runtime`) addressed (TBS-8780).
**Audit-trail correctness for Git-backed collections (TBS-9924):** Git commits now record the current user as author/email rather than the service account.
Productivity and quality of life
– Quick-search box on the RDF/OWL properties panel (TBS-7665) and on the Create Asset dialog’s type tree (TBS-9483).
– Clicking an HTML-typed property label opens the rich-text editor full-screen (TBS-5938).
– Blank nodes with an `rdf:type` (e.g. at `sh:rule`) are now clickable for navigation (TBS-9812).
– **Change History “Watch” mode (TBS-9936):** automatically tracks edits made in other browser tabs and refreshes the panel incrementally.
– **Reusable spreadsheet import templates (TBS-9986):** Import Instances from Spreadsheet can now save and reuse configurations, like the pattern-based importer.
– View shapes selector on the Form Panel shows the property count for each view (TBS-9810).
– Taxonomy Concepts panel can be filtered to locally defined concept schemes only (TBS-9811); `skos:inScheme` is visible and editable on Concept forms (TBS-9907).
Workflow and governance
– Voting workflows now support `teamwork:oneVotePerGovernanceRole` (TBS-9768).
– Transitions to **Committed** enforce a minimum editor permission on the production copy regardless of what the workflow template declares (TBS-9819).
– Voting workflow auto-transitions and current-transition handling fixed (TBS-9824, TBS-9768).
OWL and SHACL interoperability
– **Import SHACL Ontology** now accepts `.owl` files, interpreted as RDF/XML (TBS-9884).
– The noisy “missing label” constraint is bypassed for OWL types like `owl:AnnotationProperty` and downgraded from error to warning, eliminating alarming-looking errors after OWL import (TBS-9883).
– OWL2SHACL converter copies `rdfs:label` → `sh:name` and `rdfs:comment` → `sh:description`, and can clean up redundant global property axioms (TBS-9948).
Visualizations
The Conceptual Model Diagram work begun in 9.1 is now reusable as a general pattern (TBS-9672), and a new **Asset Diagram panel** (TBS-9703) renders an asset-scoped view. Create Resource dialog now allows setting `mainClass` (TBS-9833) and blocks instantiation of unsupported types (TBS-9822).
Schema, ontologies, and developer surface
– **EDG enterprise asset schema** gains a `BusinessActivityCategory` class, `activity type` and `asset-in-scope` properties on `BusinessActivity`, and `JobTitle` is reclassified as a subclass of `OrganizationalRole` (TBS-10208).
– **PROV-O with SHACL** is bundled under Ontologies/External at `<http://topbraid.org/prov>` (TBS-9855).
– **ADS:** new `graph.removeTriples()` (TBS-7587); `graph.update()` accepts SPARQL `INSERT DATA` and `DELETE DATA` (TBS-10204); new multi-function `tbs:dependingTriples` (TBS-9916).
– **Studio:** new `–shutdown-port` option for programmatic shutdown (TBS-10219).
Explorer
Revised handling of team-graph publishing to Explorer (TBS-9912), and Publishing to Explorer no longer sends saved SPARQL queries or Tasks while preserving any saved queries already on Explorer. The Publish for Explorer Users plugin now performs a license-suitability check (TBS-9925).
#Compatibility notes
– **Microsoft Graph SDK v6** upgrade for SharePoint and Excel 365 access (TBS-7743).
– **GraphQL-java 25.0** upgrade (TBS-9513).
– Auto-complete fields previously limited to `owl:Class` now return any subclass of `owl:Thing` regardless of `rdf:type` (TBS-9601) — instances of `sh:ShapeClass`, for example, are now visible.
– `tbs:createAssetCollection` and dataset import reject collection IDs that don’t match `^[a-z][a-z0-9_]*$` (TBS-9628, TBS-9719).
Upgrade notes
The RDF 1.2 reification migration runs automatically on first start, but is irreversible from inside the application other than via the change-history undo. Take a backup before upgrading. If you maintain custom ADS scripts, custom shapes, or external integrations that read or write reified statements using the deprecated long-URI form, update them ahead of the upgrade. The Python client package rename (`edg-sdk` → `tq-client-lib`) is a breaking change for anything that imports it; pin the new name in your `requirements.txt` or `pyproject.toml`. Removal of the Microsoft 365 ROPC authentication flow (TBS-9620) requires migration to a supported OAuth2 flow.
For more details see:
Change Log:
TopBraid Suite Change Log 9.2.0
Migrations and Upgrades:
Migrations
