Why am I getting this security error message?

I'm still a newbie and occasionally get stumped by error messages.

The following cypher:
with 'SIMILARITY' as arcBaseName
match (ab:ArcBase {name:arcBaseName})
CALL apoc.cypher.run("match (cto:DBColumnTemplate)
match (ctd:DBColumnTemplate {name:cto.name, datatypeNature:cto.datatypeNature}) where id(cto)<id(ctd) // use id() to ensure only one bidirectional link and to stop self-reflection
merge (cto)-[r:"+ arcBaseName +"]->(ctd)
ON CREATE
SET r.uuid=randomUUID(),
r.caption='"+ab.caption+"',r.originName=cto:name, r.originUUID=cto:uuid,r.destinationName=ctd:name, r.destinationUUID=ctd:uuid
ON MATCH
SET
r.caption='"+ab.caption+"',r.originName=cto:name, r.originUUID=cto:uuid,r.destinationName=ctd:name, r.destinationUUID=ctd:uuid
", {}) yield value
return value;

Generates the following error message. Can someone explain why and what I can do about it?

Neo.ClientError.Security.Forbidden

Create relationship with type 'SIMILARITY' on database 'neo4j' is not allowed for user 'neo4j' with FULL overridden by READ.

TIA,
Paolo

apoc.cypher.run only allows read cypher statement. Your cypher is performing merges. Try using apoc.cypher. doit instead.

Thanks, @glilienfield,

I suspected as much, but didn't know the correct procedure. Works fine.

Paolo

1 Like