Как вызвать процедуру, поддерживающую проекцию CYPHER с внешним запросом - PullRequest
3 голосов
/ 01 июля 2019

Я только что опубликовал вопрос о сообщении об ошибке, которое я получил о выполнении процедуры в режиме ЗАПИСИ в качестве проекции CYPHER. @nmervaillie объяснил, в чем проблема, но я до сих пор не знаю, как исправить мою настоящую проблему.

Я пытаюсь запросить процедуру algo.labelpropagation.stream для узлов Case с взвешенными ПОДОБНЫМИ ребрами, для выделения в диапазоне с помощью процедуры ga.timetree.range.

Это сбой, потому что процедура диапазона находится в режиме записи. Можно ли поставить запрос выбора диапазона данных перед вызовом процедуры распространения метки?

Это мой исходный, неудачный запрос CYPHER.

CALL algo.labelPropagation.stream(
    'CALL ga.timetree.events.range({start: 1480896000000, end: 1520294400000}) YIELD node RETURN id(node) AS id',
    'MATCH (c1:Case)-[r:NARROWER_THAN]->(c2:Case) RETURN id(c1) AS source, id(c2) as target, r.score AS weight', 
    { graph:'cypher'}
)YIELD nodeId, label
with label as lpa, collect(nodeId) as ids, count(nodeId) as c  
where c > 2
return lpa, c, ids  
order by c desc
...