Cypher函数如何进行正则表达式匹配


在Neo4j中,Cypher是一种用于查询图形数据库的语言

要在Cypher中使用正则表达式,您可以使用REGEXP关键字。下面是一个简单的示例,说明如何使用正则表达式在Cypher中匹配节点的属性值:

-- 假设我们有一个名为Person的节点,其中有一个名为Name的属性CREATE (p:Person {Name: 'John Doe'})-- 使用正则表达式匹配Name属性的值MATCH (p:Person)WHERE p.Name REGEXP 'John'RETURN p

在这个例子中,我们创建了一个名为Person的节点,其Name属性值为’John Doe’。然后,我们使用MATCH子句查找所有Name属性值包含’John’的Person节点,并使用RETURN子句返回这些节点。

请注意,正则表达式的语法可能因数据库管理系统而异。在Neo4j中,正则表达式使用REGEXP关键字,并且遵循Perl兼容正则表达式(PCRE)语法。

如果您需要更高级的正则表达式功能,可以考虑使用其他支持正则表达式的查询语言,如SQL或JavaScript。然后,您可以使用apoc库(应用程序程序包)在Neo4j中执行这些查询。例如,以下示例使用apoc库在Neo4j中执行SQL风格的正则表达式匹配:

-- 安装apoc库(如果尚未安装)CALL apoc.install.plugin('org.neo4j.APOC.extended.regex', '4.4.0.5')-- 使用apoc库执行SQL风格的正则表达式匹配MATCH (p:Person)WITH p, apoc.text.regexMatch(p.Name, 'John', 'i') AS matchWHERE match.length() > 0RETURN p

在这个例子中,我们首先安装apoc库(如果尚未安装),然后使用apoc.text.regexMatch函数执行正则表达式匹配。这个函数接受三个参数:要搜索的文本、正则表达式模式和可选的标志(在这里我们使用’i’标志表示不区分大小写)。最后,我们使用WHERE子句过滤出匹配的节点,并使用RETURN子句返回这些节点。


上一篇:Cypher子句如何进行数值计算

下一篇:Cypher函数如何进行路径操作


Cypher
Copyright © 2002-2019 测速网 www.inhv.cn 皖ICP备2023010105号
测速城市 测速地区 测速街道 网速测试城市 网速测试地区 网速测试街道
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!

热门搜索 城市网站建设 地区网站制作 街道网页设计 大写数字 热点城市 热点地区 热点街道 热点时间 房贷计算器