Mike's Notes
An open-source version of Virtuoso will be installed in the data centre to explore possibilities. Kingsley Uyi Idehen's articles are all fascinating. I first came across him via the Ontology Forum.
The original post on LinkedIn has more links.
Resources
- https://www.linkedin.com/pulse/realworld-ai-coding-agent-exercise-kingsley-uyi-idehen-pxdic/
- http://www.openlinksw.com/
- https://www.openlinksw.com/data/screencasts/new-fct-demo-1.mp4
- https://linkeddata.uriburner.com/fct/facet.vsp
References
- Reference
Repository
- Home > Ajabbi Research > Library >
- Home > Handbook >
Last Updated
08/04/2026
Realworld AI Coding Agent Exercise
Founder & CEO at OpenLink Software | Driving GenAI-Based AI Agents | Harmonising Disparate Data Spaces (Databases, Knowledge Bases/Graphs, and File System Documents).
This post explains how I used Claude Code (Pro level, powered by Opus 4.5) and Mistral Vibe (whenever Claude Code rate limits kicked in) to modernize the aesthetics of our uniquely powerful faceted search and browsing interface for knowledge graph exploration—essentially giving the UI around the core engine a facelift.
At OpenLink Software, we strongly believe that LLM-powered AI Agents are exactly the right tools for tackling this long-standing challenge—provided the RDF-based knowledge graph runs on a platform that isn’t constrained by dataset size. In other words, one that scales naturally in linear fashion—such as our Virtuoso multi-model platform for managing data spaces spanning databases, knowledge bases, filesystems, and APIs.
Situation Analysis
As with many aspects of RDF (Resource Description Framework), challenges in tooling creation often stem from general misunderstandings about the framework itself. RDF-based knowledge graph representation is one such area, and linear visualization is another.
In the case of linear visualization, the goal is to present the description of an entity of interest (the subject) along with its associated attributes—i.e., predicate–object pairings that express attribute names and values.
Compounding the difficulty is the fact that, although faceted search UI/UX patterns have long served as the conceptual foundation, implementing them at the scale typical of RDF-based knowledge graphs remains extremely challenging. This challenge is further amplified by the complexity of delivering such interfaces in HTML leveraging CSS and JavaScript.
Virtuoso's Faceted Search & Browsing System Workings
Fundamentally, this system allows you to perform text search, attribute-name lookup, or entity-identifier–based exploration across one or more knowledge graphs hosted in a Virtuoso instance. It provides a property-sheet–style interface that presents entities (subjects) alongside their associated attributes (relationship predicates) and values (objects).
Thanks to Linked Data principles, hyperlink-based denotation of entities, attributes, and values (optionally) creates a Web of data. This enables the same “click and explore” experience—also known as the follow-your-nose exploration pattern—that users enjoy when interacting with web pages through a browser.
Old System
Here are screenshots depicting the UI/UX for a simple search sequence along the following lines:
- Text Search Input: Virtuoso.
- Initial matches presented in a list, sorted by text score and entity rank (think: page rank for data).
- Add filters by attributes such as "type" (rdf:type) and "name" (schema:name) where the name value is "Virtuoso".
- Click on item from the result to obtain a description of Virtuoso via the entity description property sheet based page.
New System
Here's the same demonstration sequence, but experienced via the revamped UI/UX.
- Text Search Input: Virtuoso.
- Initial matches presented in a list, sorted by text score and entity rank (think: page rank for data).
- Add filters by attributes such as "type" (rdf:type) and "name" (schema:name) where the name value is "Virtuoso".
- Click on item from the result to obtain a description of Virtuoso via the entity description property sheet based page.
Additional Notable Faceted Search & Browsing Features
These include the following:
- Handling the fact that lots of attributes (thousands+) could be associated with an entity sources for a massive collection of source knowledge graphs during the filtering stage via a sticky scrollable paging control
- Handling the fact that a select entity description can also comprise lots of attributes (thousands+) via a stickly scrollable paging control
- Spreadsheet-like table (with resizable, moveable, and sort enabling columns) for handling query results from filtering or when presenting entity descriptions
- Ability to export the description of an entity in a variety of formats (JSON-LD, RDF-Turtle, RDF-XML, N-Triples, RDF/JSON, CSV, etc)
- Permalinking for sharing interaction state e.g., a filter page or entity description page
- Ability to reveal underling SPARQL query that drives filtering
- Metadata that provides information on source named graph(s) from which attributes and values have been sourced for an entity description by way of entity (subject) or value (object) role in the source graph triples
- Metadata that automatically identifies explicit (via owl:sameAs attribute values) coreferences (via values of attributes that are uniquely identifying i.e., inverse-functional e.g., email addresses or any other attribute with the inverse-functional designation in a loaded ontology)
- Settings for enabling or disabling reasoning and inference informed by built-in or custom inference rules
The Refactoring Process
I achieved this very difficult refactoring task, alongside my other daily duties, by prompting Claude Code and Mistral. Claude Code (using the Opus 4.5 model) handled most of the heavy refactoring and planning work through the initial working ports.
I brought Mistral on board once rate limits kicked in, which became an important part of the experiment—namely, determining what’s possible with the Pro edition of Claude Code.
That said, Mistral also impressed me to the point where I see it as the closest rival to Claude Code in the battle for coding agent market dominance. Its CLI aesthetics and assistance mode are top-notch.
Live Demonstration Instances
URIBurner
This is a live Virtuoso instance since 2008 functioning as a Linked Data utility showcase and bridge to the massive Linked Open Data Cloud Knowledge Graph collective.
- Text Search: Virtuoso
- Entity Types associated with text pattern: Virtuoso
- Attribute Filtering on Type, Name, and Value: Virtuoso Universal Server (Row Store & Cluster Server Edition)
- Selected Entity Description Page
Conclusion
Software development is evolving before our eyes. True power now comes from pairing capable AI Agents with human expertise—letting judgment guide automation, producing dependable outcomes, and delivering real-world value. The age of AI isn’t just about smarter tools; it’s about amplifying what humans do best.








No comments:
Post a Comment