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).