nosql – 每个方向具有不同名称的方向关系

前端之家收集整理的这篇文章主要介绍了nosql – 每个方向具有不同名称的方向关系前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在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,DEX和RDF Sail Stores上工作.

希望有所帮助,马尔科.

猜你在找的NoSQL相关文章