Все графические конфигурации в Gremlin Server должны выполняться через его файл конфигурации YAML.Поскольку вы говорите, что подключены к современному графу, я предполагаю, что вы используете стандартный файл конфигурации по умолчанию, который поставляется со стандартным дистрибутивом Gremlin Server.Если это так, то вы должны посмотреть на conf/gremlin-server-modern.yaml
.Вы заметите, что это:
graphs: {
graph: conf/tinkergraph-empty.properties}
Это создает ссылку на Graph
в Gremlin Server, называемую «граф», на которую вы можете ссылаться из скриптов.Далее обратите внимание на эту вторую конфигурацию:
org.apache.tinkerpop.gremlin.jsr223.ScriptFileGremlinPlugin: {files: [scripts/generate-modern.groovy]}}}
В частности, обратите внимание на scripts/generate-modern.groovy
, который является сценарием инициализации Gremlin Server.Открыв это, вы увидите это:
// an init script that returns a Map allows explicit setting of global bindings.
def globals = [:]
// Generates the modern graph into an "empty" TinkerGraph via LifeCycleHook.
// Note that the name of the key in the "global" map is unimportant.
globals << [hook : [
onStartUp: { ctx ->
ctx.logger.info("Loading 'modern' graph data.")
org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerFactory.generateModern(graph)
}
] as LifeCycleHook]
// define the default TraversalSource to bind queries to - this one will be named "g".
globals << [g : graph.traversal()]
Комментарии должны делать большую часть объяснения.Связь здесь заключается в том, что вам нужно внедрить код инициализации вашего графа в этот скрипт и назначить inMemoryGraph.traversal()
для g
или любое другое имя переменной, которое вы хотите использовать для идентификации его на сервере.Все это описано в Справочной документации .
Существует способ сделать эту работу более динамичным, но он предусматривает расширение Gremlin Server через его интерфейсы.Вам придется создать пользовательский GraphManager
- интерфейс можно найти здесь .Затем вы должны установить ключ graphManager
в файле конфигурации сервера с полным именем вашего экземпляра.