我正在尝试使用SQL数据库中的数据填充在gremlin服务器中运行的图形。我想从数据库中读取数据,遍历结果并将其添加到图形中。这是在c#程序中完成的,所以我正在使用Gremlin.NET字节码。
我可以通过执行与此处找到的示例等效的c#来做到这一点:
https://github.com/krlawrence/graph/blob/master/sample-code/RemoteAddBatch.java
还有与C#等效的答案:
Adding multiple vertices, changing one property-value (tinkerpop3 + python GLV)
但是,我想采用一种更实用的方法。在这两个答案中,您都必须通过在集合中添加第一个顶点来开始遍历,然后可以使用for循环将其链接起来。是否有可能不必先添加顶点然后开始链接其他附加对象?
我试图避免添加第一个顶点,然后再循环,因为数据库集可能没有任何结果。如果真是这样,那么我必须添加一个'if'语句才能正确处理该场景。我还希望避免注入脚本并坚持使用字节码。即运行类似
Gremlin.Net.Driver.GremlinClient.SubmitAsync<string>("g.addV('mylabel').addV('myotherlabel')")
我还考虑过要添加一个虚拟顶点来开始遍历,然后可以通过添加要添加的实际顶点来进行循环。然后,我可以删除该虚拟顶点。由于我希望显而易见的原因,虚拟顶点的想法感觉像是错误的方法。