Examine graph schema in query? (implement edge blacklist)

Is there a way to examine the schema of the graph (i.e. list of all vertex and edge types) in a query?

The situation is that I’d like to implement a blacklist of edge types, where I run a query over all edges not in the blacklist. Note that WHERE edge.type NOT IN blacklist is not allowed by GSQL, or else I would just do that.

Any other ideas if this isn’t possible?

If you are thinking about accessing a data dictionary just like you would do in an RDBMS (like the information_schema in MySQL or the data dictionary tables/views in Oracle et al.), then no, that’s currently not available: TigerGraph does not expose that type of information right now (but it’s in the plans, as far as I know; no guarantees though).

A quick and dirty idea: you can create a (static?) global LIST accumulator and use the LOADACCUM statement to populate it with the edge types. This would load data from a file that you could create manually or using a Python + pyTigerGraph script. Not sure if this would allow WHERE edge.type NOT IN @@blacklist type of condition; but I will give it a try when I have time.

Thanks. I tried this and it seems to working. I can avoid a WHERE edge.type NOT IN ... by doing WHERE edge.type IN @@allEdges MINUS blacklist