微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Neo4j errorMessages': {'Invalid input \'a\': expected \'u/U\'}

如何解决Neo4j errorMessages': {'Invalid input \'a\': expected \'u/U\'}

我有以下密码

CALL apoc.periodic.iterate(
        "LOAD CSV WITH HEADERS FROM $url AS row 
         WITH row {{.*}}
         RETURN row","CALL apoc.merge.node(['House'],{{id : row.ID}},apoc.map.submap(row,['household']),['household']))
        YIELD node AS n1
        CALL apoc.create.addLabels(n1,['House'])
        YIELD node as n2
        CREATE CONSTRAINT constraint_name IF NOT EXISTS ON (n:House) ASSERT n.household IS UNIQUE
        YIELD node as n3
        RETURN COUNT(n1)
        ",{{batchSize: {batch_size},iterateList: true,parallel:false,params: {{url: '{url}'}} }})

我收到 errorMessages': {'Invalid input 'a': expected 'u/U' CREATE CONSTRAINT constraint_name IF NOT EXISTS ON (n:House) ASSERT n.household IS UNIQUE} 你知道如何解决这个问题吗?

解决方法

您对 CREATE CONSTRAINT 的使用无效 - 它不应该是 Cypher 查询(如 LOAD CSV)的一部分。

先创建约束:

CREATE CONSTRAINT constraint_name IF NOT EXISTS ON (n:House) ASSERT n.household IS UNIQUE

然后你可以运行一个新的 Cypher 语句来加载数据。

无关注意:您不需要使用 apoc.periodic.iterate 来批处理 LOAD CSV,您也可以使用定期提交 https://neo4j.com/docs/cypher-manual/current/clauses/load-csv/#load-csv-setting-the-rate-of-periodic-commits

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。