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

标签 nosql neo4j graph-databases orientdb

在 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/

相关文章:

.net - 指定索引文档集合排序

node.js - 同一应用程序使用 NOSQL 和 RDBMS

arangodb - 如何对 ArangoDB 中的文档字段执行原子操作?

json - Neo4j/Cypher - 返回带有链接节点的嵌套 JSON 对象

graph-databases - 用于匹配边缘属性的 ArangoDB AQL FILTER 图

database - 如何将 CSV 文件导入 Titan 图数据库?

cassandra - Cassandra 中的 TimeUUID 与时间戳?

neo4j - 在图中查找最长路径

neo4j - 考虑到关系方向性,计算密码中的总路径成本

java - 如何存储和检索 Neo4j 索引