Skip to main content

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 DataSpaces and DataSets.Each DataCatalog contains one or more DataSpaces.Catalog
DataSpaceLogical domain grouping datasets and related metadata. Example is "Verkehrsdaten".Each DataCatalog contains one or more DataSpaces. A DataSpace contains multiple DataSets. Each DataSpace belongs to one Tenant.
DataSetStructured collection of highly related data with metadata and tags. Examples include "Ladesäulen". A DataSet 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 DataSpace contains multiple DataSets. Each DataSet has MetaData and can have multiple Tags. Each DataSet may contain multiple Pipelines and Distributions.
MetaDataDescriptive information about datasets or distributions. This information includes properties defined in DCAT-AP.DE.MetaData can describe DataSets or Distributions.
DistributionPublished or shareable representation of a DataSet.Each Distribution is described by DistributionMetaData and is based on exactly one DataStructure.Information Representation
PayloadDataThe actual content of a DataSet 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 DataSets.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 datasets. Can be used to group DataSets, DataSources, DataStructures, e.g. into UseCases.Each DataSet 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 DataSpace. 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
TenantOrganizational entity owning data spaces, datasets, and users.Each Tenant contains multiple DataSpaces, DataSets, Users, and UserGroups. Each Tenant 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 Tenants.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 Tenant contains multiple Users. Each User can have multiple Assignments linking to Roles.Account, Person
UserGroupGroup of Users for shared permissions.Each Tenant 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. DataSpace, DataSet, or Tenant).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 datasets or data applications.Each DataRole grants multiple DataPermissions.
SystemRoleGrants system-level or administrative privileges.Each SystemRole grants multiple SystemPermissions.
DataPermissionPermission to access datasets 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 GovernancePermission, 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 Dataset/-structure/-source with specific needed Roles. Optional, the ShareReuest references an InvitationLink