有用apoc从mysql导入数据至neo4j的吗?当字段为空时如何让属性不去创建?
发布于 7 年前 作者 georgeyz 3270 次浏览 来自 问答

替代方案,先创建为空的属性,然后删除这些属性但是删除时写的cypher貌似没有执行 如下match (c:Company) with c foreach(p in keys© | foreach (ignoreme in CASE c.p WHEN “” THEN [1] ELSE [] END | remove c.p) ) return c

3 回复

解决办法,将mysql中为空的内容设置为null,自动不会创建为空的属性 这个有点疑惑啊:如果你以CSV的方式导入时,字段为空时,就必须为空,而不能设置为null,这与mysql导入完全相反

Neo4j不支持属性值为Null,因此 SET n.property = null 相当于删除这个属性。另一方面,Neo4j是Schema-lite,它不要求所有拥有相同标签的节点都有相同数量和类型的属性,所以源数据中属性为空,可以不创建/赋值。

@graphway 当mysql的数据为空时,还是会创建属性的,这个已测,所以把空设为null是一种方法,实现没有数据就不创建属性的目的

回到顶部