我的简单数据库包含'术语的节点'和'代码'相互联系。有两种类型的关系。
'术语之间的关系'和'代码'调用:CODE并且是无向的(或在两个方向上均等地读取)。术语之间的关系'叫:NT(这意味着狭义的术语)并且是有针对性的。
我想得到所有连接的术语列表:NT关系并且具有相同的代码。这在SQL Server中是非常简单的查询,但接下来我想扩展所有:NT *关系。这就是我使用Neo4j的原因。
如果我运行下面的查询,那就没问了,除了很多重复的行。
MATCH (a)-[:NT]->(b), (a)-[:CODE]-(c), (b)-[:CODE]-(c)
RETURN DISTINCT a.termid AS termid, c.code AS code
UNION ALL
MATCH (a)-[:NT]->(b), (a)-[:CODE]-(c), (b)-[:CODE]-(c)
RETURN DISTINCT b.termid AS termid, c.code AS code
ORDER BY termid;
我想删除结果集中的重复行。
这与Data->在MS Excel中删除重复项完全相同。
我无法在Neo4j中轻松实现它。
感谢您的帮助!
答案 0 :(得分:1)
您可以使用UNION
代替UNION ALL
,这将在两者之间返回一个唯一的集合。你想要交叉吗?