gpt4 book ai didi

graph-databases - OrientDb 中两个关系的公共(public)顶点

转载 作者:行者123 更新时间:2023-12-04 06:58:48 25 4
gpt4 key购买 nike

我正在尝试使用 OrientDb 并尝试一些测试查询,以了解使用图形数据库的语法和功能。特别是我很难找到一个公共(public)顶点来满足与其他两个不相关的顶点的两个独立关系。

例如,

假设我有一个具有属性名称的人顶点,一个具有模型的汽车顶点和一个具有属性 zip 的位置顶点,具有以下边缘依赖性

人 --- 拥有 --> 汽车

人 --- 生活 --> 地点

我试图找到拥有特定型号汽车并居住在特定 zip 的所有人员顶点。

我不确定自己在努力中究竟遗漏了什么,但我们将不胜感激任何帮助。谢谢

最佳答案

让我们假设这个领域模型:

Car <--- Owns ---|   Person   |--- Lives ---> Location
* <--- Owns ---|1 *|--- Lives ---> 1

所有拥有特定车型的人:

select expand(in('Owns')) from Car where model = 'Volvo'

所有住在特定 zip 的人:

select expand(in('Lives')) from Location where zip = '10770'

让我们结合以上内容来获取所有拥有特定车型并居住在特定 zip 的人:

select from (
select expand(in('Owns')) from Car where model = 'Volvo'
) where out('Lives') contains (zip='10770')

次要的:

  • expand() 函数可转换结果集,因此您在打印输出中获得的不仅仅是记录 ID。
  • Owns/Lives 传递给 in/out 函数确保只有类类型的边缘 拥有/生命遍历。

关于graph-databases - OrientDb 中两个关系的公共(public)顶点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22336190/

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