Optional: a title and a description
[Node(Title = …, Description = …)] says what people call the type and what it is for. Applications
built on the model show them: the Relatude CMS, for example, when an editor chooses what kind of
content to create.
[Node(Title = "Article", Description = "A story with a picture, an intro and a body.")]
public interface IArticle : INamedNode, IDescribed { /* ... */ }Both belong to the type alone and are not inherited. Without a title, an application makes one from
the type name (IArticlePage reads "Article page"). NameProperty = nameof(Title) names the property
that holds a node's name, which an editor such as the CMS shows at the top of a node's form; a type
without one takes its base type's. Like an icon, these only change how a type is shown, and the
datamodel editor saves them as overrides on a type from compiled code.