Запрос, приведенный ниже, работает, и я хочу, чтобы запрос выполнялся повторно до тех пор, пока он дает результаты. В конце концов, поскольку я устанавливаю обработанное свойство в 1 на b: MAINS_CS для каждой итерации, запрос будет возвращать ноль записей. Меня интересуют все записи, возвращаемые по всем запросам.
Я пытался использовать отношения переменной длины, но тогда кажется, что запрос выполняется очень медленно.
Есть ли какой-нибудь способ добиться этого в cypher без необходимости каждый раз вручную выполнять запрос? Я пытаюсь добиться этого в браузере Neo4j.
MATCH (a:MAINS_CS)-[:Connects]-(joint:MAINS_JOINT)-[:Connects]-(b:MAINS_CS {cs_source_way_id:a.cs_source_way_id})
WHERE a.cs_source_way_id > 0 AND a.processed = 1 AND b.processed <> 1
SET b.processed = 1
RETURN
a.node_number as parent_spid,
b.node_number as child_spid,
joint.node_type as joint_type