Released 18 October 2026

What changed in 0.59.10

Reasoning now does what its screen says: on Auto, what you load or insert is reasoned about as it arrives; on Manual, every change marks the database stale; and a key of several properties needs all of them to match. Ontologies, shapes, queries and imports keep what you asked for, and articles and guides now live on the website.

24commits since production
8new capabilities
43defects fixed

Reasoning

Fixed

A key of several properties needs every property to match

Reasoning: a key of several properties (Model ▸ Editor ▸ class ▸ Key Properties) now needs every property to match before two records are concluded to be the same.

Model ▸ Editor ▸ class ▸ Key Properties
Fixed

On Auto, what you load is reasoned about as it loads

Reasoning on Auto: imports, Integrate loads and generated test data are reasoned about as they load, over just the new facts; before, some got no inferences at all.

Config ▸ IMPORT DATA · Integrate · Model ▸ Generate
New

On Auto, a SPARQL insert is reasoned about at once

Reasoning on Auto: a SPARQL insert is reasoned about as it is made, instead of starting a full materialization in the background.

Query ▸ Editor
Fixed

A rule change updates its results on Auto

Query ▸ Rules: saving, editing or deleting an inference rule now updates its results on Auto; before, nothing ran until the next full materialization.

Query ▸ Rules
Fixed

On Manual, every change marks the database stale

Reasoning on Manual: an Integrate load, generated test data or a rule change now marks the database stale, as every other change already did.

Config ▸ REASONER
Fixed

Auto says when it is stale, and catches up when switched on

Config ▸ REASONER: a failed background run on Auto now shows as stale, and switching a stale database to Auto brings it up to date instead of calling it current.

Config ▸ REASONER
Fixed

A step that stops at its round limit says so

Reasoning: a step that stops at its round limit now says so — when a database opens, in Config ▸ REASONER ▸ Ontology Only and in a full run.

Config ▸ REASONER ▸ Ontology Only
New

The ontology and your rules are applied together

Reasoning: the ontology and your inference rules are applied together until neither adds anything, so a rule's result can feed the ontology's.

Config ▸ REASONER
Fixed

Two modes: Auto and Manual

Config ▸ REASONER offers two modes, Auto and Manual; Batch, which did exactly what Manual does, is gone, and a database set to it opens in Manual.

Config ▸ REASONER
Fixed

The REASONER tab says what each mode does

Config ▸ REASONER: the mode chip and captions say what Auto and Manual really do, and when a large database is held at Manual.

Config ▸ REASONER
Fixed

Ontology Only needs the Editor role, and its results are inferences

Config ▸ REASONER ▸ Ontology Only needs the Editor role, and what it derives is marked as inferred, so Clear Inferred removes it.

Config ▸ REASONER ▸ Ontology Only

Ontologies and shapes

Fixed

Equivalent classes are no longer reported as unsatisfiable

Model ▸ Editor ▸ DL Consistency Check no longer reports classes you defined as equivalent as unsatisfiable.

Model ▸ Editor ▸ DL Consistency Check
Fixed

Generated shapes keep every constraint

Model ▸ Shapes ▸ GENERATE FROM OWL saves every constraint it builds (one-of lists, self-restrictions, union ranges, patterns), and Warning and Info rules report a missing value.

Model ▸ Shapes ▸ GENERATE FROM OWL
Fixed

A nested unsupported constraint is refused

Model ▸ Shapes: a shapes file with an unsupported constraint inside a nested shape is refused, instead of reporting the data as valid.

Model ▸ Shapes
Fixed

Promote and Roll back update the database

Model ▸ Ontologies: Promote (Review Workflow) and Roll back (Version History) now update the database, not only the file.

Model ▸ Ontologies
Fixed

A commit no longer duplicates restrictions

Model ▸ Editor ▸ COMMIT no longer adds another copy of each restriction to the database, and a deleted all-disjoint group is removed from it.

Model ▸ Editor ▸ COMMIT
Fixed

What you type in a new ontology or data property is kept

Model ▸ Ontologies ▸ Create Ontology keeps the Language, Creator and Created you type, and a new data property keeps its Functional tick.

Model ▸ Ontologies ▸ Create Ontology
Fixed

Edit RDF never overwrites the committed file

Model ▸ Ontologies ▸ card ⋮ ▸ Edit RDF: a failed draft save stops with a message instead of overwriting the committed file; a reference ontology opens view-only.

Model ▸ Ontologies ▸ card ⋮ ▸ Edit RDF

Explore

Fixed

Traverse follows ontology changes at once

Explore ▸ Traverse shows the new connections at once after an ontology is committed or deleted, or a reference is added or removed.

Explore ▸ Traverse
New

The longest Traverse chain is a setting

Explore ▸ Traverse: the longest chain is a setting, Config ▸ DISPLAY ▸ Max Traverse Hops, 5 by default; before, it was fixed at five.

Config ▸ DISPLAY ▸ Max Traverse Hops
Fixed

Classes keep one order

Explore ▸ Traverse lists an ontology's classes in the same order after every restart.

Explore ▸ Traverse
Fixed

A draft-only class shows a dash, not 0

Explore ▸ Browse: a class that only a draft ontology declares shows "—" instead of a count of 0.

Explore ▸ Browse
Fixed

One set of graph colours

Graphs in Explore, Query and Traverse results use the same 12 colour pairs as Visualize.

Explore · Query · Traverse

Query

Fixed

Cancel is not offered on a running update

Query ▸ Editor: while a DELETE or INSERT runs, Cancel is no longer offered — it could not stop the change, yet said the query was cancelled.

Query ▸ Editor
Fixed

Deleting a query removes it from the database

Query ▸ Library: deleting a query also removes it from the database, so a query over the saved queries no longer finds it.

Query ▸ Library
Fixed

An empty value shows as empty

Query ▸ MCP Server: an empty value shows as empty, never as the word "None", on every kind of database.

Query ▸ MCP Server

Databases and importing

Fixed

Creating a database on an existing remote repository works again

Connect ▸ NEW DATABASE: creating a database on an existing repository of a remote server works again.

Connect ▸ NEW DATABASE
Fixed

Errors read as sentences

Error messages across the app show the server's reason as a sentence, never "[object Object]".

Every screen
Fixed

No stale "Not authenticated" after logging in

Connect ▸ Databases: after you log in again, the old "Not authenticated" message is gone.

Connect ▸ Databases
Fixed

Each file's unnamed nodes stay its own

Importing several files no longer merges two unnamed nodes that happen to share a label in different files.

Config ▸ IMPORT DATA · Connect ▸ NEW DATABASE
Fixed

"Compute statistics after import" does what it says

Connect ▸ NEW DATABASE ▸ Import Data: "Compute statistics after import" does what it says; before, every file was followed by a statistics run.

Connect ▸ NEW DATABASE ▸ Import Data
New

An import says when the file held inferences

Importing a file exported with inferences says how many it held and offers Materialize Now, since they arrive as stated facts.

Config ▸ IMPORT DATA
Fixed

One line in place of two tick-boxes on Auto

Config ▸ IMPORT DATA on Auto shows one line in place of the two tick-boxes that decided nothing there.

Config ▸ IMPORT DATA
Fixed

A read-only graph is really read-only

Config ▸ NAMED GRAPHS: a read-only graph has no Drop, and imports and ontology changes into it are refused.

Config ▸ NAMED GRAPHS
Fixed

The SHACL tab shows the database's setting

Config ▸ SHACL ▸ Validation Mode shows the database's own setting, not a copy kept in this browser.

Config ▸ SHACL ▸ Validation Mode
Fixed

A local database's namespace graph is filled

A local database's namespace graph is no longer empty, and every Config ▸ NAMESPACES save says when that graph could not be updated.

Config ▸ NAMESPACES
Fixed

No "Not Materialized" where there is nothing to reason over

Connect: a database with no ontology and no inference rules no longer shows "Not Materialized" or offers to materialize.

Connect ▸ Databases
New

Statistics name the phase they are on

Monitor ▸ Activity: a statistics refresh names the phase it is on.

Monitor ▸ Activity
Fixed

Private addresses are refused on the cloud

On the cloud, a remote server on a private or local address is refused, and the address box no longer suggests a local one.

Connect ▸ NEW DATABASE
Fixed

One name for Configure, and a correct union caption

The header's Configure tab is called Configure in its tooltip too, and Config ▸ NAMED GRAPHS describes the union setting correctly.

Configure · Config ▸ NAMED GRAPHS

AI and privacy

Fixed

Models that refuse a temperature work

Configure ▸ Settings ▸ AI / LLM Provider: the Temperature box starts empty and sends nothing, so models that refuse a temperature now work; a refusal says to clear it.

Configure ▸ Settings ▸ AI / LLM Provider
Fixed

Chats on your own key are not stored unless you choose

AI chats on your own key are no longer stored unless you switch it on; that choice and your interface settings now survive updates of the website.

Configure ▸ Settings ▸ AI / LLM Provider ▸ AI Privacy & Data
Fixed

The AI notice gives the real number of days

The AI notice shows how many days chats are kept, as set in Admin ▸ Retention, and is shown once more for you to accept.

AI Assistant

Administration

Fixed

Retention works

Admin ▸ Retention: the limits apply by themselves, Purge Now works and offers a download first, and one download saves every store.

Admin ▸ Retention
New

Users appear as codes

Admin dashboards and downloads show each user as a code, never a username.

Admin dashboards and downloads
Fixed

The Refresh dialog says what a refresh does

Admin ▸ Templates ▸ Refresh Databases: the dialog and the notification say what a refresh keeps and resets, shape files included.

Admin ▸ Templates ▸ Refresh Databases
New

Generate reads a set number of rows from each file

Admin ▸ Server: a new setting, Rows Read From Each Spreadsheet or CSV, sets how many rows Model ▸ Generate reads from each file — 100 unless changed.

Admin ▸ Server ▸ Upload Limits & Quotas · Model ▸ Generate
Fixed

The settings dialog stays open after a save

Admin ▸ Databases: the settings dialog stays open on its tab after a save.

Admin ▸ Databases
Fixed

Notifications name their user

Notifications name the user they came from, and a stale-statistics notice for one user's database no longer silences another user's.

Notifications

Learn and the website

New

Articles, guides and the gallery live on the website

Learn ▸ Articles, Learning and Gallery open the website in a new tab; its guides now live under rdf-studio.com/learning, and old links still work.

Learn · rdf-studio.com/learning
Fixed

Guides, the front page and the manuals match the app

Guides, the front page and both manuals were checked line by line against the app and corrected.

rdf-studio.com · Learn ▸ Manual