Filtering in derived relations

When Collibra traverses a relation path in your derived relation type, it accepts every asset that it finds at each node (asset type). You can use filters to narrow the selection. Filters allow you to restrict which assets are accepted at a node. If a node has no filter, all compatible assets are accepted.

Image of Add filter dialog box

Note The filter API was updated in version 2026.08. Existing derived relation types are migrated automatically and no manual intervention is needed. For more information, go to Announcements.

How filters work

A filter is associated with a relation path node, such as the head node, an intermediate node, or the tail node.

If a condition is added to any asset type (node) in the path, Collibra evaluates every asset that it encounters at that node.

  • Asset matches: If the asset meets the filter conditions, the traversal continues to the next node. If the node is a tail node, the asset is added to the result set.
  • Asset doesn't match: If the asset doesn't meet the filter conditions, it is ignored. It is neither returned as a derived relation result nor used to continue the path.
  • Head node exclusion: If a filter excludes the head node, the derived relation returns no result. This prevents inconsistent results when navigating in the opposite direction.

Filters are defined in the derived relation type editor. After you save a derived relation type with filters, the filter conditions apply automatically each time Collibra resolves the derived relation. This ensures that your asset pages remain accurate without further manual updates.

Why use filters

Without filters, a relation path in a derived relation type accepts every asset of the compatible type at each node. This is usually what you want, but sometimes, your knowledge graph contains assets that are technically on the path but logically irrelevant to your goal.

You can use filters in the following scenarios:

  • Exclude retired assets. A path passes through Column assets, but you want columns that are marked as "Missing from source" to be ignored because such columns are historical artifacts, no longer reflecting your actual data. You can then use the status filter.
  • Focus on a specific asset type. A path uses the generic Business Asset relation, but you want only business terms to be included, not policies or data standards. You can then use the asset type filter.
  • Filter by relation and attribute values. You want derived relations to surface relations to the PII data category or columns where a PII Boolean attribute set to True. You can then use the relation and attribute filters and combine the two using the OR operator.
  • Restrict by location. You want to scope a path to assets that belong to a specific community or domain to keep results relevant to a particular business area. You can then use the community or domain filter.

Combining filter conditions

You can add multiple conditions to a single node filter and combine them using the AND and OR operators, in both the relation type builder and the JSON editor.

You can also use parentheses to group conditions together to create flexible, complex logic, such as ((A OR B) AND (C OR D)) OR E. Up to five levels of grouping (nested parentheses) is supported, for example, (((((A OR B) AND C) OR D) AND E) OR F).

Operator Description
AND All conditions in the group must be met.
OR At least one condition in the group must be met.

Adding a filter using the relation type builder

The Relation type builder tab in the derived relation type editor provides a visual way to add filters to any node in your derived relation type path. You can't add or modify the filters on any out-of-the-box path nodes because they are system-protected.

  1. On the main toolbar, click Products iconCogwheel icon Settings.
    The Settings page opens.
  2. In the Operating model section, click Relation types.
  3. On the Relation types page:
    • To create a new derived relation type, click Add derived relation type.
    • To edit a derived relation type, in the Actions column of the derived relation type, click More iconEdit.
  4. In the derived relation type editor, on the Relation type builder tab, define your head, relation paths, and tail.
  5. Click the filter icon Filter icon next to the node that you want to filter. If it is an intermediate node, click More iconAdd filter instead.
  6. In the Add filter dialog box, in the Select a criterion field, select the asset property, attribute type, or relation type that should be evaluated (for example, Type, Status, or Category).
  7. Select an operator. The available operators depend on the selected criterion.
  8. If applicable, in the Select a Value field, specify one or more values.
    Tip 
    • To add more conditions to the same node, click Add filter, and to delete a filter condition, click Delete outline rounded icon.
    • To define how the conditions are combined, use the AND and OR operators in the Filter formula field.
    • To set a filter at the end of a relation path, add the filter to the tail node because the tail node is shared by all relation paths.
  9. Click Apply filter.
  10. In the derived relation type editor, click Save relation type.
Tip After saving, you can click the filter name to edit or delete it.

Adding a filter using the JSON editor

You can also use the JSON tab in the derived relation type editor to add filters to any node in your derived relation type path. Each node object (that is, headNode, any entry in intermediateNodes, and tailNode) accepts an optional filter property. A filter object within the filter property supports the following properties.

Property Description

and, or

Arrays of nested filter objects for Boolean combination.

asset

Filters on asset ID or name. Use with nested id for exact matching, or name for string matching.

type

Filters on asset type, using public IDs nested as "type": { "publicId": { ... } }.

status

Filters on asset status by ID ("status": { "id": { ... } }) or by status name ("status": { "name": { ... } }).

tags

Filters on asset tags. Use with "any": { "in": [] } or "none": { "in": [] } for matching, or "isEmpty": true/false for existence checks.

stringAttributes, numericAttributes, booleanAttributes, dateAttributes

Filters on attribute values. Always include typePublicId set to the public ID of the attribute type.

incomingRelations, outgoingRelations

Filters on specific relation types. Always include typePublicId. Use "any" or "none" with nested id or name.

domain

Filters on domain by ID ("domain": { "id": { ... } }) or by name ("domain": { "name": { ... } }).

communities

Filters on community by ID ("communities": { "any": { "id": { ... } } }) or by name ("communities": { "any": { "name": { ... } } }).

responsibilityRoles

Filters on responsibility roles. Use with nested id for exact matching, name for string matching, or isEmpty for existence checks.

createdOn, lastModifiedOn

Filters on asset creation or last modification date.

in, notIn

Match against a set of values. Used as nested operators within property-specific wrappers.

contains, startsWith, endsWith

String matching operators (case-insensitive). Used as nested operators within property-specific wrappers, with "any" for positive or "none" for negative match.

isEmpty

Existence check. Used as a nested operator within property-specific wrappers. Set to false to require a value, or true to require no value.

gt, gte, lt, lte

Greater than, greater than or equal to, less than, or less than or equal to operators on a numeric or date value.

Example The following JSON snippet shows a filter on an intermediate node that accepts only Column assets whose status is not "Missing from source", and that have at least one incoming relation of a given type.
Copy
{
  "name": "Column node",
  "filter": {
    "and": [
      {
        "status": {
          "id": {
            "notIn": ["<Missing-from-source-ResourceID>"]
          }
        }
      },
      {
        "incomingRelations": {
          "typePublicId": "<RelationType-PublicID>",
          "any": {
            "id": {
              "in": ["<TargetAsset-UUID>"]
            }
          }
        }
      }
    ]
  },
  "outgoingEdges": [ ... ]
}

Different filters support different operators. Building a filter using the relation type builder and switching to the JSON editor can help you learn the syntax. The JSON editor also highlights any unsupported operators.

Example: Filtering out retired columns

The following example shows how to use a status filter on an intermediate node. The goal is to create a derived relation type that links Database assets to Data Category assets through the standard catalog hierarchy, but ignoring Column assets whose status is Missing from source.

  1. In the derived relation type editor, define the following path: Database → (has) Schema → (contains) Table → (contains) Column → (is categorized by) Data Category.
    Image of Relation type builder tab
  2. On the Column intermediate node, click More iconAdd filter.
  3. In the Add filter dialog box, enter the following information.
    FieldDescription
    Select a criterionSelect Status.
    OperatorSelect Does not equal.
    Select a valueSelect Missing from source.
  4. Click Apply filter.
  5. In the derived relation type editor, click Save relation type.

When the derived relation is resolved, any columns whose status is Missing from source are ignored.

Available filters

The following tables contain all available filters, organized by the kind of property that they target. These filters are available on both the Relation type builder tab and the JSON tab.

Asset filters

Asset filters allow you to include or exclude assets based on their ID or name.

Filter criterion Operator for relation type builder Operator for JSON editor Value Description
Id Equals "asset": { "id": { "in": [] } } One or more asset IDs Accepts the asset if it is among the specified ones.
Id Does not equal "asset": { "id": { "notIn": [] } } One or more asset IDs Accepts the asset if it is not among the specified ones.
Name Contains "asset": { "name": { "contains": [] } } One or more text values Accepts the asset if its name contains one of the specified text values (case-insensitive).
Name Does not contain "asset": { "name": { "notContains": [] } } One or more text values Accepts the asset if its name doesn't contain any of the specified text values (case-insensitive).
Name Starts with "asset": { "name": { "startsWith": [] } } One or more text values Accepts the asset if its name starts with one of the specified text values (case-insensitive).
Name Does not start with "asset": { "name": { "notStartsWith": [] } } One or more text values Accepts the asset if its name doesn't start with any of the specified text values (case-insensitive).
Name Ends with "asset": { "name": { "endsWith": [] } } One or more text values Accepts the asset if its name ends with one of the specified text values (case-insensitive).
Name Does not end with "asset": { "name": { "notEndsWith": [] } } One or more text values Accepts the asset if its name doesn't end with any of the specified text values (case-insensitive).

Asset type and status filters

Asset type and status filters allow you to include or exclude assets based on their asset type or status.

Filter criterion Operator for relation type builder Operator for JSON editor Value Description
Type Equals "type": { "publicId": { "in": [] } }
  • For relation type builder: Names of one or more asset types or asset type groups
  • For JSON: Public IDs of one or more asset types or asset type groups
Accepts the asset if its type matches at least one of the specified asset types, or a type in one of the specified asset type groups, including subtypes.
Type Does not equal "type": { "publicId": { "notIn": [] } }
  • For relation type builder: Names of one or more asset types or asset type groups
  • For JSON: Public IDs of one or more asset types or asset type groups
Accepts the asset if its type doesn't match any of the specified asset types, or a type in one of the specified asset type groups, including subtypes.
Status Equals "status": { "id": { "in": [] } } One or more statuses Accepts the asset if its status matches one of the specified statuses.
Status Does not equal "status": { "id": { "notIn": [] } } One or more statuses Accepts the asset if its status doesn't match any of the specified statuses.
Status Contains "status": { "name": { "contains": [] } } One or more text values Accepts the asset if its status name contains one of the specified text values (case-insensitive).
Status Does not contain "status": { "name": { "notContains": [] } } One or more text values Accepts the asset if its status name doesn't contain any of the specified text values (case-insensitive).
Status Starts with "status": { "name": { "startsWith": [] } } One or more text values Accepts the asset if its status name starts with one of the specified text values (case-insensitive).
Status Does not start with "status": { "name": { "notStartsWith": [] } } One or more text values Accepts the asset if its status name doesn't start with any of the specified text values (case-insensitive).
Status Ends with "status": { "name": { "endsWith": [] } } One or more text values Accepts the asset if its status name ends with one of the specified text values (case-insensitive).
Status Does not end with "status": { "name": { "notEndsWith": [] } } One or more text values Accepts the asset if its status name doesn't end with any of the specified text values (case-insensitive).

The Asset Type filter resolves against the full type hierarchy. For example, if you filter on Data Asset, any asset whose type is a subtype of Data Asset (such as Table or Column) also matches. The Type filter is not available if the asset type at the node has no subtypes.

Tag filters

Tag filters allow you to filter assets based on their tags.

Filter criterion Operator for relation type builder Operator for JSON editor Value Description
Tags Equals "tags": { "any": { "in": [] } } One or more tags Accepts the asset if it has at least one matching tag.
Tags Does not equal "tags": { "none": { "in": [] } } One or more tags Accepts the asset if it has no matching tag.
Tags Exists "tags": { "isEmpty": false } N/A Accepts the asset if it has at least one tag.
Tags Does not exist "tags": { "isEmpty": true } N/A Accepts the asset if it has no tag.

Community and domain filters

Community and domain filters restrict the accepted assets to those that belong to specific communities or domains.

Filter criterion Operator for relation type builder Operator for JSON editor Value Description
Community Equals "communities": { "any": { "id": { "in": [] } } } One or more communities Accepts the asset if it belongs to at least one of the specified communities.
Community Does not equal "communities": { "none": { "id": { "in": [] } } } One or more communities Accepts the asset if it belongs to none of the specified communities.
Community Contains "communities": { "any": { "name": { "contains": [] } } } One or more text values Accepts the asset if it belongs to at least one community whose name contains one of the specified text values (case-insensitive).
Community Does not contain "communities": { "none": { "name": { "contains": [] } } } One or more text values Accepts the asset if it belongs to no community whose name contains any of the specified text values (case-insensitive).
Community Starts with "communities": { "any": { "name": { "startsWith": [] } } } One or more text values Accepts the asset if it belongs to at least one community whose name starts with one of the specified text values (case-insensitive).
Community Does not start with "communities": { "none": { "name": { "startsWith": [] } } } One or more text values Accepts the asset if it belongs to no community whose name starts with any of the specified text values (case-insensitive).
Community Ends with "communities": { "any": { "name": { "endsWith": [] } } } One or more text values Accepts the asset if it belongs to at least one community whose name ends with one of the specified text values (case-insensitive).
Community Does not end with "communities": { "none": { "name": { "endsWith": [] } } } One or more text values Accepts the asset if it belongs to no community whose name ends with any of the specified text values (case-insensitive).
Domain Equals "domain": { "id": { "in": [] } } One or more domains Accepts the asset if it belongs to at least one of the specified domains.
Domain Does not equal "domain": { "id": { "notIn": [] } } One or more domains Accepts the asset if it belongs to none of the specified domains.
Domain Contains "domain": { "name": { "contains": [] } } One or more text values Accepts the asset if its domain name contains one of the specified text values (case-insensitive).
Domain Does not contain "domain": { "name": { "notContains": [] } } One or more text values Accepts the asset if its domain name doesn't contain any of the specified text values (case-insensitive).
Domain Starts with "domain": { "name": { "startsWith": [] } } One or more text values Accepts the asset if its domain name starts with one of the specified text values (case-insensitive).
Domain Does not start with "domain": { "name": { "notStartsWith": [] } } One or more text values Accepts the asset if its domain name doesn't start with any of the specified text values (case-insensitive).
Domain Ends with "domain": { "name": { "endsWith": [] } } One or more text values Accepts the asset if its domain name ends with one of the specified text values (case-insensitive).
Domain Does not end with "domain": { "name": { "notEndsWith": [] } } One or more text values Accepts the asset if its domain name doesn't end with any of the specified text values (case-insensitive).

Date filters

Date filters allow you to filter intermediate or tail nodes based on the asset creation date or last modification date.

Filter criterion Operator for relation type builder Operator for JSON editor Value Description
Created on / Last modified on After "createdOn": { "gt": "" }
"lastModifiedOn": { "gt": "" }
ISO date Accepts the asset if it was created or last modified after the specified date.
Created on / Last modified on After or equal to "createdOn": { "gte": "" }
"lastModifiedOn": { "gte": "" }
ISO date Accepts the asset if it was created or last modified on or after the specified date.
Created on / Last modified on Before "createdOn": { "lt": "" }
"lastModifiedOn": { "lt": "" }
ISO date Accepts the asset if it was created or last modified before the specified date.
Created on / Last modified on Before or equal to "createdOn": { "lte": "" }
"lastModifiedOn": { "lte": "" }
ISO date Accepts the asset if it was created or last modified on or before the specified date.
Created on / Last modified on Last (n) days "createdOn": { "lastXDays": x }
"lastModifiedOn": { "lastXDays": x }
Integer Accepts the asset if it was created or last modified within the specified number of days. This range is dynamic, recalculated relative to the current date each time the data is viewed.
Created on / Last modified on Older than (n) days "createdOn": { "olderThanXDays": x }
"lastModifiedOn": { "olderThanXDays": x }
Integer Accepts the asset if it was created or last modified more than the specified number of days ago. This range is dynamic, recalculated relative to the current date each time the data is viewed.

Attribute filters

Attribute filters evaluate one or more values of a specific attribute on the asset. They are available for all attribute kinds. Attributes of the Multiple Selection kind support only the Exists and Does not exist operators.

Tip In the following table, the column "Attribute kind" refers to the kind of the attribute type that you select in the Select a criterion field.
Attribute kind Operator for relation type builder Operator for JSON editor Value Description
Text or Selection Equals "stringAttributes": { "typePublicId": "", "any": { "in": [] } } One or more text values Accepts the asset if any of its attribute values is in the specified list of text values.
Text or Selection Does not equal "stringAttributes": { "typePublicId": "", "none": { "in": [] } } One or more text values Accepts the asset if none of its attribute values is in the specified list of text values.
Text or Selection Contains "stringAttributes": { "typePublicId": "", "any": { "contains": [] } } One or more text values Accepts the asset if any of its attribute values contains one of the specified text values (case-insensitive).
Text or Selection Does not contain "stringAttributes": { "typePublicId": "", "none": { "contains": [] } } One or more text values Accepts the asset if none of its attribute values contains any of the specified text values (case-insensitive).
Text or Selection Starts with "stringAttributes": { "typePublicId": "", "any": { "startsWith": [] } } One or more text values Accepts the asset if any of its attribute values starts with one of the specified text values (case-insensitive).
Text or Selection Does not start with "stringAttributes": { "typePublicId": "", "none": { "startsWith": [] } } One or more text values Accepts the asset if none of its attribute values starts with any of the specified text values (case-insensitive).
Text or Selection Ends with "stringAttributes": { "typePublicId": "", "any": { "endsWith": [] } } One or more text values Accepts the asset if any of its attribute values ends with one of the specified text values (case-insensitive).
Text or Selection Does not end with "stringAttributes": { "typePublicId": "", "none": { "endsWith": [] } } One or more text values Accepts the asset if none of its attribute values ends with any of the specified text values (case-insensitive).
Text or Selection Contains "any": { "contains": "" } One text value

Accepts the asset if any of its attribute values contains the specified string.

Text or Selection Does not contain "none": { "contains": "" } One text value

Accepts the asset if none of its attribute values contains the specified string.

Text or Selection Starts with "any": { "startsWith": "" } One text value

Accepts the asset if any of its attribute values starts with the specified string.

Text or Selection Does not start with "none": { "startsWith": "" } One text value

Accepts the asset if none of its attribute values starts with the specified string.

Text or Selection Ends with "any": { "endsWith": "" } One text value

Accepts the asset if any of its attribute values ends with the specified string.

Text or Selection Does not end with "none": { "endsWith": "" } One text value

Accepts the asset if none of its attribute values ends with the specified string.

Text, Selection, or Multiple Selection Exists "stringAttributes": { "typePublicId": "", "isEmpty": false } N/A Accepts the asset if it has at least one attribute value.
Text, Selection, or Multiple Selection Does not exist "stringAttributes": { "typePublicId": "", "isEmpty": true } N/A Accepts the asset if it doesn't have any attribute value.
Number Equals "numericAttributes": { "typePublicId": "", "any": { "in": [] } } One or more numbers Accepts the asset if any of its attribute values is in the specified list of numbers.
Number Does not equal "numericAttributes": { "typePublicId": "", "none": { "in": [] } } One or more numbers Accepts the asset if none of its attribute values is in the specified list of numbers.
Number Less "numericAttributes": { "typePublicId": "", "any": { "lt": } } Number Accepts the asset if it has an attribute value that is less than the specified number.
Number Less or equal "numericAttributes": { "typePublicId": "", "any": { "lte": } } Number Accepts the asset if it has an attribute value that is less than or equal to the specified number.
Number Greater "numericAttributes": { "typePublicId": "", "any": { "gt": } } Number Accepts the asset if it has an attribute value that is greater than the specified number.
Number Greater or equal "numericAttributes": { "typePublicId": "", "any": { "gte": } } Number Accepts the asset if it has an attribute value that is greater than or equal to the specified number.
Number Exists "numericAttributes": { "typePublicId": "", "isEmpty": false } N/A Accepts the asset if it has at least one attribute value.
Number Does not exist "numericAttributes": { "typePublicId": "", "isEmpty": true } N/A Accepts the asset if it doesn't have any attribute value.
True/False Equals "booleanAttributes": { "typePublicId": "", "any": { "eq": } } True or False Accepts the asset if any of its attribute values matches the specified value.
True/False Does not equal "booleanAttributes": { "typePublicId": "", "none": { "eq": } } True or False Accepts the asset if none of its attribute values matches the specified value.
True/False Exists "booleanAttributes": { "typePublicId": "", "isEmpty": false } N/A Accepts the asset if it has an attribute value.
True/False Does not exist "booleanAttributes": { "typePublicId": "", "isEmpty": true } N/A Accepts the asset if it doesn't have an attribute value.
Date Before "dateAttributes": { "typePublicId": "", "any": { "lt": "" } } ISO date Accepts the asset if it has an attribute value that is before the specified date.
Date Before or equal to "dateAttributes": { "typePublicId": "", "any": { "lte": "" } } ISO date Accepts the asset if it has an attribute value that is on or before the specified date.
Date After "dateAttributes": { "typePublicId": "", "any": { "gt": "" } } ISO date Accepts the asset if it has an attribute value that is after the specified date.
Date After or equal to "dateAttributes": { "typePublicId": "", "any": { "gte": "" } } ISO date Accepts the asset if it has an attribute value that is on or after the specified date.
Date Last (n) days "dateAttributes": { "typePublicId": "", "any": { "lastXDays": } } Integer Accepts the asset if it has an attribute value that is within the specified number of days.
Date Older than (n) days "dateAttributes": { "typePublicId": "", "any": { "olderThanXDays": } } Integer Accepts the asset if it has an attribute value that is more than the specified number of days ago.
Date Exists "dateAttributes": { "typePublicId": "", "isEmpty": false } N/A Accepts the asset if it has an attribute value.
Date Does not exist "dateAttributes": { "typePublicId": "", "isEmpty": true } N/A Accepts the asset if it doesn't have an attribute value.

Relation filters

Relation filters check whether a specific explicit relation type exists on the asset at a given node. This allows you, for example, to accept only assets that have a specific relation established or exclude those that don't have that relation.

Filter criterion Operator for relation type builder Operator for JSON editor Value Description
Relation type Equals "incomingRelations": { "typePublicId": "", "any": { "id": { "in": [] } } }
"outgoingRelations": { "typePublicId": "", "any": { "id": { "in": [] } } }
One or more target asset IDs Accepts the asset if it has a relation of the selected relation type that points to any of the specified target assets.
Relation type Does not equal "incomingRelations": { "typePublicId": "", "none": { "id": { "in": [] } } }
"outgoingRelations": { "typePublicId": "", "none": { "id": { "in": [] } } }
One or more target asset IDs Accepts the asset if it has no relation of the selected relation type that points to any of the specified target assets.
Relation type Contains "incomingRelations": { "typePublicId": "", "any": { "name": { "contains": [] } } }
"outgoingRelations": { "typePublicId": "", "any": { "name": { "contains": [] } } }
One or more text values Accepts the asset if it has a relation of the selected relation type to an asset whose name contains one of the specified text values (case-insensitive).
Relation type Does not contain "incomingRelations": { "typePublicId": "", "none": { "name": { "contains": [] } } }
"outgoingRelations": { "typePublicId": "", "none": { "name": { "contains": [] } } }
One or more text values Accepts the asset if it has no relation of the selected relation type to an asset whose name contains any of the specified text values (case-insensitive).
Relation type Starts with "incomingRelations": { "typePublicId": "", "any": { "name": { "startsWith": [] } } }
"outgoingRelations": { "typePublicId": "", "any": { "name": { "startsWith": [] } } }
One or more text values Accepts the asset if it has a relation of the selected relation type to an asset whose name starts with one of the specified text values (case-insensitive).
Relation type Does not start with "incomingRelations": { "typePublicId": "", "none": { "name": { "startsWith": [] } } }
"outgoingRelations": { "typePublicId": "", "none": { "name": { "startsWith": [] } } }
One or more text values Accepts the asset if it has no relation of the selected relation type to an asset whose name starts with any of the specified text values (case-insensitive).
Relation type Ends with "incomingRelations": { "typePublicId": "", "any": { "name": { "endsWith": [] } } }
"outgoingRelations": { "typePublicId": "", "any": { "name": { "endsWith": [] } } }
One or more text values Accepts the asset if it has a relation of the selected relation type to an asset whose name ends with one of the specified text values (case-insensitive).
Relation type Does not end with "incomingRelations": { "typePublicId": "", "none": { "name": { "endsWith": [] } } }
"outgoingRelations": { "typePublicId": "", "none": { "name": { "endsWith": [] } } }
One or more text values Accepts the asset if it has no relation of the selected relation type to an asset whose name ends with any of the specified text values (case-insensitive).
Relation type Exists "incomingRelations": { "typePublicId": "", "isEmpty": false }
"outgoingRelations": { "typePublicId": "", "isEmpty": false }
N/A Accepts the asset if it has a relation of the selected relation type.
Relation type Not exists "incomingRelations": { "typePublicId": "", "isEmpty": true }
"outgoingRelations": { "typePublicId": "", "isEmpty": true }
N/A Accepts the asset if it has no relation of the selected relation type.

Responsibility filters

Responsibility filters allow you to include or exclude assets based on whether specific roles are assigned to users or user groups.

Filter criterion Operator for relation type builder Operator for JSON editor Value Description
Responsibility role Equals "responsibilityRoles": { "any": { "id": { "in": [] } } } One or more role IDs Accepts the asset if at least one user or user group is assigned to any of the specified roles.
Responsibility role Does not equal "responsibilityRoles": { "none": { "id": { "in": [] } } } One or more role IDs Accepts the asset if no user or user group is assigned to any of the specified roles.
Responsibility role Contains "responsibilityRoles": { "any": { "name": { "contains": [] } } } One or more text values Accepts the asset if at least one user or user group is assigned to a role whose name contains one of the specified text values (case-insensitive).
Responsibility role Does not contain "responsibilityRoles": { "none": { "name": { "contains": [] } } } One or more text values Accepts the asset if no user or user group is assigned to a role whose name contains any of the specified text values (case-insensitive).
Responsibility role Starts with "responsibilityRoles": { "any": { "name": { "startsWith": [] } } } One or more text values Accepts the asset if at least one user or user group is assigned to a role whose name starts with one of the specified text values (case-insensitive).
Responsibility role Does not start with "responsibilityRoles": { "none": { "name": { "startsWith": [] } } } One or more text values Accepts the asset if no user or user group is assigned to a role whose name starts with any of the specified text values (case-insensitive).
Responsibility role Ends with "responsibilityRoles": { "any": { "name": { "endsWith": [] } } } One or more text values Accepts the asset if at least one user or user group is assigned to a role whose name ends with one of the specified text values (case-insensitive).
Responsibility role Does not end with "responsibilityRoles": { "none": { "name": { "endsWith": [] } } } One or more text values Accepts the asset if no user or user group is assigned to a role whose name ends with any of the specified text values (case-insensitive).
Responsibility role Exists "responsibilityRoles": { "isEmpty": false } N/A Accepts the asset if at least one user or user group is assigned to any role.
Responsibility role Does not exist "responsibilityRoles": { "isEmpty": true } N/A Accepts the asset if no user or user group is assigned to any role.

Integrity and maintenance

Because a filter references operating model elements such as asset types, statuses, attribute types, and relation types, deleting those elements can affect your derived relation types.

  • Deleting operating model types: If you try to delete an asset type, status, attribute type, or relation type that is referenced in a filter, Collibra blocks the deletion with a message. The message includes a link to the affected derived relation types so you can update the filters before retrying the deletion.
  • Deleting other referenced resources: If you try to delete a domain, community, or other resource that is referenced in a filter, Collibra doesn't block the deletion, but the affected filter values are removed. When you open an affected derived relation type, the derived relation type editor notifies you so you can review and fix it.

Permission error handling

If a derived relation type filter references a resource that you don't have permission to view, the filter editor highlights the problematic value. In the JSON editor, the relevant ID is highlighted and in the query builder, the corresponding filter field is highlighted. Update the filter to reference a resource you have permission to view, or ask your administrator to grant you the relevant permissions.