Neo4j Cypher 2.0:批匹配-关系的传入参数
这个问题和这个相似:这个呢 我想使用Cypher查询和Neo4jClient(Neo4j的c#客户机)参数化一个批处理,以创建关系 我该如何写出来(特别是关注性能)——即只使用match和create语句,而不使用Merge,因为Merge由于某种原因超时了 我在想我可以这样做(如第二个SO链接中所述) 使用参数:Neo4j Cypher 2.0:批匹配-关系的传入参数,neo4j,neo4jclient,Neo4j,Neo4jclient,这个问题和这个相似:这个呢 我想使用Cypher查询和Neo4jClient(Neo4j的c#客户机)参数化一个批处理,以创建关系 我该如何写出来(特别是关注性能)——即只使用match和create语句,而不使用Merge,因为Merge由于某种原因超时了 我在想我可以这样做(如第二个SO链接中所述) 使用参数: { "query":..., "params": { "cptid":id1 } } 但这不起作用,因为它试图将属性作为数组进行匹配 我将
{
"query":...,
"params": {
"cptid":id1
}
}
但这不起作用,因为它试图将属性作为数组进行匹配
我将其修改为使用,其中x.Y位于{params}
,但速度非常慢。第二个建议是尝试为Neo4j使用事务端点,但我不确定如何使用Neo4jClient实现这一点
这是上面第二个SO链接的建议:
{
"statements":[
"statement":...,
"parameters": {
"cptid":id1
},
"statement":...,
"parameters": {
"cptid":id2
}
]
}
我确实看到了这个拉取请求,但没有看到它已经被实现:
如果没有事务支持,是否有其他方法可以做到这一点?使用下面的查询时性能如何
USING PERIODIC COMMIT 1000
MATCH (s:ContactPlayer), (c:ContactPrefixType)
WHERE s.ContactPrefixTypeId = c.ContactPrefixTypeId
CREATE c-[:CONTACT_PLAYER]->s
如果您想试用该语句,现在必须使用2.1.0-M1版本。否则,您可以忽略它
USING PERIODIC COMMIT 1000
MATCH (s:ContactPlayer), (c:ContactPrefixType)
WHERE s.ContactPrefixTypeId = c.ContactPrefixTypeId
CREATE c-[:CONTACT_PLAYER]->s