从neo4j节点属性

时间:2018-01-23 21:30:48

标签: neo4j cypher

在图表中有人员节点,其中包含有关人的生日和出生地信息的属性,例如

  

Jaroslavice 8.10.1679

     

Alcudia 26.7.1689

是否可以从文本类型的属性中获取ISO-dates和位置并将其放入新属性中?

1 个答案:

答案 0 :(得分:3)

当然可以。

一种方法是搜索不包含新属性的节点;然后使用split函数划分空格上的文本 和期间;然后以您需要的格式重新组合日期。

像这样......

MATCH (person:Person)
WHERE NOT exists(person.birthdate)
WITH person, 
split(person.informations,' ')[0] AS place,
split(person.informations,' ')[1] AS date
WITH person, 
place, 
split(date,'.')[0] AS day,
split(date,'.')[1] AS month,
split(date,'.')[2] AS year
SET person.birth_place = place,
person.birthdate = substring('0000', 0, 4 - size(year)) + year 
    + '-' 
    + substring('00', 0, 2 - size(month)) + month 
    + '-' 
    + substring('00', 0, 2 - size(day)) + day