This rule identifies direct relation properties that are referenced by reverse direct relations
but lack a cursorable B-tree index. When querying through a reverse direct relation,
CDF needs to look up nodes that have the direct relation pointing to the
source nodes. Without an index, this requires scanning many nodes inefficiently.
Why it matters
Traversing a reverse direct relation (inwards direction) requires an index on the
target direct relation property. Without this index, queries will be inefficient,
potentially leading to timeouts over time, as they won’t scale well with data volume.
The exception is when the target direct relation is a list property. In that case,
this validator will not flag them, as reverse direct relations targeting lists of
direct relations need to be traversed using the instances/search endpoint instead,
which does not directly benefit from adding indexes to container properties.
Example
View WindFarm has a reverse property turbines through WindTurbine.windFarm.
Container WindTurbine should have a cursorable B-tree index on the windFarm
property to enable efficient traversal from WindFarm to its turbines.
Further reading
Last modified on February 27, 2026