Я загружаю отношения в neo4j. Это работало отлично для меня:Cypher код для загрузки отношений в neo4j игнорирование данных в столбце csv
USING PERIODIC COMMIT 500 LOAD CSV WITH HEADERS FROM "<link to topic relationships.csv>" AS csvLine MATCH (work:Work {id: csvLine.recordIdentifier}),(topic:Subject {topic: csvLine.topicID}) CREATE work-[:ISABOUT]->topic;
Но это очень похожий сценарий не работает для меня:
neo4j-sh (?)$ LOAD CSV WITH HEADERS FROM "<link to AuthorRel.csv on GitHub>" AS csvLine MATCH (c:Creator { name: csvLine.creatorID}), (w:WORK { id: csvLine.recordIdentifier}) CREATE c-[:CREATED]->w;
+--------------------------------------------+
| No data returned, and nothing was changed. |
+--------------------------------------------+
493 ms
neo4j-sh (?)$
Эта часть работы,
neo4j-sh (?)$ LOAD CSV WITH HEADERS FROM "https://raw.githubusercontent.com/HeardLibrary/graphs-without-ontologies/master/GraphData/AuthorRel.csv" AS csvLine return csvLine;
и это работает
neo4j-sh (?)$ LOAD CSV WITH HEADERS FROM "https://raw.githubusercontent.com/HeardLibrary/graphs-without-ontologies/master/GraphData/AuthorRel.csv" AS csvLine MATCH (w:Work { id: csvLine.recordIdentifier}) return w;
но он ломается, когда я пытаюсь MATCH на: имя Творца:
LOAD CSV WITH HEADERS FROM "https://raw.githubusercontent.com/HeardLibrary/graphs-without-ontologies/master/GraphData/AuthorRel.csv" AS csvLine MATCH (c:Creator { name: csvLine.creatorID}) return c;
Я получил сообщение об ошибке NULL значения, поэтому я попытался это (от Create Neo4j database using CSV files):
neo4j-sh (?)$ USING PERIODIC COMMIT 500 LOAD CSV WITH HEADERS FROM "https://raw.githubusercontent.com/HeardLibrary/graphs-without-ontologies/master/GraphData/AuthorRel.csv" AS csvLine MATCH (w:WORK { name: csvLine.recordIdentifier}) MERGE (c:Creator { name: coalesce(csvLine.creatorID, "No Name")}) CREATE (c)-[:Created]->(w);
+-------------------+
| No data returned. |
+-------------------+
Nodes created: 1
Relationships created: 52
Properties set: 1
Labels added: 1
998 ms
neo4j-sh (?)$ match (c)-[r:Created]->(w) return c,r,w limit 10;
| Node[278478]{name:"No Name"} | :Created[26273]{} | Node[278029]{name:"oai:dash.harvard.edu:1/2031670"} |
| Node[278478]{name:"No Name"} | :Created[26272]{} | Node[278030]{name:"oai:dash.harvard.edu:1/2019322"} |
| Node[278478]{name:"No Name"} | :Created[26275]{} | Node[278031]{name:"oai:dash.harvard.edu:1/2031713"} |
| Node[278478]{name:"No Name"} | :Created[26274]{} | Node[278031]{name:"oai:dash.harvard.edu:1/2031713"} |
| Node[278478]{name:"No Name"} | :Created[26277]{} | Node[278031]{name:"oai:dash.harvard.edu:1/2031713"} |
| Node[278478]{name:"No Name"} | :Created[26276]{} | Node[278031]{name:"oai:dash.harvard.edu:1/2031713"} |
| Node[278478]{name:"No Name"} | :Created[26279]{} | Node[278032]{name:"oai:dash.harvard.edu:1/2026618"} |
| Node[278478]{name:"No Name"} | :Created[26278]{} | Node[278033]{name:"oai:dash.harvard.edu:1/2027194"} |
| Node[278478]{name:"No Name"} | :Created[26281]{} | Node[278033]{name:"oai:dash.harvard.edu:1/2027194"} |
| Node[278478]{name:"No Name"} | :Created[26280]{} | Node[278034]{name:"oai:dash.harvard.edu:1/2027199"} |
Данные имя не отбираются из CSV. Пожалуйста, порекомендуйте.