Я написал (и оптимизировал, используя «ПРОФИЛЬ») запрос Cypher, который отвечает на вопросы соседей узла по данному узлу. Теперь я нахожу процедуру apo c (apoc.neighbors.athop
), которая, кажется, делает то же самое.
Версия APO C лучше? Быстрее? Более надежный?
Я понимаю значение APO C, когда в обычном Cypher нет аналога для данного поведения. В случае сбора соседей Cypher кажется простым:
MATCH (target:SomeLabel)
WITH target
MATCH (target)-[:ADJOINS]-(neighbor:SomeLabel)
WITH target, neighbor
Насколько я понимаю, аналог APO C это:
MATCH (target:SomeLabel)
WITH target
CALL apoc.neighbors.athop(target, "ADJOINS", 1)
YIELD node
RETURN node
Почему я должен выбрать последнее вместо первый?