The building blocks
Everything in a house is one of four building blocks. This is the house's own account; you
get it in full from overview under model_documentation.
| Block | What it is |
|---|---|
| Thing | a node. Kinds: Text (a literal string), Identity (an individual, a document, a hierarchy: an identity with no content of its own), Form (a record schema defined at runtime), FormedThing (a value of a form), Versioned (a hull that chains the versions of a slot), Binary (bytes identified by their hash), TimeNode and GeoCell (nodes of the calendar and of the spatial grid) |
| Link | an edge that is at the same time a fact. Facts are retracted, not deleted one by one; a link goes only when a thing it belongs to is erased (erase). Skills show active facts |
| Chain | an ordered list as a value |
| Tree | a canonical set as a value; named anchors point at tree roots to form collections such as "Concepts", "Forms" or the instances of an aspect |
Three things to keep apart
- Values are their content. The text "The bridge was finished in 1887." is one node,
however often you store it;
store_textanswersis_new: falsethe second time. The same holds for formed values: equal form and equal values are the same node. - Individuals have an identity of their own. Two calls of
create_personwith the same name create two people, on purpose: names are labels, and one name often covers several individuals. Creating never searches. - Facts are links. "This claim is stated in that source" is a link you assert and can retract. A retracted fact keeps its content, and asserting it again reactivates it.
IDs
IDs are opaque Base64 strings. Pass them back exactly as received. Every answer names a
node as a triple of id, kind and label, so you can decide what to open next without a
second call.
The closed vocabulary of standard links
Besides typed links of your own (link forms), there are nine standard meanings, shared by
every house: Tag, Title, Index, Identify, Answer, DependOn, Promote,
Previous, PartOf. The reading rule is always the same: the link is a statement about
its From end, and To is the referent. PartOf reads "To contains From"; Identify is where
identifiers from foreign systems hang. assert_link writes them.
Time is order, not timestamps
The graph has no modification timestamps. "Current" means position in a version chain, not
a date. When something happened is a fact of its own, asserted with assert_time.
Words you will meet
The skill names and their descriptions are English. Part of the built-in vocabulary is German, and one German word runs through all descriptions:
| Word | Meaning |
|---|---|
| fassung | a version of a document or of a versioned slot |
| Bestand | a holding: a body of material that belongs together |
| Verdichtung | a digest: a condensed description of a document or a group |
| Gespräch | a conversation |
| Ort, Organisation | place, organisation (built-in aspects beside Person) |
| Planung, Vorlage, Agenda | planning, template, agenda (the plan vocabulary) |
| Helfer, Sprecher | helper, speaker |
Go deeper
- Forms, aspects and concepts: how to define your own kinds
- Evidence and provenance: notes, open questions, what carries a claim
- Finding things: the ways to get back what you stored
- A memory you can shape