Skip to main content

Object-centric process mining database tables

The object-centric data model (OCDM) schema serves as the underlying database architecture for your Object-Centric Process Mining (OCPM) Data Pool. Data engineers use these table naming conventions and structures to trace data lineage, validate custom data models, and optimize complex PQL queries across interconnected supply chain and financial processes, such as Order-to-Cash and Accounts Payable.

Table name architecture

Every table name in the Object-Centric Data Model (OCDM) follows a strict structural convention composed of four distinct components:

Component

Purpose

Details and examples

Prefixes

Defines the table and environment type.

Combines identifiers like o_ (Object), e_ (Event), c_ (Changes), or t_ (Development environment). E.g., c_o_ for object changes.

Namespace

Indicates the origin or owner of the data.

  • celonis: Standard catalog content

  • custom: User-created content

  • App-specific: E.g., DuplicateInvoiceChecker

Core name

Identifies the specific entity or relationship

The name of the object type, event type, or many-to-many (m:n) relationship.

Suffix

Denotes embedded perspective objects

Appends a double underscore followed by the relationship name. E.g., __approver.

CELONIS_CALENDAR table

The CELONIS_CALENDAR table replaces the functionality provided by the Vertica-specific operator TIMESERIES, which is not supported for object-centric process mining. The table contains dates in the range 1 January 1980 to 31 December 2030 to execute time-series analytics. This example demonstrates how to generate this date interval starting from 2017-01-01 and ending on 2017-01-05:

Date
2017-01-01 00:00:00
2017-01-02 00:00:00
2017-01-03 00:00:00
2017-01-04 00:00:00
2017-01-05 00:00:00

The SQL statements to do this with TIMESERIES would be:

WITH "TimeSlice" AS 
(
   SELECT CAST('2017-01-01 00:00:00' AS TIMESTAMP) AS "TS" --StartDate
   UNION
   SELECT CAST('2017-01-05 00:00:00' AS TIMESTAMP) AS "TS" --EndDate
)
SELECT "Date" 
FROM "TimeSlice"
TIMESERIES "Date" AS '1 DAY' OVER (ORDER BY "TS")

With the CELONIS_CALENDAR table, you’d use these statements:

SELECT CAST("Date" AS TIMESTAMP)
FROM "CELONIS_CALENDAR" 
WHERE "Date" >='2017-01-01' AND DATE <='2017-01-05'
ORDER BY "Date"

The CELONIS_CALENDAR table includes the following attributes for time-series context:

Attribute

Data type

Date, FirstDayOfMonth, LastDayOfMonth, FirstDayOfWeek, LastDayOfWeek

date

Year, Quarter, Month, Week, Day, DayOfWeek

integer

IsWeekend

boolean

DayName, MonthName

varchar

Related topics