能否更新Apache AGE属性类型?批量转换字符串pages属性为整数
批量转换Apache AGE中Book顶点的pages属性类型
可以实现批量将字符串类型的pages属性转换为整数类型,通过Cypher语句结合类型判断与转换函数即可完成。
核心更新语句
使用以下Cypher语句,匹配所有pages属性为字符串类型且可转换为有效整数的Book顶点,批量更新属性类型:
SELECT * FROM cypher('books', $$ MATCH (v:Book) WHERE type(v.pages) = 'STRING' AND toInteger(v.pages) IS NOT NULL SET v.pages = toInteger(v.pages) RETURN v.title, v.pages, type(v.pages) $$) AS (title agtype, pages agtype, property_type agtype);
语句说明
MATCH (v:Book):匹配所有标签为Book的顶点。WHERE type(v.pages) = 'STRING':筛选出pages属性为字符串类型的顶点。AND toInteger(v.pages) IS NOT NULL:额外过滤掉无法转换为有效整数的字符串(比如非数字字符串),避免将pages设置为null。SET v.pages = toInteger(v.pages):将符合条件的pages字符串转换为整数并更新属性。RETURN子句:返回更新后的顶点标题、pages值及属性类型,用于验证更新结果。
验证更新结果
执行以下查询确认所有Book顶点的pages属性类型:
SELECT * FROM cypher('books', $$ MATCH (v:Book) RETURN v.title, v.pages, type(v.pages) $$) AS (title agtype, pages agtype, property_type agtype);
执行后会看到所有原本为字符串类型的有效数字pages都已转换为整数类型。
内容的提问来源于stack exchange,提问作者Carla
相关产品推荐
相关产品推荐

