Changing from id() to elementId() in Bloom breaks Scene Actions using $nodes

Hi,
I have a scene action much like this that works, but when I replace id() with elementId() it no longer returns a result.

MATCH path=(n:Thing WHERE id(n) IN $nodes)-[RELATIONSHIP->(:OtherThing)
RETURN path

From the docs, id() returns and Integer, and elementId() returns a String.
So, has $nodes also changed type in Bloom (v2.11.0)?

Thanks in advance for insights, and helping me getting elementId() to be a direct replacement for id() in Bloom!

Cheers
Paul

Additional data -
$nodes in Bloom still holds Integers, and not the String type.
And of course the value is completely different

  • id(n) result = 7402
  • $nodes = 7402
  • elementId(n) result = 4:13d7f794-4413-45d3-a00d-1d027f48ff20:7402
    Cheers
    Paul
Here is a way to get elementId

with "4:13d7f794-4413-45d3-a00d-1d027f48ff20:7402" as eid
with eid, [7402, 7404] as ids
unwind ids as ids1
with eid, toString(ids1) as ids2
with ids2, split(eid, ":") as eid2
with ((eid2[0] + ":" + eid2[1] + ":") + ids2) as s1
return s1

Result:

Thx! Very much appreciated.
For some reason I failed to spot the obvious number at the end. LOL
And of course one can just create a procedure (backwardCompatibleId()?) in the DB to CALL, and return the id() equivalent.
But elementId() and id() are not interchangeable, as the documentation stated.
Again thanks.
Cheers

Thanks Paul - we are working to make elementID() directly supported in Bloom Scene Actions. Stay tuned for a future update.

Hi Jeff,
Thanks for letting me know.BTW - I’m curious. What the change?
Cheers
Paul

Hi Paul,

It's always been our intention to support elementID() in Bloom directly, but we haven't done so yet as Neo4j 4.4 requires id() and Neo4j 5 supports both. We are now working to address support for both of these functions in Bloom, but you may have come across an error in the Bloom docs in the interim that suggested we were supporting elementID() before we actually did.

Hope that helps - sorry for any confusion!