Neo4j 连接到节点(如果存在),以防止重复和冗余条目
我有一个XML文件,我试图使用Neo4j 连接到节点(如果存在),以防止重复和冗余条目,neo4j,cypher,Neo4j,Cypher,我有一个XML文件,我试图使用Neo4j将其可视化。看起来是这样的: <Organism> <Name>Bacillus halodurans C-125</Name> <Enzyme>M.BhaII</Enzyme> <Motif>GGCC</Motif> <Enzyme>M1.BhaI</Enzyme> <Motif>GCATC</Motif&g
Neo4j
将其可视化。看起来是这样的:
<Organism>
<Name>Bacillus halodurans C-125</Name>
<Enzyme>M.BhaII</Enzyme>
<Motif>GGCC</Motif>
<Enzyme>M1.BhaI</Enzyme>
<Motif>GCATC</Motif>
<Enzyme>M2.BhaI</Enzyme>
<Motif>GCATC</Motif>
</Organism>
然而,在某些情况下,不同的
生物体
具有不同的酶
具有已存在于数据库中的基序。我不想创建新节点,而是希望酶
连接到它所在的motif
节点。由于我刚开始在neo4j(大约6小时前)我不知道如何做到这一点。任何帮助都将不胜感激 只需将“创建”替换为“合并”。如果没有与给定属性匹配的节点,则插入该节点;如果匹配,则插入该节点
以下是密码的基本知识。是否将所有创建
替换为合并
?只要节点可能已经存在(并且您希望防止重复),都可以。大概这里所有的酶都是唯一的,所以这些酶是不必要的。我刚刚试过,它一直给我这个错误无效输入'(“:应为空白、注释“=”、节点标签、MapLiteral、参数、关系模式、ON、LOAD CSV、START、MATCH、UNWIND、MERGE、CREATE、SET、DELETE、REMOVE、FOREACH、WITH、RETURN、UNION“;”或输入结束(第21行第14列)
。我不返回任何内容,因为我只想添加节点和关系
CREATE (halodurans:Organism { name: "Bacillus halodurans C-125" })
CREATE (halodurans_e1:Enzyme { name: "M.BhaII" })
CREATE (halodurans_m1:Motif { name: "GGCC" })
CREATE (halodurans_e2:Enzyme { name: "M1.BhaI" })
CREATE (halodurans_m2:Motif { name: "GCATC" })
CREATE (halodurans_e3:Enzyme { name: "M2.BhaI" })
CREATE UNIQUE (halodurans)-[:HAS_ENZYME]->(halodurans_e1)
CREATE UNIQUE (halodurans)-[:HAS_ENZYME]->(halodurans_e2)
CREATE UNIQUE (halodurans)-[:HAS_ENZYME]->(halodurans_e3)
CREATE UNIQUE (halodurans_e1)-[:HAS_MOTIF]->(halodurans_m1)
CREATE UNIQUE (halodurans_e2)-[:HAS_MOTIF]->(halodurans_m2)
CREATE UNIQUE (halodurans_e3)-[:HAS_MOTIF]->(halodurans_m2)