OrientDB:相邻顶点的UPDATE

时间:2015-08-03 08:38:03

标签: orientdb

背景

我有一个由OrientDB中的图表代表的模型。该模型由几个类组成,其中包括Bhas。这些类与关系A相关联,作为从BA的边缘。边缘还将A ---has--> B A ---has--> C 连接到其他类:

B

问题

我想更新has的属性,如果它具有A边缘,并且具有给定RecordID的has

我的解决方案

目前,我正在从给定的RecordID开始选择类B的所有边UPDATE (SELECT expand(out('has')[@class = 'B']) FROM #11:1) SET prop = true的目标/外部顶点。这有效,但感觉我错过了一个更简单的解决方案。

UPDATE B SET prop = true WHERE in('has').@rid = #11:1

我也尝试过以下操作,按预期工作:

{{1}}

我的问题

是否有比使用SUBSELECT的UPDATE更简单的解决方案?

1 个答案:

答案 0 :(得分:0)

我认为没有任何premade sql函数可以在update中进行这种过滤。

您的第一个查询是要走的路,因为它遍历而不是对所有顶点进行过滤。是的,你有一个子查询,但它比在update语句中使用where更快。

拥有这样的语法会很酷:

p.one {
    border: 2px solid #0088dd;
}
p.two {
    border-width: 2px;
    border-color: #bbbbaa #111111 #ee3e80 #0088dd;
    border-style: solid;
}

我们必须使用子查询才能工作。这对我来说很自然。