Home / The model / The lexicon

The lexicon

read.file.project is not a string. It is three nodes and three edges, and each of those nodes has an address, a JSON file and a page of its own. This is where they are.

What changed, and why it mattered

Until v0.3.0 this site attached the meaning to the node. A primitive was an identifier with a gloss beside it, and the gloss was the definition. That is schema-first thinking dressed in graph syntax: a self-describing node has smuggled the schema back in. Now the gloss is still there and it is no longer the definition. What a primitive means is what its edges reach.

One primitive, spelled out

NodeEdgeReads as
read.record.browsingRead every page you visit
readhas_verbthis capability has the verb read
recordacts_onthis capability acts on record
hostreachesthis capability reaches host
browserin_familythis capability is in the browser family
nohas_undo_classthis capability has the undo class no

Each of those is a link because each of those is a node. Follow host and you get every primitive that reaches that far and, more usefully, what each deployment shape says that reach class actually means. They do not agree, and the page keeps the disagreement rather than averaging it.

The words

The action half of a primitive

Ten verbs. A verb on its own is a word: what `read' means here is whatever the primitives under it reach, which is why this page is a query rather than a definition.

What a primitive acts on

Nine object classes. The same verb against a different object class is a different primitive, and a different conversation.

How far a primitive reaches

Five reach classes, and the most contested nodes in the model: what host' and tenant' MEAN is the deployment shape's to say, not the grammar's.

A grouping of primitives for a reader

Nine families. A family is an altitude device: it groups facts for a reader and carries none of its own.

2 of these words have no primitive under them: receive, revoke. In this graph they mean nothing yet. They are in the published grammar and they are kept and marked rather than dropped, because a node connected to nothing is literally meaningless and saying so is more useful than writing it a definition no edge supports. Adding a primitive that uses one would need a probe. This is a finding about the vocabulary rather than a defect in it, and it is the kind of gap that only becomes visible once the words are nodes.

The rest of the grammar

AddressWhat is there
The edge vocabulary15 edges, each a verb with a distinct inverse, a stated domain and range, and where it came from. The generic association edge is banned and there is none in this model.
The node type formulas13 node types, each a required pattern of paths rather than a label. Run against the graph on every build.
The three layersHow a vault extends this vocabulary for one customer without merging anything, and without asking permission.
The graph rulesThe five published rules and what each forces on this model.

The lexicon as JSON · The whole graph · Meaning through connectivity