将本地gephi示例连接到远程titan服务器

bvhaajcl  于 2021-06-15  发布在  Cassandra
关注(0)|答案(1)|浏览(696)

下面是我想要解决的场景:我有两个环境:一个本地机器和一个托管在azure中的虚拟机
在虚拟机中,我启动一个gremlin容器,其中包括gremlin客户机、服务器,并连接到一个cassandra图形数据库。
这是我运行docker container ls命令时运行的容器的信息:

CONTAINER ID: 029095e26f53        
IMAGE: 3f03c6bfb0a2
COMMAND: "/bin/sh -c /gremlin…"   
CREATED: 2 weeks ago         
STATUS: Up 2 weeks          
PORTS: 0.0.0.0:8182->8182/tcp                                                                                              
NAME: gremlin

当我进入容器内部时,我运行以下命令以运行gremlin客户端:

./bin/gremlin.sh

进入gremlin控制台后,我运行以下命令连接到tinkerpop服务器:

:remote connect tinkerpop.server conf/remote.yaml

==>已连接-localhost/127.0.0.1:8182--->来自gremlin控制台的答案
如果我运行以下gremlin查询:

:> g.V().count()

我得到一个不同于零的数字,告诉我在图形数据库中有一个记录。
另一方面,我在本地机器上有一个gephi客户机,我希望它能够显示图形数据库。或者至少,让gephi显示

graph = TinkerFactory.createModern()

在小精灵的容器里跑。
我想这样做是因为我需要为gremlin和titan生态系统选择一个可视化工具。
我试图设置gephi客户端功能来连接虚拟机的ip和端口8182,但它显示了一个红点,告诉我这是不可能的。我错过了什么?我敢肯定少了几步。提前谢谢,
胡安·伊格纳西奥

sy5wg1nm

sy5wg1nm1#

如果您的图形是“远程”的,并且不在gremlin控制台的内存中,那么您必须设计一种方法,使它以这种方式在本地可用。这种情况对于运行在gremlin服务器上或完全远程(如cosmosdb、dse graph或amazon neptune)的图是典型的。
他们的典型方法是使用 [subgraph()][1] -第二步,仅拉出图形中您关心的部分,并将其返回到gremlin控制台。它将作为支持 subgraph() -step(比如titan,不过我假设您会使用janusgraph),那么对于您的测试 TinkerFactory 一个很小的图表,你可以这样做:

gremlin> :remote connect tinkerpop.server conf/remote-objects.yaml

请注意“remote objects.yaml”的配置,因为该配置将返回实际对象-实际 TinkerGraph 而不是小叮当的字符串表示。

gremlin> :> TinkerFactory.createModern()

这将远程创建“现代”图形,并将tinkergraph返回到gremlin控制台。您可以访问该结果

gremlin> graph = result[0].object

这个 :> 将来自服务器的响应存储在名为“result”的变量中,该变量包含 TinkerGraph 在一个 List . 参考文件对此进行了解释。在那里,您可以像使用标准gephi指令一样使用“graph”对象。

相关问题