Importing a thesaurus from CSVs

In your CSV file your header is called :ID and :START_ID, and in your cypher you're referring to it as csvLine.id and csvLine.conceptID which don't exist in your input CSV. So they are null. So you get blank nodes. ;)

You need instead to do something like this:

LOAD CSV WITH HEADERS FROM "file:///nodes.csv" AS csvLine fieldterminator '|'
CREATE (c:Concept {id: toInteger(csvLine.`:ID`), name:csvLine.`concept:string`})

In other words, match up your column metadata. Notice the backticks I'm using around the column names, this is so that you can include characters like : in a property name in Neo4j.