我正在使用TitanGraphDB + Cassandra。我正在按照以下方式启动Titan
cd titan-cassandra-0.3.1
bin/titan.sh config/titan-server-rexster.xml config/titan-server-cassandra.properties
我有一个Rexster shell,我可以使用它与上面的Titan + Cassandra进行交流。
cd rexster-console-2.3.0
bin/rexster-console.sh
我正在尝试使用Titan Graph DB建模网络拓扑。我想从我的python程序中编写Titan Graph DB。我正在使用灯泡包。 我创建了三种类型的顶点
- switch
- port
- device
我在物理连接的端口之间创建了带标签的边缘。我使用的标签是" link"。
我们假设我有两个端口顶点portA
和portB
。
我想使用灯泡包来检查portA
是否与我portB
的{{1}}相关联。
作为第一步。我写了一个脚本(保存在文件python program
)
is_connected.sh
如果我尝试从我的rexster-console执行上述脚本,如下所示,我得到以下结果。
def is_connected(portA, portB):
return portA.both("link").retain([portB]).hasNext()
这是我第一次尝试编写存储过程(也就是gremlin脚本)。我不知道这是否是接近它的正确方法。我的最终目标是能够调用此脚本来自我使用灯泡的python程序。如果有人能指出我正确的方向,那就太好了!
答案 0 :(得分:1)
?e
命令要求您指定要在同一行中执行的文件。我创建了sum.groovy
:
def sum(x,y) { x+y }
然后从控制台:
rexster[groovy]> ?e sum.groovy
==>null
rexster[groovy]> sum(1,2)
==>3
奇怪的是,在没有文件的情况下指定?e
并没有做正确的换行。我会尝试解决这个问题。