它们在图形数据库上查询入站边缘和出站边缘之间的性能差异吗?

Are their performance differences between querying inbound vs outbound edges on a graph database?

假设我有一个顶点 V() 和 K() 并且我有潜在的边:

V --isChildOf--> K

V <--isParentOf-- K

如果我正在寻找顶点 V 的子节点,它们的性能差异是否在:

V.out('isChildOf') vs V.in('isParentOf')?

数据库:NeptuneDb

[已编辑]

对于 neo4j,遍历入站关系与出站关系之间存在 性能差异。

但是,对于 Neptune,入站关系可能效率较低。正如@KafirDadosh 所指出的,Neptune Graph Data Model 文档指出:

If the number of distinct predicates in a graph becomes large, the default Neptune access strategy can become inefficient. In Gremlin, for example, an in() step where no edge labels are given, or any step that uses in() internally such as both() or drop(), may become quite inefficient.

@cybersam 对 Neptune 的回答不准确。 根据this:

If the number of distinct predicates in a graph becomes large, the default Neptune access strategy can become inefficient. In Gremlin, for example, an in() step where no edge labels are given, or any step that uses in() internally such as both() or drop(), may become quite inefficient.

这可以通过启用使用实验室模式创建 OSGP 索引来缓解。