Right now we are using Janusgraph. Nodes and Vertices in our graph have entitlement tagged. We have customized the Gremlin server to check the entitlement after each step execution.
This Gremlin server is started using a Java app.
I am wondering if we can do the same thing for Neptune i.e. start a local Gremlin server and connect to Neptune DB and customize it for entitlement checks. Also, is it possible to configure a custom serializer for gremlin query response?
Adding the sample config:
host: MyNeptuneHost
port: 8182
evaluationTimeout: 30000
channelizer: org.apache.tinkerpop.gremlin.server.channel.WebSocketChannelizer
graphs: {
graph: conf/tinkergraph-empty.properties}
scriptEngines: {
gremlin-groovy: {
plugins: { org.apache.tinkerpop.gremlin.server.jsr223.GremlinServerGremlinPlugin: {},
org.apache.tinkerpop.gremlin.tinkergraph.jsr223.TinkerGraphGremlinPlugin: {},
org.apache.tinkerpop.gremlin.jsr223.ImportGremlinPlugin: {classImports: [java.lang.Math], methodImports: [java.lang.Math#*]},
org.apache.tinkerpop.gremlin.jsr223.ScriptFileGremlinPlugin: {files: [scripts/empty-sample.groovy]}}}}
serializers:
- { className: org.myApp.tinkerpop.gremlin.driver.ser.MyAppGraphSONMessageSerializerV3d0, config: { ioRegistries: [org.myApp.tinkerpop.gremlin.tinkergraph.structure.MyAppIoRegistryV3d0] }}