Toward a Compositional Web of Meaning
The original web promised structured knowledge—but what we got was a mess of HTML, JavaScript hacks, and data silos. Schema.org tried to clean it up with shared vocabularies for Person
, Event
, Place
, and more. But we rarely treat those vocabularies as more than a sprinkle of SEO dust.
What if we took them seriously? What if we modeled them compositionally?
Schema.org as a Category
Category theory gives us the tools. Think of schema.org like this:
- Each
@type
is an object in a category. - Each property (
location
,memberOf
,startDate
) is a morphism. - Subclass relationships (
MusicEvent → Event
) are inclusion morphisms. - You can compose properties like functions:
nginxCopyEditPerson → Organization → Place
Now your schema becomes a diagram, not just a dictionary. Your data becomes an instance of a presheaf over this category—structured, queryable, and introspectable.
Functors, Not Formats
This reframes structured data:
- It’s not just JSON-LD or RDF.
- It’s not about serialization.
- It’s about mappings of meaning—functors from schema to sets.
You can validate with commutative diagrams. You can infer with composition. You can transform safely with categorical structure.
From Markup to Meaning
Once you go categorical:
- Your templates become morphisms.
- Your API responses are natural transformations.
- Your app is a functor from semantic space to interaction space.
This isn’t hand-waving—it’s how we start modeling a semantic web that can compose.
Why Now?
Because we’re building decentralized systems. Because LLMs want structured prompts. Because web3 needs shared semantics. Because we finally care again about meaning.
And because we have the math.