Graph databases 气体API的实施和使用

Graph databases 气体API的实施和使用,graph-databases,blazegraph,bigdata,Graph Databases,Blazegraph,Bigdata,我正在尝试学习并使用gasapi在我的数据库上实现随机漫游,将每个访问的顶点与起始顶点关联起来 我在理解如何做到这一点时遇到了一些问题;我已经回顾了路径、BFS、PR和其他气体类作为示例,但我不太确定如何开始 我认为我的实现应该扩展BaseGASProgram,并实现所需的方法。此外,作为迭代,边界包含当前迭代的所有顶点。前任的概念我也很清楚 但我认为我不太理解收集、应用、分散的哲学,以及如何在这三个概念上分配随机游走 而且,一旦我实现了我的代码,我该如何调用它?我如何在代码中调用已经实现的算法

我正在尝试学习并使用gasapi在我的数据库上实现随机漫游,将每个访问的顶点与起始顶点关联起来

我在理解如何做到这一点时遇到了一些问题;我已经回顾了路径、BFS、PR和其他气体类作为示例,但我不太确定如何开始

我认为我的实现应该扩展
BaseGASProgram
,并实现所需的方法。此外,作为迭代,边界包含当前迭代的所有顶点。前任的概念我也很清楚

但我认为我不太理解收集、应用、分散的哲学,以及如何在这三个概念上分配随机游走

而且,一旦我实现了我的代码,我该如何调用它?我如何在代码中调用已经实现的算法(PR、SSSP、BFS等)?我应该实例化一个
SSSP
对象,然后呢?或
GASContext
GASRunnerBase

查看bigdata气体包中的类:

final IGASEngine gassengine=getGraphFixture()
.新汽油发动机(1/*nthreads*/);
试一试{
最终SailConnection cxn=getGraphFixture().getSail()
.getConnection();
试一试{
最终IGraphAccessor graphAccessor=getGraphFixture()
.newGraphAccessor(cxn);
最终IGASContext gasContext=汽油发动机
.newGASContext(Graphacessor,new BFS());
最终IGASState gasState=gasContext
.getgastate();
//初始化froniter。
setFrontier(gasContext,p.getMike());
//汇聚。
gasContext.call();
[剪报]

要在测试用例上下文之外使用它,您需要创建某种类型的
SailConnection
。有关示例,请参阅blazegraph示例GitHub项目。然后您需要创建一个。这应该可以让您开始直接在Java层调用
GASEngine

谢谢Brad,我刚刚检查了这些类;我“我会尝试一下并让你知道。当我(有点)弄明白后,我会记下你的答案。谢谢!嗨,Brad,很抱歉打扰你。我已经使用本地示例文件运行了TestBFS程序。但我真正想做的是运行GAS程序(测试BFS可能是)针对我的Blazegraph远程服务器。我已经连接到我的服务器并使用RemoteRepository执行查询(用于选择和插入)。但是,要使用GAS API并运行GASPrograms,我还需要使用SailConnection吗?还是只需要使用“内存中”连接如果你有一个实质性的后续问题,那么请你问一个新的问题。如果你在评论中不断地问很多问题,那么你可能会被认为是一个帮助吸血鬼。问问题,但不接受或否决答案。@honk谢谢。我仍在努力,但你是对的。我会接受的,因为这在某些方面很有帮助