Unsupported command using REST++

From the terminal window I’m able to execute this select statement:

image

But I’m unable to execute this query using REST++ using this line in Python:

res = requests.request(method, url, auth=_auth, headers=_headers, data=_data, params=params)

and these are the parameters being passed in:

image

and this is the full error message I’m getting:

Unsupported command.\ncom.tigergraph.schema.ast.dml.f cannot be cast to com.tigergraph.schema.ast.ddl.other.n\n

Can someone please shed some light on this?

Thank you.

Hi George,

The source of issue here is that TigerGraph has two kinds of queries, really.

  • Built-in queries
  • User defined queries

Built-in queries are simple, single SELECT statements that do not need to be enclosed in a CREATE QUERY statement. These built-in queries retrieve counts, or just retrieve vertices and edges; nothing complicated. But these are not the type of queries you can run via the REST API’s interpreted query endpoint. Instead you need to use the GET /graph/{graph_name}/vertices (and similar) endpoint(s). Unfortunately, these built-in endpoints do not seem to be fully documented (at least, I haven’t found a comprehensive-looking list so far), but I will talk to the docs team about it.

And then there are the usual user defined queries that you can run as installed or interpreted via the REST API.

You can write your user defined query which executes build-in query.

Best,
Bruno

Thank you Szilard and Bruno for helping me understand this. I would never do a select like this in production and would use either REST endpoints or user defined queries.