Week 11 Sample Solution
Sample solution for Week 11 lab
C.3. List and Pattern Comprehension
Combine the two above into one block of queries to reduce redundant code.
MATCH (jobi:Cook {name: 'Jobi'})
WITH jobi, [(jobi)-->(b:Person) | b.occupation] AS jobi_circle_occupation
UNWIND jobi_circle_occupation AS occupation
WITH jobi, collect(DISTINCT occupation) AS distinct_occupations
SET jobi.circle_occupations = distinct_occupations
RETURN jobiModify the third code chunk and try to list the people with the number of occupation types related to them in desending order. e.g. (if the circle_occupation of Alice is ["Mechanic", "Actor"], the result should be Alice 2)
MATCH (n:Person)
WITH n, [(n)-->(b:Person) | b.occupation] AS my_circle_occupations
UNWIND my_circle_occupations AS occupations
WITH collect(DISTINCT occupations) AS distinct_occupations, n
SET n.num_circle_occupations = SIZE(distinct_occupations)
RETURN n.name,n.num_circle_occupations
ORDER BY n.num_circle_occupations DESCC.4. Virtual Relationships and Virtual Nodes (Graph Projections)
Adapt the above code to create such virtual nodes for all cities.
Last updated