Ответ 1
используя регулярные выражения: http://neo4j.com/docs/developer-manual/current/#query-where-regex
start n = node(*) where n.Name =~ '.*SUBSTRING.*' return n.Name, n;
Похоже, что LIKE не поддерживается в запросах Cypher.
Есть ли какой-нибудь другой конструктор, который выполнил бы ту же задачу?
Например:
start n = node(*) where n.Name LIKE('%SUBSTRING%') return n.Name, n;
используя регулярные выражения: http://neo4j.com/docs/developer-manual/current/#query-where-regex
start n = node(*) where n.Name =~ '.*SUBSTRING.*' return n.Name, n;
Начиная с версии 2.0, в предпочтительном синтаксисе используется MATCH
.
например.
MATCH (n) where n.Name =~ '.*SUBSTRING.*' return n.Name, n;
Если вы хотите сделать регистр нечувствительным
MATCH (n) WHERE n.name =~ '(?i).*SUBSTRING.*' RETURN n;
Нет необходимости в регулярных выражениях:
start n = node(*) where n.Name contains "substring" return n.Name, n;
Перейдите в cypher refcard и прокрутите вниз до раздела Predicates. Вы найдете это и другие полезные вещи.
Хотите нечувствительность к регистру? Преобразовать в нижний регистр:
start n = node(*) where lower(n.Name) contains lower("substring") return n.Name, n;