Gremlin Query Documentation
One of the supported query modes in Bardioc™ 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 Bardioc Graph
The Gremlin query interface in Bardioc 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 Bardioc™ 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.