gpt4 book ai didi

sql - Orientdb SQL 查询检查边缘属性

转载 作者:搜寻专家 更新时间:2023-10-30 20:17:27 24 4
gpt4 key购买 nike

我有一个图形数据库,其中包含三种简单的顶点类型:用户、设备和传感器。关系如下,

Edges: UserHasDevices, DeviceHasSensors

每条边都有一个属性名称“isDeleted”。删除顶点时,我不会将其永久删除,而是将边的“isDeleted”属性设置为“true”。请让我知道如何查询已删除的传感器列表和/或已删除的设备列表,这些列表属于特定用户,由用户 ID 标识。

最佳答案

要按边缘属性进行过滤,您可以使用 outE('edgeName') 并将您的条件放在某些括号中。根据我的理解,这应该是可行的:

select expand(outE('UserHasDevices')[isDeleted = true].inV()) from #13:12

在另一个question ,提问者说它不起作用。

我找到了另一种方法来做到这一点。您也可以从边缘扩展。这看起来像这样:

select expand(in) from UserHasDevices where isDeleted = true and out = #13:12

但我认为在边缘性能方面存储属性不是最佳理想选择。最好的办法是让另一条边包含“isDeleted”顶点。它会更简单,并且可以让您拥有更短的查询执行时间。这将消除按边缘属性进行过滤的需要。

关于sql - Orientdb SQL 查询检查边缘属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31393702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com