【问题标题】:Error when trying to load data from CSV into Neo4J尝试将数据从 CSV 加载到 Neo4J 时出错
【发布时间】:2023-03-31 21:25:01
【问题描述】:

我的数据如下所示:

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 实例中,但出现此错误:

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"
 ^}

我的代码:

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()

【问题讨论】:

    标签: python neo4j cypher


    【解决方案1】:

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

    您可以将代码修改为:

    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)")
    

    【讨论】:

    • 是的,你是对的。现在我得到这个错误:neo4j.exceptions.ClientError:{code:Neo.ClientError.Statement.ExternalResourceFailed} {消息:无法加载外部资源:文件:/C:/Users/Damian/.Neo4jDesktop/relate-数据/dbmss/dbms-fc8f1ea1-d31e-4761-99ae-319cb3dd634e/import/data.csv}。你知道怎么解决吗?
    • 有多种原因,例如您的 CSV 格式不正确,或者您的 Neo4j 未配置为加载外部文件。如果它不起作用,请检查以下答案然后检查文件格式:stackoverflow.com/a/56573777/6077914
    • 我找到了原因。这是因为我必须提供文件的绝对路径。现在好了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-17
    • 1970-01-01
    相关资源
    最近更新 更多