Neo4j Neo.ClientError.Statement.TypeError:类型不匹配:应为映射,但为字符串(“false”)

Neo4j Neo.ClientError.Statement.TypeError:类型不匹配:应为映射,但为字符串(“false”),neo4j,cypher,Neo4j,Cypher,下面的操作很好。它创建节点和关系: LOAD CSV WITH HEADERS FROM ("file:///sessions/parsed_message_amp_v2.csv") AS row MERGE (a:Sender { name: row.From, domain: row.Sender_Sub_Fld}) MERGE (c:Recipient { name: row.To}) WITH a,c,row WHERE row.Url_Sub_Fld = "false" AND row

下面的操作很好。它创建节点和关系:

LOAD CSV WITH HEADERS FROM ("file:///sessions/parsed_message_amp_v2.csv") AS row
MERGE (a:Sender { name: row.From, domain: row.Sender_Sub_Fld})
MERGE (c:Recipient { name: row.To})
WITH a,c,row
WHERE row.Url_Sub_Fld = "false" AND row.FileHash = "false"
CALL apoc.merge.relationship(a, row.Outcome2, {}, {}, c) YIELD rel as rel1
RETURN a,c
但是,如果我与创建新关系并使用相同的数据集添加一个附加节点,则会出现以下错误:
Neo.ClientError.Statement.TypeError:类型不匹配:应为映射,但为字符串(“false”)


您知道是什么原因导致了第二次查询而不是第一次查询?

第二次合并中的这一部分:

topLevelDomain: row.Url.Tld
它希望
row.Url
是一个带有
Tld
键的映射。如果该字段实际命名为
Url.Tld
,包括点,则可能需要使用反勾号转义字段名:

topLevelDomain: row.`Url.Tld`
topLevelDomain: row.`Url.Tld`