2015-07-22 1 views
0

Я загружаю отношения в 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. Пожалуйста, порекомендуйте.

ответ

0

У вас, похоже, есть опечатка в сценарии, который «не работает» для вас. Имя свойства WORK должно быть name, а не id.

Смежные вопросы