Neo4j导入工具反斜杠转义

时间:2015-07-21 13:05:18

标签: java neo4j

我必须导入一个庞大的数据集,然后使用neo4j-import工具。 但是我的数据集遵循以下结构:

1,"lorem1", "ipsum1","foo1"
2,"lorem2", "ipsum2","foo2"
3,"lorem3", "ipsum3","\"

它在读取" \"时会抛出错误。我知道它是反斜杠字符,这意味着它正在等待报价。 我想知道是否可以在neo4j-import工具中停用反斜杠的含义?

1 个答案:

答案 0 :(得分:7)

我认为这是您用于导出CSV的工具的问题,其具有与Neo4j不同的CSV标准。这是可以理解的,因为CSV格式没有很好地标准化;)

根据neo4j-import --help

--quote <quotation-character>
  Character to treat as quotation character for values in CSV data. The default
  option is ". Quotes inside quotes escaped like """Go away"", he said." and "\"Go
  away\", he said." are supported. If you have set "'" to be used as the quotation
  character, you could write the previous example like this instead: '"Go away",
  he said.'

因此,这意味着Neo4j允许您使用双引号("")和反斜杠转义(\")来转义引号。通常我所看到的是其中之一,当然双方都需要就格式是什么达成一致。

我猜如果你像这样逃脱你的反斜杠它可能会起作用:

1,"lorem1", "ipsum1","foo1"
2,"lorem2", "ipsum2","foo2"
3,"lorem3", "ipsum3","\\"

您也可以使用该命令更改引号字符(例如'甚至|)。当然,您需要重新生成CSV。

但不是,看起来没有办法让Neo4j改变它解释CSV中转义引号的方式。