Gremlin 如何将csv文件加载到janusgraph(addVertex和addEdge)?

Gremlin 如何将csv文件加载到janusgraph(addVertex和addEdge)?,gremlin,janusgraph,Gremlin,Janusgraph,我有下面的小精灵命令。它可以很好地工作 new File("data/1a78de40-8f0a-1028-9c9e-db07163b51b2.csv").eachLine{l->p=l.split(",");v1=g.V().has('uuid',p[0])?:graph.addVertex('uuid',p[0]);v2=g.V().has('uuid',p[1])?:graph.addVertex('uuid',p[1]);} 但是下面的方法不能很好地工作 new File("da

我有下面的小精灵命令。它可以很好地工作

new File("data/1a78de40-8f0a-1028-9c9e-db07163b51b2.csv").eachLine{l->p=l.split(",");v1=g.V().has('uuid',p[0])?:graph.addVertex('uuid',p[0]);v2=g.V().has('uuid',p[1])?:graph.addVertex('uuid',p[1]);}
但是下面的方法不能很好地工作

new File("data/1a78de40-8f0a-1028-9c9e-db07163b51b2.csv").eachLine{l->p=l.split(",");v1=g.V().has('uuid',p[0])?:graph.addVertex('uuid',p[0]);v2=g.V().has('uuid',p[1])?:graph.addVertex('uuid',p[1]);v1.addEdge(p[4],v2)}
错误在这里:

gremlin> new File("data/1a78de40-8f0a-1028-9c9e-db07163b51b2.csv").eachLine{l->p=l.split(",");v1=g.V().has('uuid',p[0])?:graph.addVertex('uuid',p[0]);v2=g.V().has('uuid',p[1])?:graph.addVertex('uuid',p[1]);v1.addEdge(p[4],v2)}

21:30:12 WARN  org.janusgraph.graphdb.transaction.StandardJanusGraphTx  - Query requires iterating over all vertices [(uuid = 1a78de40-8f0a-1028-9c9e-db07163b51b2)]. For better performance, use indexes
21:30:12 WARN  org.janusgraph.graphdb.transaction.StandardJanusGraphTx  - Query requires iterating over all vertices [(uuid = d803d140-8f0a-1028-98de-db07163b51b2)]. For better performance, use indexes
21:30:12 WARN  org.janusgraph.graphdb.transaction.StandardJanusGraphTx  - Query requires iterating over all vertices [(uuid = 1a78de40-8f0a-1028-9c9e-db07163b51b2)]. For better performance, use indexes
21:30:12 WARN  org.janusgraph.graphdb.transaction.StandardJanusGraphTx  - Query requires iterating over all vertices [(uuid = 92df9f40-8f0a-1028-8723-db07163b51b2)]. For better performance, use indexes
No signature of method: org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal.addEdge() is applicable for argument types: (java.lang.String, org.janusgraph.graphdb.vertices.StandardVertex) values: [CommunitiesMember, v[122908672]]
Type ':help' or ':h' for help.
Display stack trace? [yN]
csv文件如下所示:

1a78de40-8f0a-1028-9c9e-db07163b51b2,d803d140-8f0a-1028-98de-db07163b51b2,2012-09-18T08:56:01Z,1,CommunitiesMember
1a78de40-8f0a-1028-9c9e-db07163b51b2,92df9f40-8f0a-1028-8723-db07163b51b2,2012-09-18T08:56:01Z,1,CommunitiesMember
1a78de40-8f0a-1028-9c9e-db07163b51b2,281edc40-3c20-102c-9a69-980191c9f99a,2012-09-18T08:56:01Z,1,CommunitiesMember
1a78de40-8f0a-1028-9c9e-db07163b51b2,878c73c0-8f0a-1028-91a1-db07163b51b2,2012-09-18T08:56:01Z,1,CommunitiesMember
1a78de40-8f0a-1028-9c9e-db07163b51b2,5427d240-9f1e-102c-9233-9c1aa9e13df3,2012-09-18T08:56:01Z,1,CommunitiesMember

这里的问题是,您正在为变量分配一个遍历,而不是一个顶点

new File("data/1a78de40-8f0a-1028-9c9e-db07163b51b2.csv").eachLine{
  l->p=l.split(",");
  t_v1= g.V().has('uuid',p[0]);
  v1 = t_v1.hasNext() ? t_v1.next() : graph.addVertex('uuid',p[0]);
  t_v2 = g.V().has('uuid',p[1]);
  v2 = t_v2.hasNext() ? t_v2.next() : graph.addVertex('uuid',p[1]);
  v1.addEdge(p[4],v2);
}

应该有效。

请编辑您的答案,并将代码和日志放在代码块中。我在下面有一个解决方法。但这不是最好的解决方案。谢谢潘塔洛尼。我有两个关于自行车的问题。你能帮帮我吗?