2015-02-17 1 views
1

Моя простая база данных содержит узлы «терминов» и «коды», связанные друг с другом. Существует два типа отношений.Удалите повторяющиеся строки после UNION ALL в Neo4j

Отношения между терминами и кодами, называемые: 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-> Remove Duplicates в MS Excel.

Я не могу реализовать его в Neo4j так просто.

Благодарим за помощь!

ответ

1

Вы можете использовать UNION вместо UNION ALL, и это вернет уникальный набор через два. Вы хотите пересечение, хотя вместо этого?

+0

Мой вопрос был неправильным, извините. Я исправил это сейчас. Мне нужно удалить повторяющиеся строки в результирующем наборе после UNION ALL. – 84RR1573R

+0

Большое спасибо! Виноват. – 84RR1573R

 Смежные вопросы

  • Нет связанных вопросов^_^