我是neo4j的新手,我真的需要帮助。
我创建了节点属性NAME,EMAIL和AGE。这些节点具有以下关系:IS_FRIEND_OF,其属性为SINCE与其他节点。
我在NAME中将属性值指定为“A”,“B”,“C”,“D”等。
现在当我在控制台中触发一个查询时:开始n = node(*)其中n.NAME ='A'返回n;
它给出了一个例外:EntityNotFoundException:Node [0]上不存在属性'NAME'
现在,如果我在节点[0]上添加属性NAME =“”然后触发相同的查询,它将提供正确的输出。对于小数据集,它可以工作,但对于较大的数据集,指定node [0]的每个属性似乎不是一个好的解决方案。
它是唯一的解决方法还是别的什么,可以更好地应用?
答案 0 :(得分:1)
STARTn=node(*) WHERE n.NAME! = "A" RETURN n
感叹号将执行以下操作:
如果n.prop = value则为TRUE,如果n为NULL或n.prop不存在则为FALSE
答案 1 :(得分:1)
Cypher有两个特殊的运营商:?和!在这种情况下用来处理此异常
使用?如果缺少n.prop,将评估为true:
START n=node(*) WHERE n.NAME? = "A" RETURN n
使用!如果缺少n.prop,将评估为false:
START n=node(*) WHERE n.NAME! = "A" RETURN n