redisgraph在高流量中不存在的节点之间创建边缘

redisgraph在高流量中不存在的节点之间创建边缘,redis,cypher,graph-theory,redisgraph,Redis,Cypher,Graph Theory,Redisgraph,我有以下的密码查询 MATCH (a:ACTOR {id: 'Charlie'}) MATCH (m:MOVIE {id: 'TwoAndAHalfMen'}) OPTIONAL MATCH (a)-[e:ACTED {prop1: val1}]->(m) WITH COUNT(e) AS c, a, m WHERE c=0 CREATE (a)-[:ACTED {prop1: val1, prop2: '<cur-time>' }]->(m) 但是,对于这一点,我

我有以下的密码查询

MATCH (a:ACTOR {id: 'Charlie'})
MATCH (m:MOVIE {id: 'TwoAndAHalfMen'})
OPTIONAL MATCH (a)-[e:ACTED {prop1: val1}]->(m)
 WITH COUNT(e) AS c, a, m
 WHERE c=0 CREATE (a)-[:ACTED {prop1: val1, prop2: '<cur-time>' }]->(m)
但是,对于这一点,我从
重新绘制图中得到一个错误,如下所示:

RedisGraph does not currently support map projection
如果两个节点之间尚不存在边,是否有其他方法可以最佳地在两个节点之间创建边?我无法使用
MERGE
命令,因为当我必须创建新边时,我设置的
prop2
将是不同的值

请注意,这应该在redisgraph中起作用,如果它在neo4j或其他类似设备上起作用,则这是不够的。

请更具体地查看MATCH上的
和CREATE上的

e、 g


谢谢这确实简化了原始查询。事后来看,我想知道我怎么会错过这一点,因为我在很多地方都这样做过。但不幸的是,即使是这个查询在高流量下也需要很长时间。可能是我使用的Go图书馆造成的。在insights中,它在1毫秒(内部时间)内完成,但使用go客户端大约需要100毫秒。不过,其余的查询速度很快。需要更好地分析它们。请查看图表。分析报告谢谢。查询在RedisGraph中运行良好并完成区分两种类型的查询:只读查询(不以任何方式修改图形的查询)和写入查询(有可能修改下划线图形的查询)。我们可以同时运行多个读取查询,但不能对写入执行相同的操作,因此,当服务器处于重写负载下时,等待时间会增加。
RedisGraph does not currently support map projection
MATCH (a:ACTOR {id: 'Charlie'}), 
      (m:MOVIE {id: 'TwoAndAHalfMen'}) 
MERGE (a)-[e:ACTED {prop1: val1}]->(m) 
ON CREATE SET e.prop2 = 'cur-time'