- Migration Topics
- Best Practices
- HIRO API Overview
- HIRO Audit API
- HIRO Graph - Gremlin Query
- HIRO Graph Action API
- HIRO Graph Auth API
- HIRO Graph List API
- HIRO Graph WebSocket API
- Refresh Token
Gremlin Query Documentation
One of the supported query modes in HIRO™ uses the Gremlin query language for graph traversals.
The official documentation of the Gremlin query language can be found at GremlinDocs. The support version is tinkerpop ´3.2.6´.
Limitations in HIRO Graph
The Gremlin query interface in HIRO has been implemented with the following limitations:
Gremlin queries are read-only.
All Gremlin queries are filtered according to the user’s access control permissions (see below).
Queries have to start with a root vertex. One cannot query the graph with
E() or V().
The following syntax elements cannot be used and end in an error message:
V(), E(), addV(), addE(), addOutE(), addInE(), drop(), property(…)
The following is a list of the allowed steps:
aggregate, and, as, barrier, both, bothE, bothV, by, cap, choose, coalesce, coin, constant, count, cyclicPath, dedup, emit, explain, fill, filter, flatMap, fold, group, groupCount, has, hasId, hasKey, hasLabel, hasNext, hasNot, hasValue, id, identity, in, inE, inV, inject, is, iterate, key, label, limit, local, loops, map, mapKeys, mapValues, max, mean, min, next, option, optional, or, order, otherV, out, outE, outV, pageRank, path, peerPressure, profile, program, project, promise, properties, propertyMap, range, repeat, sack, sample, select, simplePath, store, subgraph, sum, tail, timeLimit, times, to, toBulkSet, toE, toList, toSet, toV, tree, unfold, union, value, valueMap, values, where
Closures are restricted to default tinkerpop classes as well as java fundamentals e.g.
Integer, Long, String
Data Access Control
In the HIRO™ Graph database, vertices and edges are authorized on a per vertex granularity. For Gremlin queries, all vertices on the traversal path are checked for proper data access permissions. Vertices, for which the user does not have proper permissions, are ignored by the query. That means these vertices are neither returned in query result set, nor can there be graph traversals via these vertices.