Я хочу экспортировать подграф в файл json и импортировать его в другой граф. Я попытался следующим образом:Экспорт подграфа (sideeffect) в json-файл и импорт обратно в график
gremlin> subGraph = g.V().has("name","john").outE("has").subgraph("subgraph").cap("subgraph").next()
==>tinkergraph[vertices:6 edges:5]
теперь у меня есть вспомогательный объект графа, то я использовал graphson написать этот объект подграфа непосредственно в JSON файл следующим образом:
subGraph.io(GraphSONIo.build()).writeGraph("/tmp/subgraph.json")
Но я получаю сообщение об ошибке, как это:
(was java.lang.IllegalStateException) (through reference chain: com.thinkaurelius.titan.graphdb.relations.RelationIdentifier["inVertexId"])
что это проблема ??
я использую Titan 1.0 и объектный граф является титаном граф с помощью 'графа = TitanFactory.open (» ../ conf/titan-cassandra.properties ")' при создании подграфа с вышеуказанным запросом гремлина он дает объект 'TinkerGraph'? так что мы можем создать подграф как объект графа титана? –
Я пробовал ваш код на gremlin, он дает ошибку для объекта mapper как 'Нет такого свойства: TitanGraphSONModule для класса: groovysh_evaluate' –
Да, подграф - это TinkerGraph в памяти, хотя ваш основной граф - Titan. Как правило, это имеет большой смысл, поскольку вы обычно не хотите сохранять подграф. Я не помню, если вы можете подграфом Titan в 1.0 - я думаю, что это было добавлено как особенность TinkerPop намного позже. Что касается вашей ошибки, я думаю, вам может понадобиться импортировать этот класс в консоль. Здесь вы можете найти имя пакета: https://github.com/thinkaurelius/titan/blob/1.0.0/titan-core/src/ главная/Java/COM/thinkaurelius/титан/graphdb/tinkerpop/И.О./graphson/TitanGraphSONModule.java –