algo.getNodeById Неизвестная функция - Книга алгоритмов графа - PullRequest
0 голосов
/ 06 октября 2019

Это связано с примерами, найденными в этой книге: 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 

1 Ответ

0 голосов
/ 07 октября 2019

Действительно, у вас установлена ​​последняя версия Neo4j для настольного компьютера, но ваша версия базы данных действительно старая, мы сейчас находимся на 3.5.11 .

И поскольку граф algo lib связанк версии базы данных, у вас также есть старая.

Если вы обновите базу данных, то все должно быть в порядке.

Приветствия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...