我可以在neo4j中使用regex并收集密码吗

z2acfund  于 2023-03-08  发布在  其他
关注(0)|答案(1)|浏览(135)
MATCH (p:Patient)-[]-(d:Disease)
WHERE (d.prefLabel CONTAINS 'Diarrhea' OR d.prefLabel CONTAINS 'Hypothyroidism')
WITH p, COLLECT(d.prefLabel) AS conditions
WHERE "Hypothyroidism, unspecified" IN conditions AND "Diarrhea, unspecified" IN conditions
RETURN p. patientld
LIMIT 25

我有这个查询,我想使用正则表达式,其中有“甲状腺功能减退,未指明”,这样我就不必给予全文匹配,有什么办法吗?

7xllpg7q

7xllpg7q1#

在Cypher中,您可以使用=~运算符来使用正则表达式。
但是您的查询似乎不需要使用正则表达式。下面是您的查询的简化版本:

WITH ['Diarrhea', 'Hypothyroidism'] AS diseases
MATCH (p:Patient)--(d:Disease)
WHERE ANY(x IN diseases WHERE d.prefLabel CONTAINS (x + ", unspecified"))
RETURN DISTINCT p.patientld
LIMIT 25

不需要先按“xyz”再按“xyz,unspecified”进行过滤,您可以只按较长的字符串进行过滤。

相关问题