Neo.ClientError.Statement.SemanticError:无法使用ID的空属性值合并节点

时间:2018-09-15 16:04:45

标签: graph neo4j

我正在使用此查询创建一些关系,但是如果不存在该节点,则需要创建节点,但是merge属性为某些记录和其他记录创建,它为合并提供了ID上的空值。

基本上,如果记录存在,它应该合并,否则它应该创建我该怎么做?

import messages from '../messages'

export default {
   props: ['page', 'locale'],
   data(){
       return {
           slides: messages[this.locale].message[this.page]
       }
   }
}

<slide v-for="(slide, i) in slides">
    <p v-html="slide"></p>
    <img :src="'/assets/img/slider-bg-'+ i +'.png'" alt="">
</slide>

请帮助

1 个答案:

答案 0 :(得分:1)

您正在做MERGE (con:ContactInfo{Id:hc.ContactInfoId}),但是如果hc.ContactInfoId为NULL,则会得到您的错误。

因此,这意味着您的图形中有一个关系HAS_RELATION,而没有ContactInfoId属性。

为避免错误,可以在cypher中使用coalesce函数。 此函数需要2个参数:如果第一个为NULL,则十个函数将返回第二个。

所以也许您可以使用此合并:MERGE (con:ContactInfo{Id:coalesce(hc.ContactInfoId, id(hc))})