首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试将数据从CSV加载到Neo4J时出错

尝试将数据从CSV加载到Neo4J时出错
EN

Stack Overflow用户
提问于 2021-10-14 11:29:32
回答 1查看 35关注 0票数 0

我的数据如下所示:

代码语言:javascript
复制
predecessor,successor
AAMBD01P.ACCOUNT_ANALYTICAL_BALANCE,DIMS32P.NHJ_DEPOSIT
AAMBD01P.CUSTOMER_ACCOUNT_REL,DIMS32P.NHJ_DEPOSIT
AAMBD01P.CUSTOMER_SUB_DETAIL2_BBKKA,DIMS32P.NHJ_DEPOSIT
AAMBD01P.CUSTOMER_BBKKA_DETAIL,DIMS32P.NHJ_DEPOSIT
AAMBD08P.CUSTOMER_DETAIL2_FULL,DIMS32P.NHJ_DEPOSIT
AAMBD08P.ACC_CURR_DEP_STAT_HIST,DIMS32P.NHJ_DEPOSIT
MISV19P.V_CUSTOMER_SEGM,DIMS32P.NHJ_DEPOSIT

我试图将它加载到我的Neo4J实例中,但是我得到了这个错误:

代码语言:javascript
复制
neo4j.exceptions.CypherSyntaxError: {code: Neo.ClientError.Statement.SyntaxError} {message: Query cannot conclude with LOAD CSV (must be RETURN or an update clause) (line 1, column 1 (offset: 0))
"LOAD CSV WITH HEADERS FROM 'file:///data.csv' AS line"
 ^}

我的代码:

代码语言:javascript
复制
from neo4j import GraphDatabase

driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "187179"))

def add_data(tx):
    tx.run("LOAD CSV WITH HEADERS FROM 'file:///data.csv' AS line")
    tx.run("MERGE (s:src {id: line.source})")
    tx.run("MERGE (d:dst {id: line.destination})")
    tx.run("CREATE (s)-[:FEEDs_INTO]->(d)")

with driver.session() as session:
    session.write_transaction(add_data)
driver.close()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-14 12:24:04

您正尝试在4个部分中运行单个查询。tx.run()需要完整的查询。

您可以将代码修改为:

代码语言:javascript
复制
def add_data(tx):
    tx.run("LOAD CSV WITH HEADERS FROM 'file:///data.csv' AS line \
           MERGE (s:src {id: line.source}) \
           MERGE (d:dst {id: line.destination}) \
           CREATE (s)-[:FEEDs_INTO]->(d)")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69569922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档