我遇到了一个带有nodejs的neo4j计数请求的问题。
这是我的问题: 当我插入数据时,它将呈现如下:
start a = node(0)
create unique a-[:HAS_ID]->(b{id:'xx'})
create unique b-[:HAS_INFO]->(c{info:'xx'})
return a,b,c;
因为它是唯一的节点,所以如果存在相同的节点,它将不会插入新节点。但是,我想要计算多少请求来调用此查询。 例如:
request: -domain/id01/info
--return a node[0], b node[1] and c node[2]
添加其他数据:
request: -domain/id02/info
-- return : a node[0], b node[3], c node[4]
再次打电话:
request: -domain/id01/info
--return a node[0], b node[1] and c node[2] //but here is any attribute or properties count to 2.
我读过有关力量的任何解决方案。它告诉我创建一个关系属性作为例子:
[:HAS_INFO{strength:num}]
让它增加,但我仍然没有得到它。 有人请给我解决方案并告诉我该怎么做。 谢谢。
更多信息:Representing (and incrementing) relationship strength in Neo4j
答案 0 :(得分:1)
您可以使用CASE
语句,请参阅http://gist.neo4j.org/?6052414以获取示例。随意为基础要点改进它!
MATCH path=(a)-[rel:HAS_INFO]->(b)
WHERE a.name?='A' AND b.name?='Info'
SET rel.weight = (
CASE
WHEN not(has(rel.weight))
THEN 0
ELSE rel.weight + 1
END)
RETURN path, rel.weight;