page.cavu.forge.attribute
One word in a project's own vocabulary for facts. Nothing about what can be said of an entity is predefined — a genderless species has no gender, a starship has a registry, a magic system has its own terms — so each project defines the attributes its facts use. Defining one says how its facts combine (one value at a time, or several) and whether its values point at other entities — an attribute that does is a relation (allegiance, sails under, married to), named from both sides. A fact whose attribute has no definition is read as single-valued text. Only `name` has a meaning readers rely on: it's what an entity is called.
Details · record, key tid
| Kind | record |
|---|---|
| Record key | tid |
| Authority | forge.cavu.page |
| Indexed |
Checks
Valid Lint pass{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "One word in a project's own vocabulary for facts. Nothing about what can be said of an entity is predefined — a genderless species has no gender, a starship has a registry, a magic system has its own terms — so each project defines the attributes its facts use. Defining one says how its facts combine (one value at a time, or several) and whether its values point at other entities — an attribute that does is a relation (allegiance, sails under, married to), named from both sides. A fact whose attribute has no definition is read as single-valued text. Only `name` has a meaning readers rely on: it's what an entity is called.",
"key": "tid",
"record": {
"properties": {
"createdAt": {
"format": "datetime",
"type": "string"
},
"description": {
"description": "What it means in this story, for the writer and any assistant.",
"maxGraphemes": 300,
"maxLength": 3000,
"type": "string"
},
"kinds": {
"description": "The entity kinds it's offered for. Absent: any.",
"items": {
"maxGraphemes": 64,
"maxLength": 640,
"type": "string"
},
"maxLength": 20,
"type": "array"
},
"multi": {
"description": "Several values hold at once (aliases, allegiances, relationships) instead of a later fact replacing an earlier one. Absent means false.",
"type": "boolean"
},
"name": {
"description": "The key facts use, exactly: \"species\", \"rank\", \"home world\".",
"maxGraphemes": 64,
"maxLength": 640,
"type": "string"
},
"reverse": {
"description": "For an attribute that points at entities: what the relation is called from the other side — \"sails under\" ↔ \"crew\", \"allegiance\" ↔ \"members\", \"captain\" ↔ \"captain of\". Readers use it to show a target's side of the relation and to head groups when entities are grouped by this attribute.",
"maxGraphemes": 64,
"maxLength": 640,
"type": "string"
},
"targets": {
"description": "Present when the value points at another entity (fact.target): the entity kinds it may point at, or an empty list for any. A text value may go with it (a relationship's \"wife\").",
"items": {
"maxGraphemes": 64,
"maxLength": 640,
"type": "string"
},
"maxLength": 20,
"type": "array"
}
},
"required": [
"name",
"createdAt"
],
"type": "object"
},
"type": "record"
}
},
"id": "page.cavu.forge.attribute",
"lexicon": 1
}