登录
首页 >  Golang >  Go问答

在 golang 中通过 gremlin-go 库与 gremlin 服务器进行交互

来源:stackoverflow

时间:2024-02-06 18:54:22 280浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《在 golang 中通过 gremlin-go 库与 gremlin 服务器进行交互》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

我是 golang 新手,需要找到 org.apache.tinkerpop.gremlin.tinkergraph.struct 的类似物。 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)
}

但是出现越界异常,这意味着没有添加任何顶点。有没有办法在本地创建图然后遍历它?


正确答案


不 - 这是不可能的。 gremlin-go 不是 Gremlin 查询处理引擎的实现,也没有像 Java 那样公开接口来实现图形数据库。与所有基于非 JVM 的 Gremlin 实现一样,它将处理委托给具有这些功能的 Gremlin Server。

今天关于《在 golang 中通过 gremlin-go 库与 gremlin 服务器进行交互》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>