Guidebook/Act 2 — The Connections

Chapter 04

First claims

Songs are atoms; taste is triples. Maya connects Kerala to Bonobo and to a genre using verbs from the shared registry — and discovers her claims are legible to apps that have never heard of Crate.

Maya
Writes her first subject—verb→object claims
You
Build triples with buildTripleByName and the enshrined verbs
Teaches
triples · predicates · @0xintuition/predicates
Maya sits cross-legged on a wood floor with a grid of blank record sleeves laid out around her.

The crate has seven atoms now, and Maya notices it's a strange kind of quiet in there.

Kerala is an atom. Bonobo is an atom. Downtempo is an atom. And nothing in the crate knows they have anything to do with each other. The single most important fact in Maya's musical life — Bonobo made Kerala — exists in exactly one place: her head. Which is, she reflects, the exact storage medium that fifteen years of platforms failed to back up.

Subject, verb, object#

In the graph, a relationship is a triple: subject — predicate → object. Three atoms, one claim.

Kerala createdBy Bonobo

And here's the move that makes this bigger than a database row. The verb is not a string Maya types. It comes from a shared registry133 verbs, curated, categorized, argued over in the open — and every verb in the registry is itself an atom with a deterministic ID:

ts
import { getPredicateRecord } from "@0xintuition/predicates";

getPredicateRecord("createdBy");
// { key: "createdBy", name: "created by", status: "enshrined",
//   category: "Authorship/Contribution", ... }
// its atom ID: 0x3df2eaf3b9bdaf2018bc5d45fa770c470ab5067b5afdc9e3097151f9c87d92a4

When Maya says createdBy and a stranger's app in another hemisphere says createdBy, they are not using similar words. They are referencing the same record, down to the byte. That's what makes a claim written in Crate legible to every app that has never heard of Crate.

A close-up still-life evoking first subject-verb-object connections between records.

A verb earns its place#

The registry is curated in two tiers, and the difference matters:

schema.org defines thousands of properties that could relate two things. Adopting all of them would make the vocabulary meaningless. So verbs earn their way in — deliberately, in the open, one decided meaning at a time. Keep this in your pocket; it becomes personal for Maya three chapters from now.

First claims#

crate/first-claims.ts
import { buildTriple } from "@0xintuition/primitives";

const kerala = "0x6fa0de44d28a6d36067ea5e1db51d143d831c859357b35deab4b5c0f24305b08";
const bonobo = "0x6eef2298f1fa180827e8b3becfe9b96c764370b0816161fc59105f613f2aef9c";

const claim = buildTriple(kerala, "createdBy", bonobo);
// claim.value.id → 0xa81fc2816344c7d06e177c2a10e09dc1cc5a639422b0e7831c8d46c96b47cb2c

The claim itself gets a deterministic ID, derived from its three parts. Anyone who asserts Kerala, created by Bonobo — in any app, forever — lands on 0xa81f…cb2c. Claims converge exactly the way atoms do.

She files Kerala under its genre while she's here:

ts
buildTriple(kerala, "hasCategory", downtempo);
// → 0x4a2ecb74958b93f08af45ada558def9c9826cc46cddd75ab98b7083ec1127eb0

And then, because she is Maya, she tries to cheat:

ts
buildTriple(kerala, "wroteTheSongIGuess", bonobo);
// { success: false, errors: [ 'Unknown predicate key "wroteTheSongIGuess".' ] }

The registry declines. Politely, deterministically, and in a way Maya finds she doesn't resent: the refusal is the feature. A graph where anyone can invent verbs is a graph where nothing means anything twice.

Where this is going#

Maya's taste is finally data. Not rows locked in a schema she'll regret — claims, each one portable, each one legible to apps that don't exist yet.

But Maya didn't grieve songs in 2015. Rdio didn't lose her tracks; it lost her playlists — the order, the curation, the Tuesday-night-rain sequencing. A collection was never a pile of things. It's things, arranged. Next chapter: the "Heard Live" list comes back from the dead, and it turns out a playlist was a graph the whole time.