coll.union

Description

Combines two lists and returns a new list containing all unique elements from both lists. Duplicates are automatically removed, treating the inputs as sets.

Syntax

flex.coll.union(list1, list2)

Parameters

Parameter Type Required Description
list1 list Yes The first list
list2 list Yes The second list

Returns

Type: list

A new list containing all unique elements from both input lists. The order is not guaranteed.

Examples

Example 1: Basic Union

WITH [1, 2, 3] AS a, [3, 4, 5] AS b
RETURN flex.coll.union(a, b) AS result

Output:

result
--------------
[1, 2, 3, 4, 5]

Example 2: Combining Tags from Multiple Nodes

MATCH (d1:Document {id: 'doc1'})
MATCH (d2:Document {id: 'doc2'})
RETURN flex.coll.union(d1.tags, d2.tags) AS allTags

Example 3: Merging User Interests

MATCH (u:User)
WITH collect(u.interests) AS interestLists
RETURN reduce(result = [], list IN interestLists | 
    flex.coll.union(result, list)
) AS allUniqueInterests
MATCH (p:Product {id: 123})
MATCH (similar:Product)-[:SIMILAR_TO]-(p)
RETURN flex.coll.union(p.categories, similar.categories) AS combinedCategories

Notes

  • Automatically removes duplicates from the result
  • Works with any comparable data types
  • Order of elements in the result is not guaranteed
  • Equivalent to mathematical set union operation
  • Both lists are spread and deduplicated using Set

See Also