gpt4 book ai didi

groovy - 灯泡:如何检查泰坦中两个顶点是否由边连接

转载 作者:行者123 更新时间:2023-12-02 01:25:31 25 4
gpt4 key购买 nike

我正在使用 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

我在物理连接的端口之间创建标记边缘。我使用的标签是“链接”。

假设我有两个端口顶点 portAportB

我想写一个如下的函数

def is_connected(portA, portB):
...
...
...

如何确定两个顶点是否“通过标记边连接”?

我有两个图顶点

src_sw_other_ports
<Vertex: http://localhost:8182/graphs/graph/vertices/48>

dst_sw_other_ports
<Vertex: http://localhost:8182/graphs/graph/vertices/72>

我已经尝试过

link_exists = src_sw_other_ports.out.retain([dst_sw_other_ports]).hasNext()

它给了我以下错误。

  File "/home/karthik/Projects/ryu/ryu/app/simple_switch.py", line 238, in compute_path
link_exists = src_sw_other_ports.out.retain([dst_sw_other_ports]).hasNext()
File "/usr/local/lib/python2.7/dist-packages/bulbs/element.py", line 209, in __getattr__
raise AttributeError(name)
AttributeError: out

最佳答案

espeed的回答很好。这是另一种选择:

gremlin> g = TinkerGraphFactory.createTinkerGraph()
==>tinkergraph[vertices:6 edges:6]
gremlin> v1 = g.v(1)
==>v[1]
gremlin> v3 = g.v(3)
==>v[3]
gremlin> v6 = g.v(6)
==>v[6]
gremlin> v1.out.retain([v3]).hasNext()
==>true
gremlin> v1.out.retain([v6]).hasNext()
==>false

比使用 count 好一点,就好像您只想“存在”一条边一样,您不必迭代整个管道来执行此操作。

关于groovy - 灯泡:如何检查泰坦中两个顶点是否由边连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24626497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com