WikiData Graph and Graphist Flutter Package

This article is NOT generated by LLMs or AI tools.

Have you ever wondered how different concepts across the vast expanse of human knowledge are connected? For instance, what is the shortest path between a biological concept like COVID-19 and a medical condition like lung cancer? The answer isn’t found in a linear list or a traditional table, but in a graph. Quite a while ago, I worked on WikiData Graph, an application that visualizes these connections using a toolset I’ve developed called Graphist. In this post, I want to take you through the program itself, the architecture behind it, and how Graphist makes it possible to bring graph-based data to life within a Flutter application.

Continue reading “WikiData Graph and Graphist Flutter Package”

Hybrid Search for SPARQL with Apache Jena and Fuseki

illustration of a neutron star s magnetic field

This article is NOT generated by LLMs or AI tools.

To kick off my new “All Things Graph” series 😊 I had so many topics that it was quite hard to choose where to start, but in the end, I thought what topic better than something related to good old RDF and graph databases created for dealing with RDFs. Apache Jena is one of my all-time favorite graph databases. Especially using its Fuseki server makes deploying a backend for your graph applications a cakewalk. However, one thing that has always been missing from it was “semantic” search (also known as vector search, which also helps avoid confusion with semantic reasoning as it relates to graphs). With the advent of LLMs and RAG (Retrieval Augmented Generation), having more powerful search systems, especially hybrid search has become a crucial decision factor for choosing the right storage and retrieval system. So, in this post, I will walk you through what hybrid search is and how I enabled Apache Jena to provide me with a hybrid search interface for my RAG applications.

Continue reading “Hybrid Search for SPARQL with Apache Jena and Fuseki”

Introducing Graph Series

green grass field with trees

This article is NOT generated by LLMs or AI tools.

Years ago, when I first read The Master and His Emissary by Iain McGilchrist, I wasn’t expecting it to totally reshape my thinking about how we define data, how we store it, how we retrieve and query it and so on. Perhaps I had forgotten that I was (still am) a software engineer. After all I have been taking all my learnings from arts, sports, and other non engineering fields to engineering and benefitting from this knowledge transfer across domains quite a bit. This was a time when I had already published a couple of books and had worked on a few others as technical reviewer/editor and my blogging days were seemingly coming to an end. Not to mention my private life was also getting busier and busier, so there was not much time to blog either. For this and many other reasons, I wasn’t really getting enough time to blog about how my thinking about data was changed and share my learnings. Which brings me to the title of this post, and graphs in general.

Continue reading “Introducing Graph Series”