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
NamespaceStringThe namespace
NameStringThe name of the relation type
Inbound TypeEntityTypeThe entity type of the inbound entity instance
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 namespace
        string name
    }
    Entity-Type {
        string namespace
        string name
    }
    Relation-Instance {
        string instanceId
    }
    Extension {
        string namespace
        string name
        JSON extension
    }
    Component {
        string namespace
        string name
    }
    Property-Type {
        string namespace
        string name
        enum DataType
        enum SocketType
        enum Mutability
    }
    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

JSON Schema

JSON Schema

http://hostname:port/types/relations/schema