我在使用apoc.load.json过程导入JSON文件时遇到问题。
我想要捕捉的预期关系: 大学 - 儿童 - > Class --child - >学生
输出:
Neo.ClientError.Statement.SyntaxError: Variable `value` not defined (line 1, column 8 (offset: 7))
"UNWIND value.university AS university"
以下是执行的命令序列:
CALL apoc.load.json("FILE:///C:/tmp/input.json") YIELD value
UNWIND value.university AS university
UNWIND university.class AS class
UNWIND class.student AS student
MERGE (u:UniversityCategory {name:university.name})
MERGE (c:ClassCategory {name:class.name})
MERGE (s:StudentCategory {instr:student.name})
ON CREATE SET i.ID = instructions.ID
ON CREATE SET i.GPA = instructions.GPA
MERGE (u)-[:CHILD]->(c)
MERGE (c)-[:CHILD]->(s)
这是JSON文件结构:
{
"university": [{
"name": "universityA",
"class": [{
"name": "class_1",
"student": [{
"name": "student_1",
"ID": "1234",
"GPA": "3.8"
},
{
"name": "student_2",
"ID": "12345",
"GPA": "3.4"
}
]
},
{
"name": "class_2",
"student": [{
"name": "student_3",
"ID": "14",
"GPA": "3.0"
}]
}
]
}]
}
我的apoc.load.json命令似乎有效,因为我在浏览器窗口中看到了结构化的JSON文件。接下来的步骤是可疑的,但我认为我接近定义关系。
答案 0 :(得分:0)
解决了我的问题。
我上面提到的命令都是正确的,但是load.apoc.json命令必须在SAME查询中运行,而不是顺序运行。