簡體   English   中英

如何從其連接的兩個頂點中選擇一條邊

[英]How to select an edge from the two vertices it connects

我試圖弄清楚從連接的兩個頂點中選擇邊的格式。

邊在“連接”類中,並連接兩個“節點”類頂點。 源節點為#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

希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM