A dumbed-down semantic triple taxonomy

Jul 9, 2025, 3:03 AM
post

Been working with semantic triples and entity-relationship models recently, and have a lot of feelings about what a kind of meta-taxonomy or type system might look like.

I feel like there's so much in common between RDF entity definitions and packages/namespaces and types (both abstract and concrete). And there are probably some really interesting extensions of that to multiple dispatch, where a package defines a function that means something semantically, and its inputs also mean something semantically in a way that can enable really transparent use of e.g. a predict function of a library that takes a model and a particular input. I just see a lot of echoes between a bunch of concepts here.

Despite personally wishing for some kind of elegant, strongly-typed unicorn, it seems to me that, in practice, triples often amount to throwing unvalidated strings into three columns of a table (subject, predicate, object or whatever) and calling it a day.

(I tend to think of "predicate" and "relationship" somewhat interchangeably—maybe that's a problem.)

(This is also all about representing triples in a regular-degular relational database, because that's all my brain is good for these days.)

But I noticed at least one pattern where we offload all the things we know about an object/entity—including "metadata"—into a few fairly consistent classes of triple based on predicate/relationship type. All it requires is that entities are represented by some kind of unique identifier that we can find across a bunch of different tables/triplet stores/whatever. Here are the categorizations: