在 GraphDB 平台(Neo4j、OrientDB、FlockDB、HyperGraphDB...)中,可以定义节点之间的关系。
我需要定义方向关系,以便关系根据其方向具有不同的名称。
例如:
Parent(A,B) := Sibling(B,A).
然后,我想使用术语和方向遍历或查询图形。
当然,我不想定义两种关系,而只想定义一种。
有时我什至想使用非定向名称,例如:
Call(A,B) := Answer(B,A);
TalkWith(A,B) := Call(A,B) || Call(B,A)
并使用定向或非定向遍历/查询
例如,我可能想问:
Get any X that TalkWith(A,X))
或者
Get any X that Call(A,X))
或者
Get any X that Answer(A,X))
哪些现有的 GraphDB 平台支持它?
最佳答案
在 Gremlin (http://gremlin.tinkerpop.com) 中,您可以根据数据中的显式内容创建抽象/隐式/推断关系。因此,您可以以这种方式定义推理。
https://github.com/tinkerpop/gremlin/wiki/User-Defined-Steps
Gremlin 在 TinkerGraph、Neo4j、OrientDB、DEX 和 RDF Sail Stores 上工作。
希望有所帮助,
马可。
关于nosql - 每个方向具有不同名称的方向关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5867018/