In using the Neo4J browser UI, I encountered this strange behavior when trying to pass a list of strings as a parameter. (I was doing this so that I could query for nodes having a property value in the list.)
$ :param names: ["bob", "alice"]
$ RETURN $names = ["bob", "alice"]
This returns true, as expected.
$ :param nums: ["5", "22"]
$ RETURN $nums = ["5", "22"]
This returns false.
$ :param nums: ["5", "22"]
$ RETURN extract(x IN $nums | toString(x)) = ["5", "22"]
This returns true.
I don't understand why putting numbers in the strings requires the extra string conversion. Maybe it's a bug in how parameters are stored. Or am I just missing something?