Entity definitions
Entity definitions allow you to create a data schema, also known as a domain model.
The entity definitions contain properties on their own and sub-definitions in property definitions and relation definitions. Property and relation definitions define potential properties (type, names, and so on) and possible relations between two entities (cardinality, name, and so on).
Entity definitions store the property and relation definitions (members) in one or more member groups.
Entity definition overall structure
For explanation purposes, an entity definition is an object-like structure containing the following elements.
Name | Description |
---|---|
Id | Automatically assigned unique integer number identifying entity definition (queries, references, etc.). |
Name | Unique language-agnostic string name of the entity definition. It is case-sensitive. For example, M.Geography , M.Asset , M.Project.Block . The name can contain alphanumerical characters, underscore _ and period . characters, with a maximum length of 50 characters. Period . cannot be used as the last character or duplicity. |
ModifiedOn | Time of the last modification of the entity definition. |
ModifiedBy | ID of the user who performed the last modification. |
CreatedOn | Time of the entity definition creation. |
CreatedBy | ID of the user who performed creation. |
DisplayTemplate | Language-agnostic string display format for entities of this definition, for example, \{ClassificationName\} or \{ProductName\} - \{ProductCode\} . All property names can be used as {PropertyName} ; { and } characters can be escaped as {{ and }} respectively. |
IsManualSortingAllowed | Boolean flag that indicates if the items of this definition can be sorted manually (UI-related). |
IsIncludedInSecurityAncestorEvaluation | Boolean flag indicating if this definition is included in ancestor evaluation when calculating security permissions. |
IsTaxonomyItemDefinition | Boolean flag indicating that entities of this definition are taxonomy items; they can be used as a search facet. |
IsPathEnabledDefinition | Boolean flag indicating that entities of this definition can be part of the so-called paths, which are technically UI breadcrumbs. Example use cases are taxonomy entity definitions or M.Project block entity definitions. |
IsSystemOwned | Indicates that the entity definition is system-owned and cannot be updated. |
Labels | Collection of the language culture-specific non-empty definition labels. |
MemberGroups | Collection of member groups. |
Note
This is not an exhaustive list.
Member groups
A Member group groups together multiple members (relation or property definitions) for logical grouping, representation (API, UI), and access level. An example is the M.Asset entity definition with member groups like System, General, Content, ReleaseInformation.
The Member group contains the following elements.
Name | Description |
---|---|
Name | Language-agnostic, case-sensitive. The name can contain alphanumerical characters, underscore _ and period . characters, with a maximum length of 256 characters. Period . cannot be used as the last character or duplicity. |
MemberDefinitions | |
IsSystemOwned | Indicates that the member group is owned by the system and cannot be updated by regular users. |
IsSecured | Indicates that the read-write access to this member group is restricted. |
Labels | Collection of the language culture-specific group labels. |
Member property definition
Property definitions define the entity properties holding language-agnostic or language-aware primitive value types (string, number) or collections of primitive value types. For more information, see Adding a property.
Definition limitations
Due to the internal restrictions of search services, there are limitations on which property definitions you can create for a given entity definition. For a single entity definition, you cannot create two property definitions that have the same name but differ in any of the following properties:
- type
- multi-value flag
- multi-language flag
This includes any historical property definitions that were deleted in the meantime. Properties of each entity definition are distinct and can have different data types, even when they have the same name.
Can we improve this article ? Provide feedback