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

问题描述:

我在下面的gremlin命令。它可以正常工作。如何将csv文件加载到janusgraph(addVertex和addEdge)?

new File(“data/1a78de40-8f0a-1028-9c9e-db07163b51b2.csv”)。eachLine {l-> p = l.split(“,”); v1 = gV()。has('uuid ”,p [0])?: graph.addVertex( 'uuid是',p [0]); V2 = GV()已( 'uuid是',p [1])?: graph.addVertex( 'uuid是', p [1]);}

但以下不能很好地工作。

new File(“data/1a78de40-8f0a-1028-9c9e-db07163b51b2.csv”)。eachLine {l-> p = l.split(“,”); v1 = gV()。has('uuid ”,p [0])?: graph.addVertex( 'uuid是',p [0]); V2 = GV()已( 'uuid是',p [1])?: graph.addVertex( 'uuid是', p [1]); v1.addEdge(对[4],V2)}

错误是在这里:

的gremlin>新文件(“数据/ 1a78de40-8f0a-1028-9c9e-db07163b51b2.csv “).eachLine {1-> p = l.split(”,“); V1 = GV()具有( 'uuid是',p [0])?: graph.addVertex( 'uuid是',p [0]。 ); v2 = gV()。has('uuid',p [1])?: graph.addVertex('uuid',p [1]); v1.addEdge(p [4],v2)}

21:30:12 WARN org.janusgraph.graphdb.transaction .StandardJanusGraphTx - 查询需要迭代所有顶点[(uuid = 1a78de40-8f0a-1028-9c9e-db07163b51b2)]。为了获得更好的性能,使用索引 21:30:12 WARN org.janusgraph.graphdb.transaction.StandardJanusGraphTx - 查询需要迭代所有顶点[(uuid = d803d140-8f0a-1028-98de-db07163b51b2)]。为了获得更好的性能,请使用索引 21:30:12 WARN org.janusgraph.graphdb.transaction.StandardJanusGraphTx - 查询需要迭代所有顶点[(uuid = 1a78de40-8f0a-1028-9c9e-db07163b51b2)]。为了获得更好的性能,请使用索引 21:30:12 WARN org.janusgraph.graphdb.transaction.StandardJanusGraphTx - 查询需要迭代所有顶点[(uuid = 92df9f40-8f0a-1028-8723-db07163b51b2)]。为了获得更好的性能,请使用索引 没有方法的签名:org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal.addEdge()适用于参数类型:(java.lang.String,org.janusgraph。 graphdb.vertices.StandardVertex)值:[CommunitiesMember,v [122908672]] 输入':help'或':h'寻求帮助。 显示堆栈跟踪? [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

+0

请编辑您的答案并将您的代码和日志放在代码块中。 –

+0

我在下面有一个解决方法。但那不是最好的解决方案。 – Jeff

这里的问题是你正在分配一个遍历而不是给你的变量分配一个顶点。

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); 
} 

应该工作。

+0

感谢pantalohnes。我有关于cyclicPath的两个问题。你能帮我解决吗? – Jeff