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,我被Neo4J中的并行插入卡住了。我一直以这种方式开发带有链接列表的新闻提要: (Resource)-[:NEWS]->(Latest_New)-[:NEXT]->(Second_latest)-[:NEXT]->... 我有以下查询,以便在列表的开头插入[:NEWS]->latest\u new: CREATE CONSTRAINT ON (c:New) ASSERT c.head_id IS UNIQUE MERGE (head: New {head_id: uniqu

我被Neo4J中的并行插入卡住了。我一直以这种方式开发带有链接列表的新闻提要:

(Resource)-[:NEWS]->(Latest_New)-[:NEXT]->(Second_latest)-[:NEXT]->...
我有以下查询,以便在列表的开头插入[:NEWS]->latest\u new:

CREATE CONSTRAINT ON (c:New) ASSERT c.head_id IS UNIQUE

MERGE (head: New {head_id: unique_id})
REMOVE head.head_id
WITH head
MATCH (resource)
WHERE resource.uid = resource_uid
OPTIONAL MATCH (resource)-[rel:NEWS]->(last_head)
WITH resource,head,rel, collect(last_head) as previous
DELETE rel
FOREACH (x IN previous | CREATE resource-[:NEWS]->(new_head:New {head_id: unique_id})-[:NEXT]->x)
WITH resource, head, rel
WHERE rel IS NULL
CREATE resource-[:NEWS]->head
SET header.head_id = unique_id
当我按顺序运行此查询时,一切都正常。另一方面,当我同时运行它时,它只会创建没有关系的空新节点,有时会出现死锁。我对Neo4j中MERGE+UNIQUE约束和其他并行内容的锁定行为感到困惑

你知道什么是失败的吗?欢迎对MERGE+UNIQUE约束的锁定beaviour进行一些解释。多谢各位