Skip to main content
Version: 2025-08

The Meta Model

Introduction

The platform is built on the idea that data consistancy can only be guarantied, when the data model is built on a solid meta-model.

In contrast to other Low Code / No Code platforms based on RDBMS (Relational Database Management System), the data model does not neccessarily prescribe the Database Scheme because this platform supports also NoSQL Databases. It's the task of the Core the store and read data in different database types. Therefore it is also very important that data consistancy is given.

The Entity

tip

Everything in the System is in the end an Entity!

Examples:

  • Type-Level: Entity User of Type EntityType
  • Data-Level: Entity christian of Type User

Every Entity in the plattform has at least the following System Properties:

{
"id": --> UUID,
"type_id": --> ID of the Entitiy Type
...
}
  • id: UUID set by the system on creation
  • type_id: ID of the Entity Type of the Entity

as well as it's metadata

{   
"id": --> UUID,
"type_id": --> ID of the Entitiy Type,
"metadata": {
"created_by": "",
"created_on": "",
...
}
...
}
  • created_by: User who created the Entity.
  • created_on: Date of creation.

Basic Elements

The three basic elements in the platform are

  • Entities: There are things, which describe the world
  • Properties: The things can further be described by properties (attributes)
  • Relationships: The things have relationships to each other

Because these three Basic Elements are a little bit different from each other, they are of different Types, which will be described in the following chapters. In short: There are Entity Types, Property Types and Relationship Type - whereas the Property Type and the Relationship Type is of type Entity Type itself and so we've come full circle.

info

The Meta Model is a special, most abstract part of the Data Model, is shipped with the platform and cannot be changed by the customer. It is the foundation for how to model the Data Model. Of course the Data Model can be extended by the customer.

Entity Type

The Entity Type describes a thing. Properties of an Entity Type are:

{
...
"properties": {
"name": "",
"description": "",
"label": ""
}
...
}
  • name: A unique name consisting of [azAZ0-9_]
  • description: A human readable description of the Entity Type.
  • label: Usually a human readable version of the name, used in the UI

Relationships of an Entity Type are:

{   
...
"relationships": {
"has_rel": [...],
"has_prop": [...]
}
...
}
tip

If you already had in mind, that the properties are modeled by Property Types and the relationships by Relationship Types you're on the right track!

Property Type

The Entity Property Type (PT) is of course of Type ET. The PT is the description of a Property and can be reused. A PT is defined with the following properties and relationships:

{
...
"relationships": {
"has_prop": [
{"target": --> name PropertyType ID}
{"target": --> label PropertyType ID}
{"target": --> description PropertyType ID}
{"target": --> unique PropertyType ID}
{"target": --> required PropertyType ID}
{"target": --> regex (for String Properties) PropertyType ID }
],
...
}
...
}

Relationship Type

The Entity Relationship Type is also of type ET. It defines how relationship look like. Typically a relationship has two ends, a Source and a Target.

{
...
"relationships": {
"has_prop": [
{"target": --> source PropertyType ID}
{"target": --> target PropertyType ID}
]
}
...
}

API automatisms

tip

Every Entity Type is instantly available in the Rest-API and creates an endpoint for its instances:

GET    <URL>/<TYPE_NAME>            --> Get all elements by type
GET <URL>/<TYPE_NAME>/<ID> --> Get a certain element by type <TYPE_NAME> and id <ID>
POST <URL>/<TYPE_NAME> --> Submit a new element of type <TYPE_NAME>
PUT <URL>/<TYPE_NAME>/<ID> --> Update a certain element with <ID> of type <TYPE_NAME>
DELETE <URL>/<TYPE_NAME>/<ID> --> Delete a certain element with <ID> of type <TYPE_NAME>

See API Documentation for more Info.