[英]OrientDB: UPDATE of adjacent vertex
我有一個由OrientDB中的圖形表示的模型。 該模型包括幾個類,其中包括A
和B
這些類具有關系連接has
作為從邊緣A
到B
。 邊緣還將A
連接到其他類別:
A ---has--> B
A ---has--> C
我想更新B
的屬性,如果它具有has
給定RecordID的A
邊緣。
目前,我選擇所有邊緣的目標/出頂點has
是類的B
開始在給定的recordId。 這行得通,但感覺好像我缺少一個更簡單的解決方案。
UPDATE (SELECT expand(out('has')[@class = 'B']) FROM #11:1) SET prop = true
我還嘗試了以下操作,但未能達到預期效果:
UPDATE B SET prop = true WHERE in('has').@rid = #11:1
有沒有比使用SUBSELECT更新更簡單的解決方案?
我不認為有任何預制sql函數可以在更新中執行這種過濾。
您的第一個查詢是要經過的方法,因為它遍歷而不是對所有頂點進行過濾。 是的,您有一個子查詢,但是比在update語句中使用where更快。
像這樣的語法會很酷:
update #9:1.inV('edgeClassName')[@class='className'] set prop = true
我們必須使用子查詢才能使其正常工作。 對我來說很自然。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.