Trouble changing the data in the DB from Bloom search

I work on a project to help users memorize Japanese Hiragana. The goal is to find the least known kana for a specific user and store it's id to a buffer node to change the knowledge level (type: integer, 0-5) of the kana with the next query/ Bloom search.

My Cypher query for this is:

MATCH (n:Hiragana) WITH n, min(n.knowledge) AS ddd MATCH (m:Hiragana) WHERE m.knowledge = ddd WITH m, rand() as r ORDER BY r LIMIT 1 WITH m, as chosenId match (b:Buffer) SET b.content=chosenId RETURN m

Works great in the Browser, but when I try to execute the query as a Bloom Search I get:

Writing in read access mode not allowed. Attempted write to internal graph 0 (neo4j)"

I tried docs and forum, but haven't been successful in finding the solution

How do I set the permission for the Bloom to manipulate data in the db? Is it possible at all?

Hi ,

You have in your query: SET b.content=chosenId

This is a write command, and as a result, Bloom is not allowing you to do this

Thank you Ljubica!

Yes, I see that. Does it mean that Bloom is always ''read only"? Or there's a way that I can configure it to perform db-modifying queries as well?


Thanks for highlighting this issue. We are looking into this issue. So far, it appears that Bloom's search phrases are unable to perform write transactions on certain Neo4j database versions, specifically 4.1 and higher.

Normally, you would be able to perform write operations using Bloom search phrases with all Neo4j databases.

I will keep you posted on here on our progress, please let me know if you have any questions in the meantime.

Many thanks,


this issue has been fixed in our latest Bloom 1.6.1 release and manipulating data with Bloom's search phrases is possible again (provided the role of the logged in user has been granted the necessary permissions).

Please let me know if you have any further questions on this!
Many thanks,