Neo4j JSON-format for HTTP-endpoint is unspecified?

The only documentation on Neo4j's HTTP-endpoint is given by a set of examples. As far as I can see there is no formal specification of the JSON-responses a request might result in. This makes writing a driver for the HTTP-endpoint guesswork. For example, the meta -objects in Row are a sequence of objects which can either be Meta -objects or sequences of Meta -objects. Who knew? The type-key in a Meta-object can be either relationship or node; as far as I can see the examples do not include any other value for type; but maybe my parser is broken with only those two values. Etc. etc.

The GH issue remains unanswered for a week, the SO question has a +100 bounty which is now running out.

As far as rants as concerned: Is Neo4j one of those companies where the marketing department has taken over the company so thoroughly that Free is still too high a price to actually use the product?

I think what you'll find is that Neo4j has a number of drivers that they'll want you to interact with the DB through. You can then implement your own API on top of that either REST or GraphQL. So far that's been the easiest way I've found.

AFAICS there are no drivers for Rust. REST is deprecated.

This exists but it's not well supported GitHub - technige/rusty-bolt: Experimental Neo4j driver for Rust