Home

Awesome

Technical Blogs

Technical blogs around data collaboration, data management, and building collaborative applications.

Writing a Vector Database in a Week in Rust

Author: Gavin Mendel-Gleason

Date: Thursday, Jun 1, 2023

Description: Vector databases are all the rage at the moment and it's not just hype. The advance of AI, which is making use of vector embeddings, has significantly increased the buzz. This article talks about how we implemented a vector database in Rust in a week to give us semantic indexing and entity resolution using OpenAI to define our embeddings.

Schema Migration

Author: Gavin Mendel-Gleason

Date: Monday, Apr 24, 2023

Description: An article talking about change management for data and how we deal with managing changes to the data model.

The Content Revolution

Author: Gavin Mendel-Gleason

Date: Wednesday, Feb 15, 2023

Description: A look at TerminusCMS from a technical perspective and how we're trying to address what's missing in today's document management solutions.

TerminusDB Internals - Part 3: Sorting Every Sort of Thing

Author: Gavin Mendel-Gleason

Date: Tuesday, Nov 22, 2022

Description: Part 3 and final part of TerminusDB internals. This one looks at how we deal with lexical sorting with things that aren't designed to be sorted logically.

TerminusDB Internals - Part 2: Mutating the Immutable

Author: Gavin Mendel-Gleason

Date: Monday, Nov 14, 2022

Description: Part 2 of TerminusDB internals looks at how we deal with mutating immutable data by using deltas and rollups.

The Solution to The Object Relational Impedance Mismatch

Author: Gavin Mendel-Gleason

Date: Wednesday, Nov 9, 2022

Description: Have you run into Object Relational Impedance Mismatch? Gavin wrote this blog talking about his experiences overcoming it.

TerminusDB Internals - Part 1: Graph Representation

Author: Gavin Mendel-Gleason

Date: Monday, Nov 7, 2022

Description: Part 1 of a 3-part series looking into the guts of TerminusDB. The first part looks at graph representation and our efforts to make things smaller, faster, and stronger.

Implementing GraphQL in 14 Days

Author: Gavin Mendel-Gleason

Date: Friday, Oct 28, 2022

Description: This article describes how Gavin and Matthijs worked for 14 days to implement GraphQL into TerminusDB using the Juniper library.

GraphQL RDF Bridge using Star Wars Dataset in TerminusDB

Author: Gavin Mendel-Gleason

Date: Friday, Oct 14, 2022

Description: A tutorial blog using a Star Wars RDF dataset, importing it into TerminusDB and querying the data using GraphQL.

The Semantic Web Is Dead! Long Live the Semantic Web

Author: Gavin Mendel-Gleason

Date: Friday, Aug 12, 2022

Description: Following some Twitter 'discussions', this blog looks at the semantic web and why it failed. It also looks at how it could be resurrected.

The issue of blank nodes in RDF

Author: Somethingelseentirely - Discord community member

Date: Friday, Jun 24, 2022

Description: This article by TerminusDB community member Somethingelseentirely focuses on the issue of blank nodes in RDF. Blank nodes have long been an underrecognized problem in RDF with practitioners apparently comfortable with solving graph isomorphism on the fly over and over again. TerminusDB takes the approach of immediately skolemizing blank nodes to ensure that it never becomes an issue.

TerminusDB 10.1.0 - The Mule

Author: Gavin Mendel-Gleason

Date: Tuesday, Jun 14, 2022

Description: We have recently released TerminusDB v10.1 which we have labeled The Mule. We have added a number of technical features, and performance enhancements, but most of these are all pieces on the way to realising our broader vision.

Mergeable records: A data modeling approach

Author: Gavin Mendel-Gleason

Date: Friday, Mar 4, 2022

Description: What happens when you have duplicate records you want to merge? What about when you're sourcing data from the Internet and have conflicting data about something? This article looks at merge problems when you have the data, and explores how you can approach merging records from a data modeling approach.

What's in a name: URI Generation and unique names for objects

Author: Gavin Mendel-Gleason

Date: Monday, Feb 28, 2022

Description: This article looks at various identifier generation strategies, including: manual, lexical, hash, random, and value hash, and details our experiences and difficulties in our early days of working with RDF and how we have aimed to make identifier generation strategies easier and simpler within TerminusDB.

What if MongoDB and Neo4j had a baby

Author: Gavin Mendel-Gleason

Date: Sunday, Feb 13, 2022

Description: Exploring the NoSQL revolution and our thoughts about the benefits storing data as JSON documents combined with the insights that graph databases provide.

What's the Difference: JSON diff and patch

Author: Gavin Mendel-Gleason

Date: Thursday, Feb 10, 2022

Description: A look at the importance of JSON diff and patch and how it is essential for Web3 and building collaborative applications.

Many Worlds: a philosophy of data collaboration

Author: Gavin Mendel-Gleason

Date: Friday, Oct 29, 2021

Description: An analytic philosophical take on what data collaboration is and how we should think about it.

Why TerminusX

Author: Gavin Mendel-Gleason

Date: Tuesday, Sept 28, 2021

Description: An analytic philosophical take on what data collaboration is and how we should think about it.

Syntactic Versioning: What if Git worked with Programming Languages?

Author: Gavin Mendel-Gleason

Date: Sunday, Sept 26, 2021

Description: How far could we go with versioning? This article looks at how Git changed how teams collaborate, but explores taking versioning from versioning of lines of text, to syntactic versioning.