Model: Relation Type

A relation type defines the characteristics that are common to all relation instances. In particular, a relation type defines the entity type of the outbound entity instance and the entity type of the inbound entity instance.

Like entity types, it is also defined which components make up the relation type and which additional properties it contains.

As with entity types, extensions to the relation type can be defined, such as the appearance of edges in a graph or the appearance of a connector of this type in the flow editor.

Data Model

FieldDataTypeDescription
Outbound TypeEntityTypeThe entity type of the outbound entity instance
NameStringThe name of the relation type
Full NameStringThe full name of the relation type
Inbound TypeEntityTypeThe entity type of the inbound entity instance
NamespaceStringThe namespace
DescriptionStringTextual description of the entity type
ComponentsVec<Component>The components which composes the relation type. These provides additional properties
PropertiesVec<Property Type>The additional properties on relation instances
ExtensionsVec<Extension>A list of extensions which contains additional information

Graph

graph LR;
    A(Outbound Entity Type)===>|"Relation Type"|B(Inbound Entity Type);

ER Diagram

erDiagram
    Relation-Type {
        string name
        string instanceTypeName
        string namespace
        string description
    }
    Entity-Type {
        string name
        string namespace
        string description
    }
    Relation-Instance {
        string uuid
    }
    Extension {
        string name
        JSON extension
    }
    Component {
        string name
        string description
    }
    Property-Type {
        string name
        string description
        enum DataType
        enum SocketType
    }
    Relation-Type ||--}o Component : composes
    Relation-Type o{--|| Entity-Type : outbound
    Relation-Type o{--|| Entity-Type : inbound
    Entity-Type ||--}o Component : composes
    Relation-Type ||--}o Property-Type : defines
    Entity-Type ||--}o Property-Type : defines
    Relation-Type ||--}o Property-Type : defines
    Component ||--}o Property-Type : defines
    Relation-Type ||--}o Extension : has
    Entity-Type ||--}o Extension : has
    Property-Type ||--}o Extension : has
    Relation-Instance o{--|| Relation-Type : is-a

GraphQL