You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache AGE如何检索属性符合特定模式的节点?

检索匹配名字的节点及Apache AGE字符串匹配说明

一、检索名字以Michael开头的节点

你可以通过Cypher的字符串匹配语法实现需求,以下是两种常用方法:

1. 使用STARTS WITH匹配开头

这是针对"开头匹配"场景的直接方案:

SELECT * FROM cypher('graph', $$
MATCH (p:Person)
WHERE p.name STARTS WITH 'Michael'
RETURN p
$$) AS (p agtype);

2. 使用正则表达式匹配

Cypher支持=~操作符实现灵活的正则匹配:

SELECT * FROM cypher('graph', $$
MATCH (p:Person)
WHERE p.name =~ 'Michael.*'
RETURN p
$$) AS (p agtype);

二、关于Apache AGE中的LIKE替代方案

Apache AGE的Cypher语法没有直接提供和PostgreSQL完全一致的LIKE子句,但可以通过内置操作实现类似效果:

  • STARTS WITH:对应LIKE 'Michael%'的前缀匹配
  • ENDS WITH:对应LIKE '%Douglas'的后缀匹配
  • CONTAINS:对应LIKE '%Michael%'的任意位置匹配

比如要匹配名字中任意位置包含Michael的节点,可使用:

SELECT * FROM cypher('graph', $$
MATCH (p:Person)
WHERE p.name CONTAINS 'Michael'
RETURN p
$$) AS (p agtype);

内容的提问来源于stack exchange,提问作者Zainab Saad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 00:23:17