在 Neo4j 中删除 UNION ALL 之后的重复行
Remove duplicate rows after UNION ALL in Neo4j
我的简单数据库包含相互链接的 'terms' 和 'codes' 节点。有两种类型的关系。
'terms' 和 'codes' 之间的关系称为 :CODE 并且是无向的(或在两个方向上同等阅读)。 'terms' 之间的关系称为 :NT(表示狭义术语)并且是定向的。
我想获取由 :NT 关系连接并具有相同代码的所有术语的列表。这是 SQL 服务器中非常简单的查询,但接下来我想扩展所有 :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;
我想删除结果集中的重复行。
这与 MS 中的数据->删除重复项完全相同 Excel。
我在 Neo4j 中没那么容易实现它。
感谢您的帮助!
您可以使用 UNION
而不是 UNION ALL
,这将 return 一个跨越两者的独特集合。不过你想要交集吗?
我的简单数据库包含相互链接的 'terms' 和 'codes' 节点。有两种类型的关系。
'terms' 和 'codes' 之间的关系称为 :CODE 并且是无向的(或在两个方向上同等阅读)。 'terms' 之间的关系称为 :NT(表示狭义术语)并且是定向的。
我想获取由 :NT 关系连接并具有相同代码的所有术语的列表。这是 SQL 服务器中非常简单的查询,但接下来我想扩展所有 :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;
我想删除结果集中的重复行。
这与 MS 中的数据->删除重复项完全相同 Excel。
我在 Neo4j 中没那么容易实现它。
感谢您的帮助!
您可以使用 UNION
而不是 UNION ALL
,这将 return 一个跨越两者的独特集合。不过你想要交集吗?