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.