Я пытаюсь создать несколько экземпляров графа в Janusgraph, но все они, похоже, имеют одинаковые ссылки друг на друга, и поэтому любое действие, выполняемое с одним, влияет на другие (см. Пример ниже).Я хочу, чтобы эти графики были настроены как отдельные экземпляры, отличные друг от друга, но где-то в шагах ниже я колеблюсь.
Шаги, предпринятые для добавления нового графика в JanusGraph
Цель: иметь два графика с именами graph1
, graph2
, с объектами обхода с именами g1
, g2
соответственно икоторые отличаются друг от друга.
Создание файлов свойств с именами graph1.properties
, graph2.properties
.С содержимым (для бэкэнда Cassandra):
gremlin.graph=org.janusgraph.core.JanusGraphFactory
gremlin.graph=org.janusgraph.core.ConfiguredGraphFactory
storage.backend=cql
storage.hostname=127.0.0.1
^ Здесь я предполагаю, что основная проблема заключается - graph1.properties
и graph2.properties
имеют одинаковыесодержимое ... но я не уверен, что изменить
Добавить графики в файл gremlin-server.yaml
, который сопоставляется с недавно созданными файлами graph1.properties
и graph2.properties
.
graphs: {
graph1: conf/gremlin-server/graph1.properties,
graph2: conf/gremlin-server/graph2.properties
}
Добавить имена объектов обходана empty-sample.groovy
globals << [g1 : graph1.traversal(), g2: graph2.traversal()]
Тестирование
Вывод ниже показывает, что графики были созданы успешно, но также показывает, что они ссылаются друг на друга.
==>Configured localhost/127.0.0.1:8182-[b7696535-97d9-4b59-b30f-f83707492057]
gremlin> :remote console
==>All scripts will now be sent to Gremlin Server - [localhost/127.0.0.1:8182]-[b7696535-97d9-4b59-b30f-f83707492057] - type ':remote console' to return to local mode
gremlin> g1
==>graphtraversalsource[standardjanusgraph[cql:[127.0.0.1]], standard]
gremlin> g1.V().count()
==>100
gremlin> g2.V().count()
==>100
gremlin> g1.addV('item').property('id', '123')
==>v[327684312]
gremlin> g1.tx().commit()
==>null
gremlin> g1.V().count()
==>101
gremlin> g2.V().count()
==>101 <-- g2 should have remained at 100