Skip to main content
Version: 2.0-rc2

Domain Model

The following figure shows the domain model of the CIVITAS/CORE platform.

Domain Model

All entities are described in the table below.

NameDescriptionRelationsSynonyms
DataCatalogCentral registry of DataPools and DataSetsDatasetA data-related element that contains processed data and makes it available for consumption. A Dataset is populated via Pipelines and carries Metadata and access permissions..Each DataCatalog contains one or more DataPools.Catalog
DataPool (will be implemented in v2.1)Logical domain grouping datasetsDatasetA data-related element that contains processed data and makes it available for consumption. A Dataset is populated via Pipelines and carries Metadata and access permissions. and related metadata. Example is "Verkehrsdaten".Each DataCatalog contains one or more DataPools. A DataPool contains of multiple DataSetsDatasetA data-related element that contains processed data and makes it available for consumption. A Dataset is populated via Pipelines and carries Metadata and access permissions.. Each DataPool belongs to one TenantTenantAn isolated organizational partition that owns Data pools, Datasets, Users, Groups, and Roles. All access rules exist within their Tenant, and the Tenant is the widest Scope of a Role. Currently, one Tenant corresponds to the Platform.. Previously Datapools were called DataSpaces.
DataSetDatasetA data-related element that contains processed data and makes it available for consumption. A Dataset is populated via Pipelines and carries Metadata and access permissions.Structured collection of highly related data with metadata and tags. Examples include "Ladesäulen". A DataSetDatasetA data-related element that contains processed data and makes it available for consumption. A Dataset is populated via Pipelines and carries Metadata and access permissions. describes a single information ("Ladesäulen") and references multiple Distributions (i.e. representations) of this information, as well as the transformations that are used to generate those Distributions.Each DataPool contains of multiple DataSetsDatasetA data-related element that contains processed data and makes it available for consumption. A Dataset is populated via Pipelines and carries Metadata and access permissions.. Each DataSetDatasetA data-related element that contains processed data and makes it available for consumption. A Dataset is populated via Pipelines and carries Metadata and access permissions. has MetaData and can have multiple Tags. Each DataSetDatasetA data-related element that contains processed data and makes it available for consumption. A Dataset is populated via Pipelines and carries Metadata and access permissions. may contain multiple Pipelines and Distributions.
MetaDataDescriptive information about datasetsDatasetA data-related element that contains processed data and makes it available for consumption. A Dataset is populated via Pipelines and carries Metadata and access permissions. or distributions. This information includes properties defined in DCAT-AP.DE.MetaData can describe DataSetsDatasetA data-related element that contains processed data and makes it available for consumption. A Dataset is populated via Pipelines and carries Metadata and access permissions. or Distributions.
DistributionPublished or shareable representation of a DataSetDatasetA data-related element that contains processed data and makes it available for consumption. A Dataset is populated via Pipelines and carries Metadata and access permissions..Each Distribution is described by DistributionMetaData and is based on exactly one DataStructure.Information Representation
PayloadDataThe actual content of a DataSetDatasetA data-related element that contains processed data and makes it available for consumption. A Dataset is populated via Pipelines and carries Metadata and access permissions. conforming to a DataStructure.Each PayloadData conforms to exactly one DataStructure.Data payload, Raw data
DataStructureDefines schema and relationships of data, e.g. PayloadData.Each DataStructure may have one parent DataStructure, a set of DataStructureProperties. PlayloadData that conforms to a DataStructure can be transformed by multiple Transformations.Schema, Data model
DataStructureTemplateTemplate for creating reusable DataStructures. Templates predefine certain classes and properties, e.g. the STA template may define a Thing, a DataStream, and Observations. Templates are used in the wizard mode to support easy persisting of data into a specific data store such as FROST.Each DataStructureTemplate can instantiate multiple DataStructures.Schema template, Meta Model
DataStructureRepositoryRepository for storing DataStructures and Templates.Each DataStructureRepository stores multiple DataStructures and multiple DataStructureTemplates.Schema registry, Model registry
DataStructurePropertiesDescribes constraints or attributes of a DataStructure.Each DataStructure has one set of DataStructureProperties.Schema properties, Structure attributes
PersistenceMechanism for storing and retrieving data.PayloadData is stored in one Persistence.Storage, Source, Target
PipelineWorkflow defining a sequence of data processing steps.Each Pipeline contains one or more Processors and can be associated with one or more DataSetsDatasetA data-related element that contains processed data and makes it available for consumption. A Dataset is populated via Pipelines and carries Metadata and access permissions..Data pipeline, ETL flow, Flow
ProcessorExecutes a processing step (e.g., transform, validate).Each Pipeline has multiple Processors. Each Processor may use one or more Persistences and may apply one or more Transformations.Node
TransformationDefines how data is converted between structures.Each Transformation is typed by one or more DataStructures. It may have one or many TransformationProperties.Mapping, Conversion
TransformationPropertiesParameters or metadata of a Transformation.Each Transformation may have one or many TransformationProperties.Transformation config, Conversion parameters
TagLabel or classification marker for datasetsDatasetA data-related element that contains processed data and makes it available for consumption. A Dataset is populated via Pipelines and carries Metadata and access permissions.. Can be used to group DataSetsDatasetA data-related element that contains processed data and makes it available for consumption. A Dataset is populated via Pipelines and carries Metadata and access permissions., DataSources, DataStructures, e.g. into UseCases.Each DataSetDatasetA data-related element that contains processed data and makes it available for consumption. A Dataset is populated via Pipelines and carries Metadata and access permissions. can have multiple Tags.Label, Keyword
DataSourceOrigin of PayloadData (internal or external). A DataSource is typed by a DataStructure and uses a connector to retrieve the PayloadData.Each DataSource uses one Connector and belongs to one DataPool. A DataSource may have one ConnectorConfiguration.Input source, Data provider
ConnectorManages data exchange between systems.A connector can be specialized as NorthBound or SouthBound.Adapter, Integration connector
NorthBoundConnectorConnector for external or higher-level communication.Inherits from Connector.Upstream connector
SouthBoundConnectorConnector for internal or lower-level communication.Inherits from Connector.Downstream connector
ConnectorConfigurationConfiguration of a Connector (e.g., URLs, credentials).Each DataSource uses exactly one ConnectorConfiguration to configure the used Connector.Connector setup, Connection config
TenantTenantAn isolated organizational partition that owns Data pools, Datasets, Users, Groups, and Roles. All access rules exist within their Tenant, and the Tenant is the widest Scope of a Role. Currently, one Tenant corresponds to the Platform.Organizational entity owning DataPools, DataSetsDatasetA data-related element that contains processed data and makes it available for consumption. A Dataset is populated via Pipelines and carries Metadata and access permissions., and users.Each TenantTenantAn isolated organizational partition that owns Data pools, Datasets, Users, Groups, and Roles. All access rules exist within their Tenant, and the Tenant is the widest Scope of a Role. Currently, one Tenant corresponds to the Platform. contains multiple DataPools, DataSetsDatasetA data-related element that contains processed data and makes it available for consumption. A Dataset is populated via Pipelines and carries Metadata and access permissions., Users, and UserGroups. Each TenantTenantAn isolated organizational partition that owns Data pools, Datasets, Users, Groups, and Roles. All access rules exist within their Tenant, and the Tenant is the widest Scope of a Role. Currently, one Tenant corresponds to the Platform. can be deployed on exactly on Instance.Organization, Client
InstanceRunning deployment of a CIVITAS/CORE platform.Each Instance runs in exactly one Cluster. Each Instance may contain multiple TenantsTenantAn isolated organizational partition that owns Data pools, Datasets, Users, Groups, and Roles. All access rules exist within their Tenant, and the Tenant is the widest Scope of a Role. Currently, one Tenant corresponds to the Platform..Deployment, Environment, Platform Instance
ClusterInfrastructure grouping multiple Instances.Each Cluster hosts one or more Instances.Kubernetes Cluster
UserIndividual with access to data and systems.Each TenantTenantAn isolated organizational partition that owns Data pools, Datasets, Users, Groups, and Roles. All access rules exist within their Tenant, and the Tenant is the widest Scope of a Role. Currently, one Tenant corresponds to the Platform. contains multiple Users. Each User can have multiple Assignments linking to Roles.Account, Person
UserGroupGroup of Users for shared permissions.Each TenantTenantAn isolated organizational partition that owns Data pools, Datasets, Users, Groups, and Roles. All access rules exist within their Tenant, and the Tenant is the widest Scope of a Role. Currently, one Tenant corresponds to the Platform. contains multiple UserGroups. Each UserGroup can have multiple Assignments to Roles.Group, Team
AssignmentLinks a User or UserGroup to a Role for a specific Scope (i.e. DataPool, DataSetDatasetA data-related element that contains processed data and makes it available for consumption. A Dataset is populated via Pipelines and carries Metadata and access permissions., or TenantTenantAn isolated organizational partition that owns Data pools, Datasets, Users, Groups, and Roles. All access rules exist within their Tenant, and the Tenant is the widest Scope of a Role. Currently, one Tenant corresponds to the Platform.).Each Assignment connects one User or one UserGroup to one Role.Role binding, Access assignment
RoleAbstract role defining access or responsibility.Each Role can have multiple Assignments. Specialized into DataRole and SystemRole.Access role, Permission group
DataRoleGrants access to datasetsDatasetA data-related element that contains processed data and makes it available for consumption. A Dataset is populated via Pipelines and carries Metadata and access permissions. or data applications.Each DataRole grants multiple DataPermissions.
SystemRoleGrants system-level or administrative privileges.Each SystemRole grants multiple SystemPermissions.
DataPermissionPermission to access datasetsDatasetA data-related element that contains processed data and makes it available for consumption. A Dataset is populated via Pipelines and carries Metadata and access permissions. or applications.Each DataRole grants multiple DataPermissions. Each DataPermission provides access to Data in multiple Applications.
SystemPermissionPermission for system operations.Each SystemRole grants multiple SystemPermissions, which provide access to Applications.
ApplicationSoftware system providing user or visualization interfaces.App, System, Client
MasterportalApplication for geographical visualization of data.Inherits from Application.Portal, Dashboard
SupersetApplication for dashboards and analytics.Inherits from Application.BI tool, Dashboard app
CivitasPermissionAbstract permission for Civitas platform components. Is implemented by DataPermission, and SystemPermission. CivitasPermissions are defined and shipped with the CIVITAS/CORE platform.
InvitationLinkAn Invitation Link can be used to invite a person as user to the platform.Invitation Links reference Users and ShareRequests
ScopeA scope defines which resources can be used in the assignment of roles and groups.Scopes are linked to assignments
ShareRequestShareRequest bundle the wish, that a user can access a DatasetDatasetA data-related element that contains processed data and makes it available for consumption. A Dataset is populated via Pipelines and carries Metadata and access permissions./-structure/-source with specific needed Roles. Optional, the ShareReuest references an InvitationLink