Нормализованный UNICODE корейский Hangul не отображается должным образом на Tkinter

В этом случае будет проще работать со списками. Я заметил, что вы используете множественные имена переменных users и viewerUsers, но они не представляют списки, они представляют индивидуальное соответствие для каждой строки. Я нахожу, что это помогает, если вы сохраняете только множественные имена переменных для списков, что позволяет избежать некоторой путаницы.

Хотя мы могли бы использовать MATCH и collect (), чтобы получить список пользователей для исключения, мы примем ярлык и использование шаблона, чтобы получить список из совпадения в одной строке. И как только у нас есть список пользователей для исключения, мы можем использовать это в предложении WHERE для подключенных пользователей y, чтобы мы отфильтровали все, что должно быть исключено (поскольку они подключены к x).

WITH [(:User { id: x })-[:CONNECTED]-(user:User) | user] as excluded
MATCH (:User { id: y })-[:CONNECTED]-(user:User)
WHERE NOT user IN excluded
RETURN user

В качестве альтернативы вы можете взять оба списка и выполнить вычитание списков с помощью процедур APOC:

WITH [(:User { id: x })-[:CONNECTED]-(user:User) | user] as excluded,
 [(:User { id: y })-[:CONNECTED]-(user:User) | user] as users
RETURN apoc.coll.subtract(users, excluded) as users

Обратите внимание, что этот будет возвращать только один список, поэтому, если вы хотите вернуться к нескольким записям с одним пользователем, каждый из которых вам понадобится пользователям UNWIND.

2
задан Miraj50 20 January 2019 в 19:14
поделиться