Так что в Neo4j, если у вас есть различные узлы, и у них есть свойство со значением 1 следующим образом:
n.stringProp = "something"
Тогда вы можете получить различные узлы, которые соответствуют любому свойству в списке запросов, используя запрос MATCH как
MATCH (n)
WHERE n.stringProp IN ["something", "somethingElse", "etc"]
RETURN n
Однако, если у вас есть узлы со свойствами, которые являются списками, выполните следующие действия:
n.stringListProp = ["red", "purple", "green"]
И вы хотите получить узлы, которые имеют один или несколько тегов в список запросов в их свойствах списка, то вы не можете просто сделать запрос, как:
MATCH (n)
WHERE n.stringListProp IN ["red"]
RETURN n
И вы также не можете использовать CONTAINS, потому что это для подстрок. Таким образом, вы не можете сделать:
MATCH (n)
WHERE n.stringListProp CONTAINS "red"
RETURN n
И вы не можете l oop через них использовать FOREACH, потому что FOREACH предназначен только для операций CREATE, MERGE или DELETE. Поэтому я думаю, что вы должны использовать UNWIND для этого типа запроса MATCH, но я действительно не уверен, как структурировать этот запрос.
Если кто-нибудь знает, как это сделать, не могли бы вы мне помочь?