Neo4j 在使用cypher投影的过程中不允许执行写操作或令牌创建操作

Neo4j 在使用cypher投影的过程中不允许执行写操作或令牌创建操作,neo4j,cypher,neo4j-apoc,Neo4j,Cypher,Neo4j Apoc,当使用求值的内部查询()调用过程时(该查询将创建节点或边缘),将为管理员用户抛出禁止的错误。可以在过程之外运行查询 也许这是一个配置问题 我正在尝试使用GraphAware的时间树过程和Neo4j的LabelPropagation运行一个查询。但是我已经能够使用一个更简单的查询得到禁止的错误。我正在使用Neo4j桌面。我已经尝试给管理员所有可能的角色 比如说 call apoc.cypher.run("create (n:Test) return n",{}) yield value retur

当使用求值的内部查询()调用过程时(该查询将创建节点或边缘),将为管理员用户抛出禁止的错误。可以在过程之外运行查询

也许这是一个配置问题

我正在尝试使用GraphAware的时间树过程和Neo4j的LabelPropagation运行一个查询。但是我已经能够使用一个更简单的查询得到禁止的错误。我正在使用Neo4j桌面。我已经尝试给管理员所有可能的角色

比如说

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.probled:不允许用户“neo4j”执行令牌创建操作,其角色[管理员、架构师、编辑、发布者、读者]限制为读取。


Neo.ClientError.Security.probled:用户“neo4j”的角色[管理员、架构师、编辑、发布者、读者]被限制为读取时,不允许执行写入操作。
过程
apoc.cypher.run
只能执行读取查询。创建/更新/删除节点是不允许的。

n管理员:我举了一个简单的例子,也许不是最好的主意。实际上,我将labelPropagation与时间树结合使用(将其添加到我的原始问题中)。如何找出允许哪些过程执行写查询?您可以使用以下查询进行检查:
calldbms.procedures()YIELD name,mode RETURN name,mode
。在这种情况下,
algo.labelPropagation.stream
过程具有模式
DEFAULT
READ
),无法调用具有
WRITE
模式的
ga.timetree.events.range
,感谢您的解释。我将创建一个新问题,关于如何使用另一个可以编写的过程(或查询)的输入调用密码投影支持过程。