Это связано с примерами, найденными в этой книге: https://neo4j.com/graph-algorithms-book/
Я ценю, что аналогичный вопрос был задан некоторое время назад, но ответ заключался в использовании более поздней версии NEO4J.
В настоящее время я пытаюсь следовать примерам из книги «Алгоритмы графиков», и я полагаю, что это последняя версия программного обеспечения (загруженная неделю назад). Версия для настольного компьютера: 1.2.1, версия базы данных: 3.3.2
Итак, почему я получаю эту ошибку?
Код взят со страницы 90 книги:
WITH "https://github.com/neo4j-graph-analytics/book/raw/master/data/" AS base
WITH base + "social-relationships.csv" AS uri
LOAD CSV WITH HEADERS FROM uri AS row
MATCH (source:User {id: row.src})
MATCH (destination:User {id: row.dst})
MERGE (source)-[:FOLLOWS]->(destination)
WITH "https://github.com/neo4j-graph-analytics/book/raw/master/data/" AS base
WITH base + "social-nodes.csv" AS uri
LOAD CSV WITH HEADERS FROM uri AS row
MERGE (:User {id: row.id})
CALL algo.closeness.stream("User", "FOLLOWS", {improved: true})
YIELD nodeId, centrality
RETURN algo.getNodeById(nodeId).id AS user, centrality
ORDER BY centrality DESC
Ошибка:
Neo.ClientError.Statement.SyntaxError: Unknown function 'algo.getNodeById' (line 3, column 8 (offset: 104))
"RETURN algo.getNodeById(nodeId).id AS user, centrality" ^
Как и в предыдущем ответе на вопрос, следующий код работает, но дает другой ответ на то, что показано в книге (у Дэвида центральное значение 8 против 1 вкнига ответ):
CALL algo.closeness.stream("User", "FOLLOWS")
YIELD nodeId, centrality
MATCH (node) where id(node) = nodeId
RETURN node.id as user, centrality
ORDER BY centrality DESC