这个问题是在@cybersam对我之前的一个问题的回答的基础上提出的,然而,关于这个问题的先前知识是不必要的。
在模式搜索查询中,@cybersam的查询的简化版本,理想情况下,我希望不仅将路径匹配到输入模式,而且匹配到所有同构(板旋转和反射)和排列。
在这种情况下,模式是长度为2的字符串列表(A-Z),例如['pq', 'dd', 'pp']
。
因此,在该查询中,我必须为模式列表中的每个模式创建一个OR
语句:
MATCH p = (mFirst:MoveNode)
-[:NEXT_MOVE*${patternLength - 1}]
->(:MoveNode)
WHERE (
mFirst.move = HEAD($patterns[0])
AND [m IN NODES(p) | m.move] = $patterns[0]
)
OR (
mFirst.move = HEAD($patterns[1])
AND [m IN NODES(p) | m.move] = $patterns[1]
)
OR (...)
.
.
.
字符串
有没有一种方法可以让这个程序化?因为,这是不可扩展的,因为我不知道我最终会有多少个排列。
1条答案
按热度按时间ggazkfy81#
您正在查找
ANY
predicate字符串