Saya memiliki database grafik yang memodelkan metadata untuk pesan dan bidang yang dapat dimuat dalam pesan tersebut. Beberapa field tersebut dapat berupa “grup” yang merupakan grup dari field lain. Yang ingin saya tanyakan pada Neo adalah "pesan apa yang menggunakan grup ini?". Berikut ini adalah daftar tipe jalur yang dapat digunakan untuk berpindah dari pesan ke grup:
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)
Rantai kedua bersifat rekursif. Dengan kata lain, segmen -[:FIELDREF]->(fref)-[:FIELD]->(field)-[:DATATYPE]-(group) dapat terjadi berulang kali sebelum akhirnya mencapai grup yang saya minati di dalam.
Jadi, yang ingin saya ketahui adalah, bagaimana cara meminta rantai hubungan yang berulang, bukan hanya kelipatan (misalnya * setelah nama hubungan) pada setiap elemen individual di jalur?
Ringkasnya, Anda bisa masuk ke grup dari sebuah pesan dengan melintasi hubungan [:INLINE], yang kemudian dapat mengikuti n jumlah rantai "fieldref-field-datatype-group".. ATAU Anda bisa masuk ke grup dari a pesan dengan melintasi n jumlah rantai "fieldref-field-datatype-group".
START group=node({sourceGroupId})
... ? ? ? ...
Jadi saya ingin sesuatu seperti [?:INLINE]-> 0..n rantai (fieldref-field-datatype-group).
Ada pemikiran?