neo4j不按人名返回节点

时间:2017-04-03 22:32:55

标签: c# asp.net neo4j graph-databases

这是Text View

我正在与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,'Ê', '')

1 个答案:

答案 0 :(得分:0)

当您查看添加的文本结果图像时,问题很明显。如果查看名称,它会有尾随空格,因此匹配失败,因为空格不存在。

您将需要清理数据,因此这个或其他节点不会发生这种情况。你可以像这样清理它:

MATCH (n:FamilyTree)
SET n.name = trim(n.name)

修改

看起来任何字符都存在,它们不是空格,制表符或换行符,而是一些呈现为空格的其他字符。

清理它的最快方法是找到一种方法来清理输入的CSV文件,然后重新导入所有数据。