我有一个图形数据库,它正在对消息的元数据和可以包含在这些消息中的字段进行建模。其中一些字段可以是“组”,它们是其他字段的组。我试图问 Neo 是“什么消息正在使用这个组?”。以下是可用于从消息获取到组的路径类型列表:
message-[:INLINE]->group (the fields of a group are used inline on a message)
message-[:FIELDREF]->(fref)-[:FIELD]->(field)-[:DATATYPE]->group (the group is used as a data type by a field on the message)
第二个链是递归的。换句话说, -[:FIELDREF]->(fref)-[:FIELD]->(field)-[:DATATYPE]-(group) 段可以一遍又一遍地发生,然后才最终到达我感兴趣的组在。
所以,我想知道的是,我如何在路径中的每个单独元素上请求重复的关系链,而不仅仅是多个(例如关系名称后的 *)?
回顾一下,您可以通过遍历 [:INLINE] 关系从消息中获取组,然后该关系可以遵循 n 个“fieldref-field-datatype-group”链。或者您可以从通过遍历 n 个“fieldref-field-datatype-group”链的消息。
START group=node({sourceGroupId})
... ? ? ? ...
所以我想要 [?:INLINE]-> 0..n of (fieldref-field-datatype-group) 链。
有什么想法吗?