Ahhh. Good to know about
spray.io streaming. I think it's actually a similar situation with Dispatch (underlying lib supports it)--haven't thoroughly looked into it. Might need to dig deep to get that to work.
The issue isn't converting to a Map, it's the JSON parsing specification. You have to specify how you want to parse the JSON, usually via a case class or some other specification. The problem is that the data returned by Cypher is a map containing an array of arbitrary data. It actually would be nice if the REST server told us what the types of the fields were (in addition to the column names)--which would enable the Anorm metadata-based type checking instead of attempting to cast to a type and throwing errors when it fails. Not that big of a deal, but it might simplify the JSON parsing, also.
Wes