Я заполняю Neo4j csv import (py2neo batch import). Я хочу создать отношения, используя существующие узлы, созданные из файлов csv. В моем текущем файле csv столбец «sheet_name» содержит имена существующих файлов csv, а столбец «row_name» показывает узлы, созданные из связанного csv-файла.Neo4j-Cypher создает условные отношения
for row in reader:
if row:
name = strip(row[0])
created_by = strip(row[1])
barcode = strip(row[3])
sheet_name = strip(row[4])
row_name = strip(row[5])
query = """
merge (document:Document {name:{a}})
merge (sheet_name:Sheet_Name {sheet_name:{b}})
merge (to_deliver:To_Deliver {row_name:{c}}) #This node was created before from other csv file
merge (delivered_Delivered {row_name:{c}}) #This node was created before from other csv file
CASE WHEN sheet_name.value = 'Pending' THEN MERGE (document)-[:STATUS_IS]->(to_deliver)
CASE WHEN sheet_name.value = 'Completed' THEN MERGE (document)-[:STATUS_IS]->(delivered)
"""
batch.append(query, {"a": name, "b": created_by, "c": barcode,
"d": sheet_name, "e": row_name})
i += 1
j += 1
batch.process()
Я хочу, чтобы создать отношения, основанные на
--Если значение «SHEET_NAME» в ожидании, то документ имеет статус «to_deliver» - и;
--Ел значение «SHEET_NAME» будет завершен, то статус документа «доставлен» -
«to_deliver» и «поставленные» узлы были созданы до других файлов CSV. Когда я запускаю код, я получаю ошибку, например Invalid input 'A': expected 'r/R'
Is CASE..THEN подходит для условных операторов? Спасибо