【问题标题】:How to connect gremlin with bitsy database?如何将 gremlin 与 bitsy 数据库连接?
【发布时间】:2014-06-24 11:00:12
【问题描述】:

我一直在尝试连接到已经包含来自 gremlin 2.5.0(groovy) 的一些数据的 Bitsy graphDB。

我在 gremlin shell 中执行此操作,但尚未尝试从 eclipse 中引用类。

gremlin> BitsyGraph g = new BitsyGraph(java.nio.file.Paths.get('/home/ubuntu/BitsyDB');

但是我收到以下错误:

groovysh_evaluate: 54: unable to resolve class BitsyGraph

我已经导入了包com.lambdazen.bitsy.*,并且导入成功了。

如何让它工作?或者我应该用所有这些命令编写一个 groovy 脚本还是我们可以编写一个 gremlin 脚本?我是图形数据库的新手 :)

任何帮助将不胜感激。

【问题讨论】:

    标签: groovy gremlin bitsy


    【解决方案1】:

    这里有很多问题。首先,请注意 Bitsy 与 TinkerPop 2.4.0 而不是 2.5.0 正式兼容,因此虽然它可能在 2.5.0 Gremlin 控制台中工作,但我建议退回到 2.4.0。

    接下来,您必须小心 .* 导入,因为它们没有经过验证:

    gremlin> import anything.that.i.want.*
    ==>import com.tinkerpop.gremlin.*
    ...
    ==>import anything.that.i.want.*
    

    最后,找不到您的课程的原因是因为 Bitsy 不是 TinkerPop 维护的蓝图实现,因此不随 Gremlin 发行版提供。您可以执行以下两项操作之一:

    1. 将 Bitsy jar 文件复制到 Gremlin 类路径 - 确保获取所有依赖项,否则可能无法正常工作。
    2. 使用 Grape 为您的 Gremlin 控制台会话拉入 Bitsy

    对于后者,您可以发出以下命令:

    gremlin> Grape.grab([group:'com.lambdazen.bitsy',module:'bitsy',version:'1.5.1'])
    ==>null
    gremlin> import com.lambdazen.bitsy.BitsyGraph                                   
    ==>import com.tinkerpop.gremlin.*
    ==>import com.tinkerpop.gremlin.java.*
    ...
    ==>import com.lambdazen.bitsy.BitsyGraph
    gremlin> import java.nio.file.*                                                  
    ==>import com.tinkerpop.gremlin.*
    ==>import com.tinkerpop.gremlin.java.*
    ...
    ==>import java.nio.file.*
    gremlin> dbPath = Paths.get("/tmp/bitsy")                                        
    ==>tmp
    ==>bitsy
    gremlin> g = new BitsyGraph(dbPath)
    08:04:03.392 [main] INFO  c.l.b.s.FileBackedMemoryGraphStore - Starting graph FileBackedMemoryGraphStore-2(path = /tmp/bitsy)
    ...
    08:04:03.505 [main] DEBUG com.lambdazen.bitsy.store.LoadTask - Using RecordReader for CommittableFileLog(/tmp/bitsy/txB.txt)
    ==>bitsygraph[/tmp/bitsy]
    

    【讨论】:

    • 您好斯蒂芬,感谢您的回复。上述步骤有效。我猜 :),我现在只想在控制台上运行一些基本命令。我创建了一个带有 4 个顶点和 3 个边的 BitsyDB 并将它们存储起来。导入此数据库后,我只想从控制台检查相同的内容,但是当我运行诸如之类的命令时
    • g.V.count() 它返回一个 0。看起来当我加载新数据库时,txB.txt 03:30:01.393 [main] WARN com.lambdazen.bitsy 出现错误。 store.LoadTask - Zapped 文件 /home/ubuntu/BitsyDB1/txB.txt 从错误 03:30:01.393 [main] INFO com.lambdazen.bitsy.store.LoadTask - 恢复 /home/ubuntu/BitsyDB1/txB。 txt 已完成 ==>bitsygraph[/home/ubuntu/BitsyDB1] @stephenmallette
    • 是否有可能您在第一次创建 Bitsy 时没有正确关闭它?如果您在 Gremlin 控制台中创建图表会发生什么?那么一切正常吗?
    猜你喜欢
    • 1970-01-01
    • 2021-01-05
    • 2016-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-28
    • 1970-01-01
    • 2023-03-21
    相关资源
    最近更新 更多