我试图找出从连接的两个顶点中选择边的格式。
边线在“连接”类中,并连接两个“节点”类顶点。源节点为#11:6(唯一索引字段ip = '10 .64.32.100'),目标节点为#11:7(ip = '10 .79.215.231')。Connection类的Connection.in和Connection.out属性具有UNIQUE索引。
我已经尝试了以下所有返回空集的查询:
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)
较大的上下文正在更新边缘类“连接”中的时间字段。连接具有EMBEDDEDLIST次时间戳。使用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!!>>)
从上面可以看到,由于我使用捕获的异常来触发UPDATE,因此我没有@rid已存在且具有唯一索引的Connection,因此我需要一个SELECT语句来指定我想要的Connection对象增加新的时间。另一种解决方案是弄清楚如何返回已存在的Connection的@rid(如果存在)。我也不知道该怎么做。
谁能帮助我找到正确的SELECT语句以仅使用两个连接顶点来返回所需的边?
试试这个查询:
SELECT FROM Connection WHERE OUT = #11:6 AND (SELECT @rid FROM Node WHERE ip = "10.79.215.231") IN IN
希望能帮助到你。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句