2013-07-21 37 views
0

我遇到了nej4j與nodejs的計數請求問題。neo4j nodejs強度或屬性的關係修改:怎麼做?

這裏我的問題: 當我插入數據時,會出現這樣的:

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

回答

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; 
+0

謝謝,它運作良好! – Kai