Relatude Help

Optional: stable type ids

Without an id, the engine derives one from the type's full name. Renaming the type or moving it to another namespace then gives it a new identity, and the engine sees a new type with no data. Pin [Node(Id = …)] once, at the start of the project, and the type can be renamed and moved safely. The same goes for [Relation(Id = …)].

[Node(
    Id = "6a1d9f2e-0b41-4c8a-9d7b-3f2c5e8a1b40",
    TextIndex = BoolValue.True,        // include in the BM25 index
    SemanticIndex = BoolValue.False    // skip the vector index
)]
public interface IOrganizer { /* ... */ }

A property's id is derived from its declaring type's id and its own name, so a pinned type id keeps the property ids too. To rename a property, pin its id with the Id of its attribute.

BoolValue has three values: Default (take it from the base types, else the database default), True and False. TextIndex, SemanticIndex and InstantTextIndexing are inherited by derived types (§3.1). MinNoInstances and MaxNoInstances limit how many nodes of the type may exist (see Validation happens on write).