Neo4j APOC 触发器和关系属性的手动索引

Neo4j APOC trigger and Manual Index on Relationship Properties

我想设置 Neo4j APOC 触发器,它将所有关系属性添加到手动索引,如下所示:

CALL apoc.trigger.add('HAS_VALUE_ON_INDEX',"UNWIND {createdRelationships} AS r MATCH (Decision)-[r:HAS_VALUE_ON]->(Characteristic) CALL apoc.index.addRelationship(r,['property_1','property_2']) RETURN count(*)", {phase:'after'})

问题是我不知道 HAS_VALUE_ON 关系属性的确切集合,因为我使用 Spring Data Neo4 5 的动态属性方法。

是否可以更改此触发器声明以能够将所有 HAS_VALUE_ON 关系属性(现有的和将来创建的)添加到手动索引而不是预配置的(如['property_1','property_2'] 在提到的例子中) ?

如果事先不知道属性集,那么可以使用keys函数将创建的关系的所有属性添加到索引中:

CALL apoc.trigger.add(
  'HAS_VALUE_ON_INDEX',
  'UNWIND {createdRelationships} AS r MATCH (Decision)-[r:HAS_VALUE_ON]->(Characteristic) 
   CALL apoc.index.addRelationship(r, keys(r)) RETURN count(*)',
   {phase:'after'}
)