2017-05-12 3 views
3

JanusGraphでGremlinシェルにGraphSONとしてサブグラフを出力しようとしています。参照用JanusGraph GraphSONエラーとしての出力サブグラフ

TinkerPopドキュメント: http://tinkerpop.apache.org/docs/current/reference/#graphson-reader-writer

私は完全なグラフを書くとき、私は私がこれらのコマンドを使用して照会しまし部分グラフを書きたいとき、これは、しかし、正常に動作します:

gremlin> subGraph = g.V(45240).repeat(__.bothE().subgraph('subGraph').bothV()).times(4).cap('subGraph').next() 

私はこのエラーを取得する

gremlin> subGraph.io(IoCore.graphson()).writeGraph("45240_sub4.json") 

:私は、同じ書き込みコマンドを使用

周りの検索

(was java.lang.IllegalStateException) (through reference chain: org.janusgraph.graphdb.relations.RelationIdentifier["inVertexId"])

、私はこれを適切に行うために、パッケージをインポートするために必要と述べ、別のスレッドを見出した(TitanGraphのために、私はそれが同様JanusGraphに適用されます考え出し):Import package in gremlin

しかし、私はインポートしようとするたび:

gremlin> import com.thinkaurelius.titan.graphdb.tinkerpop.io.graphson.TitanGraphSONModule 

私はこのエラーを取得する:

Invalid import definition: 'com.thinkaurelius.titan.graphdb.tinkerpop.io.graphson.TitanGraphSONModule'; reason: startup failed: script1494618250861805544050.groovy: 1: unable to resolve class com.thinkaurelius.titan.graphdb.tinkerpop.io.graphson.TitanGraphSONModule @ line 1, column 1. import com.thinkaurelius.titan.graphdb.tinkerpop.io.graphson.TitanGraphSONModule ^

1 error

どのように私は、出力部分グラフをすることができますJanusGraphを使ったGremlinシェルのGraphSON?

答えて

1

あなたはおそらくする必要があることタイタンモジュールのJanusGraph相当をインポートする必要があります。org.janusgraph.graphdb.tinkerpop.io.graphson.JanusGraphSONModule

ので、このインポートは動作するはずです:

gremlin> import org.janusgraph.graphdb.tinkerpop.io.graphson.JanusGraphSONModule 
+0

感謝。私はあなたが提案したインポートを試みましたが、残念ながら私は以前と同じエラーを受け取りました:(参照チェーン:org.janusgraph.graphdb.relations.RelationIdentifier ["inVertexId"]経由で) – mrosscoe

+0

答えはJason Pluradはおそらく正しいでしょう。 JanusGraphと一緒に作業していますが、Titanモジュールをインポートしていることに気がつきました。 –

3

あなたがsubgraph()ステップを使用すると、結果はa TinkerGraphですが、その頂点とエッジIDはJanusGraphインスタンスから持ち越されます。特に、エッジIDはJanusGraphのカスタムシリアライザJanusGraphSONModuleがきれいにエクスポートされることを要求するタイプRelationIdentifierである。ここで

あなたはグレムリンコンソールで実行できることを、タイタンからprevious exampleをオフに基づいて、一例である:あなたの応答のための

graph = JanusGraphFactory.open('inmemory') 
graph.io(graphson()).readGraph('data/tinkerpop-modern.json') 
g = graph.traversal() 
subGraph = g.E().hasLabel('knows').subgraph('sg').cap('sg').next() 
graphsonIO = IoCore.graphson().graph(subGraph).registry(JanusGraphIoRegistry.getInstance()).create() 
graphsonIO.writeGraph('/tmp/subgraph.json') 
関連する問題