【问题标题】:Error on having constraint on data imported from csv file限制从 csv 文件导入的数据时出错
【发布时间】:2019-07-30 04:59:11
【问题描述】:

我是 cypher 的新手,我正在尝试从 CSV 文件中导入数据,并在 cypher 中有约束,我收到以下错误消息

Neo.ClientError.Statement.SyntaxError:无效的输入“L”:预期的空白,注释,“;”或输入结束(第 3 行,第 1 列(偏移量:54)) "从 'file:///routes.csv' AS 行加载带有标题的 CSV"

我在没有约束语句的情况下尝试了它,它工作正常,当我使用创建约束时出现错误

CREATE CONSTRAINT ON (x:Route) ASSERT x.id IS UNIQUE
LOAD CSV WITH HEADERS FROM 'file:///routes.csv' AS line
CREATE (r:Route {id:line.route_id, name:line.route_short_name, fare:       TOINT(line.route_fare), url:line.URL})
RETURN r

【问题讨论】:

    标签: csv neo4j cypher graph-databases


    【解决方案1】:

    您需要在查询中使用分号 (;) 分隔多个语句。 在您的查询中,在第一条语句之后添加一个分号(即在UNIQUE 之后)。

    CREATE CONSTRAINT ON (x:Route) ASSERT x.id IS UNIQUE;
    LOAD CSV WITH HEADERS FROM 'file:///routes.csv' AS line
    CREATE (r:Route {id:line.route_id, name:line.route_short_name, fare: TOINT(line.route_fare), url:line.URL})
    RETURN r
    

    默认情况下,您可以在 Neo4j 浏览器中运行单语句查询。 您的查询是两条语句查询,因此您需要在 Neo4j 浏览器设置中启用多语句查询编辑器。

    参考以下截图:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-03
      • 2021-12-05
      • 2019-10-03
      • 2015-06-30
      • 2021-10-17
      • 2016-02-06
      • 1970-01-01
      相关资源
      最近更新 更多