Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j合并约束违反非约束属性值_Neo4j_Cypher - Fatal编程技术网

Neo4j合并约束违反非约束属性值

Neo4j合并约束违反非约束属性值,neo4j,cypher,Neo4j,Cypher,我遇到的问题与此问题类似,但看起来没有违反我的约束(id)。相反,我得到了一个关于另一个属性的错误,它根本不应该是一个约束。我正在使用apoc连接到mongo db,并已验证mongo db是否正常。这是我的疑问: CALL apoc.mongodb.get('mongodb://[HOSTNAME]:[PORT],'dbname','tablename',null,true) YIELD value as elt MERGE (e:TableElements {id : elt.pid}) O

我遇到的问题与此问题类似,但看起来没有违反我的约束(
id
)。相反,我得到了一个关于另一个属性的错误,它根本不应该是一个约束。我正在使用apoc连接到mongo db,并已验证mongo db是否正常。这是我的疑问:

CALL apoc.mongodb.get('mongodb://[HOSTNAME]:[PORT],'dbname','tablename',null,true) YIELD value as elt
MERGE (e:TableElements {id : elt.pid})
ON MATCH SET 
    e.symbol = elt.sym,
    e.electron_cfg = elt.el
ON CREATE SET 
    e.atomic_number = elt.num,
    e.symbol = elt.sym,
    e.electron_cfg = elt.el,
    e.atomic_weight = elt.weight,
    e.name = elt.name;
我得到一个错误:

Node(1) already exists with label `TableElements` and property `name` = 'HYDROGEN'

撇开重复元素的所有问题不谈,我怎么可能在一个未标识为约束的属性上遇到约束冲突?我对MERGE的理解是,它只在MERGE子句中指定的属性上进行合并,我认为它只是由属性
id
与传入的
elt.pid
匹配的所有节点组成,并且我已经验证了没有任何重复的
elt.pid
s,所以我不确定会发生什么。

你确定
db.indexes()
不会在TableElements(name)上返回唯一的约束吗?@ChristopherWillemsen这是mongo查询吗?我对这两个都很陌生,但它似乎不是密码查询,我不确定mongodb上的约束会如何影响Neo中的设置属性你确定
db.indexes()
不会在:TableElements(name)上返回唯一约束吗?@ChristopherWillemsen这是mongo查询吗?我对这两个都很陌生,但它似乎不是一个密码查询,我不确定mongodb上的约束将如何影响neo中的属性设置