Tinkerpop:创建嵌套属性

Tinkerpop: Creating nested Properties

我想创建一个标签 foo 的顶点,其中包含一个 属性 child。 Child属性会有两个属性A,B。Child本身可以包含更多的嵌套children.

如果顶点 foo 被删除,它的所有属性包括 child 属性 应该被删除。我的查询模式是查询具有 属性 A = 'bar'

的标签 foo 的所有顶点

这可以通过将 child 表示为顶点而不是 属性 来轻松表示,但是必须通过从顶点执行 dfs/bfs 来删除 child富。事实证明这是一件代价高昂的事情。如果child保存为属性,drop操作会保存dfs/bfs.

如何创建嵌套属性以及如何使用 apache tinkerpop 查询它们。有没有我可以采用的其他数据模型来降低查询成本。

Neptune 不支持元属性。即使可以,您也不应该使用它们。如果你有层次结构,并且你已经使用了图形数据库,那么你应该从它的功能中受益。 如果您只需要存储嵌套属性,也许您应该查看文档数据库。

删除子顶点应该不是一个昂贵的操作:

g.V(child_id).emit().repeat(out()).drop()