Операции записи или создания токена недопустимы в процедуре, использующей шифрование - PullRequest
2 голосов
/ 27 июня 2019

При вызове процедуры с использованием оцененного внутреннего запроса ( проекция шифра ), который будет создавать узел или ребро, выдается запрещенная ошибка для пользователя-администратора. Можно выполнить запрос вне процедуры.

Может быть, это проблема конфигурации?

Я пытаюсь выполнить запрос, используя процедуру временного дерева GraphAware и LabelPropagation Neo4j. Но я смог получить запрещенную ошибку, используя гораздо более простой запрос. Я использую Neo4j Desktop. Я попытался дать администратору все возможные роли.

Например

call apoc.cypher.run("create (n:Test) return n",{}) yield value return *

Или другой пример:

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

Это ошибки для первого и второго примера:

Neo.ClientError.Security.Forbidden: Token create operations are not allowed for user 'neo4j' with roles [admin,architect,editor,publisher,reader] restricted to READ.

Neo.ClientError.Security.Forbidden: Write operations are not allowed for user 'neo4j' with roles [admin,architect,editor,publisher,reader] restricted to READ.

1 Ответ

1 голос
/ 27 июня 2019

Процедура apoc.cypher.run может выполнять только запросы на чтение .Создание / обновление / удаление узлов с ним запрещено.

...