簡體   English   中英

OrientDB:相鄰頂點的更新

[英]OrientDB: UPDATE of adjacent vertex

背景

我有一個由OrientDB中的圖形表示的模型。 該模型包括幾個類,其中包括AB 這些類具有關系連接has作為從邊緣AB 邊緣還將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.

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