如何查看 gremlin 的任何属性中是否存在值?

问题描述

我设置了 gremlin 3.4.9,有几种不同类型的顶点。 (例如人、工作、家庭)。我希望能够遍历所有这些样本并查看是否有任何属性包含值。 例如:

我有一个

具有属性的人顶点:姓名、年龄、位置、生物

具有以下属性的工作顶点:职位、薪酬、地点、描述

具有属性的主顶点:成本、位置、描述

我想看看这些顶点的这些属性是否包含值“family”。 该查询会是什么样子?

解决方法

您可以使用 properties() 步骤和 hasValue() 步骤的组合来完成此操作,如下所示。但是,我不希望这在大多数/所有数据库上的性能非常好,因为它无法使用任何索引或优化。

g.V().where(properties().hasValue("family"))

Properties Step

Has Step

,

您可以像这样搜索属性值:

g.V().properties().hasValue("family");

这似乎适用于不同的顶点(我相信这就是您正在寻找的)