我正在与Family Tree合作开发neo4j。当我要求返回具有特定名称的节点时,除了根节点之外,它不能用于任何节点。参见示例:
MATCH (n:FamilyTree {name: 'Sam'}) RETURN n
Sam是根节点,neo4j返回该节点。
但是当我尝试返回像这样的其他节点时:
MATCH (n:FamilyTree {name: 'Sumiko Shackleford'}) RETURN n
它不会返回任何东西。此节点确实存在于我的图表中。 有谁可以帮助我?
这是导入声明:
LOAD CSV WITH HEADERS FROM "file:///FamilyTree.csv" AS row
CREATE (:FamilyTree { ssn: row.SSN, name: row.Name, gender: row.Gender,
status: row.Status, age: row.Age})
我将相同的数据导入SQL服务器,我得到了一些奇怪的字符,比如'Ê' 是否有任何直接的方法从neo4j中删除这样的东西?
我从SQL服务器上删除了这个查询:
UPDATE familyTreeTest.dbo.FamilyTree
SET Name = REPLACE(Name,'Ê', '')
答案 0 :(得分:0)
当您查看添加的文本结果图像时,问题很明显。如果查看名称,它会有尾随空格,因此匹配失败,因为空格不存在。
您将需要清理数据,因此这个或其他节点不会发生这种情况。你可以像这样清理它:
MATCH (n:FamilyTree)
SET n.name = trim(n.name)
修改
看起来任何字符都存在,它们不是空格,制表符或换行符,而是一些呈现为空格的其他字符。
清理它的最快方法是找到一种方法来清理输入的CSV文件,然后重新导入所有数据。