Я пытаюсь разобрать запрос Cypher, который использует оператор регулярного выражения =~
, но я получаю сообщение об ошибке при попытке использовать libcypher-parser.
Я пытался проанализировать запрос, найденный вдокументация Neo4J:
WITH ['mouse', 'chair', 'door', 'house'] AS wordlist
UNWIND wordlist AS word
WITH word
WHERE word =~ '.*ous.*'
RETURN word
Его можно найти здесь: https://neo4j.com/docs/cypher-manual/3.5/syntax/operators/#syntax-using-a-regular-expression-to-filter-words
Я пробовал эту команду:
echo "WITH ['mouse', 'chair', 'door', 'house'] AS wordlist UNWIND wordlist AS word WITH word WHERE word =~ '.*ous.*' RETURN word" | cypher-lint -a
Я получаю эту ошибку:
<stdin>:1:100: Invalid input '~': expected NOT, '+', '-', TRUE, FALSE, NULL, "...string...", a float, an integer, '[', a parameter, '{', CASE, FILTER, EXTRACT, REDUCE, ALL, ANY, NONE, SINGLE, shortestPath, allShortestPaths, '(', a function name or an identifier
...ordlist UNWIND wordlist AS word WITH word WHERE word =~ '.*ous.*' RETURN word
^
Это действительно не поддерживается?Какую версию libcypher-parser мне следует использовать, которая поддерживает оператор =~
?