Это расширение следующий вопрос :
У меня есть график, связанный с линией данных в Neo4J с путем переменной длины, содержащим промежуточные узлы (таблицы) в виде массив:
match p=(s)-[r:airflow_loads_to*]->(t)
where s.database_name='hive'
and s.schema_name='test'
and s.name="source_table"
return s.name, [n in nodes(p) | n.name] as arrayOfName,t.name
Теперь этот набор результатов содержит циклов, которые я хочу опустить . Я могу ' удалить ' этих циклов без сглаживания результата ArrayOfName, выполнив:
match p=(s)-[r:airflow_loads_to*]->(t)
where s.database_name='hive'
and s.schema_name='test'
and s.name="source_table"
return s.name, min(size(r)) as pathlen, t.name
order by pathlen
Однако, когда я добавляю ArrayOfName обратно, набор результатов снова содержит все строки. Я предполагаю, что это означает, что каким-то образом цепочка результатов будет использоваться, используя pathlen в качестве фильтра или , предотвращая существование циклов в пути p вообще. Но я застрял на том, как сделать sh этого ...