Orientdb 如何从连接的两个顶点中选择边

Orientdb 如何从连接的两个顶点中选择边,orientdb,Orientdb,我试图找出从连接的两个顶点中选择边的格式 边在“连接”类中,连接两个“节点”类顶点。源节点是11:6唯一索引字段ip='10.64.32.100',目标节点是11:7 ip='10.79.215.231'。Connection类在其Connection.in和Connection.out属性上具有唯一索引 我尝试了以下所有返回空集的查询: SELECT FROM Connection WHERE OUT(Node) = (SELECT FROM Node WHERE ip = '10.64.32

我试图找出从连接的两个顶点中选择边的格式

边在“连接”类中,连接两个“节点”类顶点。源节点是11:6唯一索引字段ip='10.64.32.100',目标节点是11:7 ip='10.79.215.231'。Connection类在其Connection.in和Connection.out属性上具有唯一索引

我尝试了以下所有返回空集的查询:

SELECT FROM Connection WHERE OUT(Node) = (SELECT FROM Node WHERE ip = '10.64.32.100')

SELECT FROM Connection WHERE (SELECT FROM Node WHERE ip = '10.64.32.100') IN OUT(Node)

SELECT FROM Connection WHERE #11:6 IN OUT(Node)

SELECT FROM Connection WHERE OUT(Node) = #11:6
我已检查以确保SELECT Node语句实际上返回正确的rid 11:6

较大的上下文正在更新边缘类“Connection”中的时间字段。连接具有嵌入的时间戳次数列表。使用pyorient,调用代码为:

try:
   client.command("CREATE EDGE Connection FROM {0} TO {1} CONTENT {2}".format(src_str, dst_str, edge_cont))
except pyorient.exceptions.PyOrientORecordDuplicatedException:
   client.command("UPDATE Connection ADD times = {0} WHERE {1}".format(time_list, <<!!QUERY GOES HERE!!>>)
从上面可以看到,由于我使用捕获的异常来触发更新,所以我没有@rid来删除已经存在且唯一索引的连接,因此我需要一个SELECT语句来指定要向其中添加新时间的连接对象。另一种解决方案是,如果已有连接存在,则找出如何返回@rid。我也不知道怎么做

有人能帮我找到正确的SELECT语句,仅使用两个连接顶点返回所需的边吗?

尝试以下查询:

从OUT=11:6的连接中选择,并从IN-IN中ip=10.79.215.231的节点中选择@rid

希望有帮助。

尝试以下查询:

从OUT=11:6的连接中选择,并从IN-IN中ip=10.79.215.231的节点中选择@rid


希望能有帮助。

是的,这很有效。“SELECT@rid FROM”到“SELECT FROM”没有什么区别,但是将“INNode”更改为“IN”纠正了我的错误。是的,这很有效。“SELECT@rid FROM”改为“SELECT FROM”没有什么区别,但将“INNode”改为“IN”纠正了我的错误。