Skip to content

Relational classifications core model

Relational classifications evaluate a row based on its relationships with other rows in the data model.

Instead of looking only at values in the current row, the system follows relations between tables, collects related rows, and checks whether a condition is satisfied.

This page explains the basic evaluation model used by all relational classifications.

What is being evaluated

A relational classification checks whether a structural condition is true for a row.

That condition is defined by three things:

  • the starting row
  • the relation path
  • the expected result

The evaluation always produces true or false.

Example:

A booking is considered valid if it has an assigned room.

Structure:

Booking → Room

Condition:

count(rooms) > 0

Result:

Booking Room assigned Valid booking
B001 yes true
B002 no false

Relation paths

A relation path defines how the system moves from one table to another.

Each step in the path follows a defined relation between tables.

Example:

Customer → Booking → Room

This path means:

  1. Start with a customer
  2. Find their bookings
  3. Find the rooms connected to those bookings

Relation paths are declarative.
They describe which relations to follow, not how the system performs the traversal internally.

Result set formation

When the system follows the relation path, it collects the rows found at the end.

These rows form a result set.

Each row appears only once in this set, even if multiple paths lead to the same row.

Example:

Customer Bookings Rooms found
Anna 2 bookings Room 101, Room 102
Erik 1 booking Room 101

The result set represents all rows connected to the starting row through the defined path.

Filters may later remove rows from this set, but they do not change how the set is created.

Evaluating the result

After the result set is created, the system checks whether it matches the expected condition.

Common checks include:

  • at least one related row exists
  • no related rows exist
  • more than a certain number of rows exist
  • exactly a certain number of rows exist

Example rule:

count(rooms) > 0

If the condition is satisfied, the classification result becomes true.
Otherwise it becomes false.

System limits

To keep evaluation predictable and fast, the system enforces limits.

  • A relation path may contain at most 15 steps
  • No step may produce more than 100 rows after filtering

If these limits are exceeded, the classification is automatically disabled.

These safeguards prevent classifications from creating extremely large result sets and protect overall system performance.

Related concepts