通过 golang 中的 gremlin-go 库嵌入 gremlin 服务器

我是 Golang 的新手,需要找到与 org.apache.tinkerpop.gremlin.tinkergraph.structure 类似的东西。TinkerGraph 使用 gremlin 方法在不连接到图形数据库的情况下遍历嵌入式图形。


我找到了 gremlin-go (github.com/apache/tinkerpop/gremlin-go/v3/driver),除了它需要连接到 gremlin 服务器之外,它满足我的需要。有没有什么方法可以在不连接到服务器的情况下初始化 GraphTraversalSource,就像通过此代码在 Java 版本中完成的一样?


Graph graph = TinkerGraph.open();

GraphTraversalSource g = traversal().withEmbedded(graph);

我试过以下方法:


package main


import (

   "fmt"

   gremlingo "github.com/apache/tinkerpop/gremlin-go/v3/driver"

)


func main() {

   graph := gremlingo.Graph{}

   gts := gremlingo.NewGraphTraversalSource(&graph, nil, gremlingo.ReadOnlyStrategy())

   prop := &gremlingo.GremlinType{"java.lang.Object"}

   gts.AddV("type_test").Property("data", prop).Iterate()

   cnt, _ := gts.V().Count().ToList()

   val, _ := cnt[0].GetInt32()

   fmt.Println(val)

}

但是会出现越界异常,也就是说,没有添加任何顶点。有没有办法在本地创建图形然后遍历它?


慕勒3428872
浏览 172回答 1
1回答

慕容708150

不——这是不可能的。gremlin-go它不是 Gremlin 查询处理引擎的实现,也不像 Java 那样公开接口来实现图形数据库。与所有基于非 JVM 的 Gremlin 实现一样,它将处理委托给具有这些功能的 Gremlin Server。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go