2

我认为不可能做我正在寻找的事情,但我想我会把它扔掉以获得创造性的建议。统一医学语言系统 (UMLS; https://uts.nlm.nih.gov/home.html) 是一种语义本体,在节点之间具有多种双向关系。例如 x isa y 和 y inverse_isa x。问题是有很多这样的名字和它们的反向关系。因此,在查询中,仅仅排除一个是不够的,因为列表有很多可能性,这很麻烦并且可能会忽略一些东西。换句话说,问题是当存在将反转遍历的关系时,您能否创建有向无环图查询。如果您有从节点 x 到 y 的出站关系,您想忽略从 y 到 x 的入站关系。我正在使用 Neo4j 2.3.0。当我过滤数据时,UMLS 有大约 1100 万个节点和 4500 万个关系。有 654 种关系类型,列表动态增长;

4

2 回答 2

3

如果在 UMLS 中,每个“倒置”关系都与相应的“正”关系配对(即,它们链接相同的 2 个节点,但方向相反),那么您可以省略 neo4j DB 中的倒置关系,因为neo4j 可以在任一方向导航关系。这会解决你的问题吗?

于 2015-05-05T23:09:55.610 回答
0

对不起,我对这个问题的了解很少。

请看看这是否有任何帮助。对于反向关系,您可以查询类似的内容。这里,b 将用于反向关系。

match (n)-[a]->(m)-[b]->(n) return m; 
于 2015-05-06T09:48:44.617 回答