【发布时间】:2014-07-21 13:35:11
【问题描述】:
1) 我有一个包含 7 种语言的简单 csv 文件。文件内容如下:
2) 我用这个命令成功导入了所有 7 种语言:
LOAD CSV FROM 'file:C:/Language.csv' AS line
MERGE (l:Language { Name: line[0] })
RETURN l.Name AS Language
3) 导入后,“土耳其语”的查询不返回任何结果
match (l: Language {Name:'Turkish'}) return l
4) 但是,对其他语言的查询会返回正确的结果。即:希腊语
match (l: Language {Name:'Greek'}) return l
5) 我怀疑有一个额外的隐形角色。此查询有效:
match (l: Language)
where l.Name =~ '.*Turkish*.'
return l
问题:为什么会这样?
其他 Google Chrome 响应屏幕截图:
【问题讨论】:
-
Mustafa,您能否提供一个链接,我们可以在其中获取 CSV 文件?
-
您好吉姆,感谢您的回答。我刚刚发现了问题。我的文件是用 BOM 格式化的。当我将它保存为“没有 BOM 的 UTF-8”时,问题就解决了。我想知道是否有一个选项可以让 neo4j 也适用于带有 BOM 的文件。
-
Mustafa,没有让 Neo4j 识别初始 BOM 字段的选项,但是您可以在文件中添加标题行吗?您可以使用“LOAD CSV WITH HEADER”,否则请按原样保留您的 Cypher 语句。