Cypher/그래프 DB를 처음 사용했습니다. 나는 횡단을 이해하기위한 예제를 만들었지 만 그것을 얻지는 못했습니다.Cypher : 그룹화/관계
//Cypher below to create nodes.
(`0` :Person {id:'74474',Name:"Mr. Dan"}) ,
(`1` :Company {id:'1234',Name:"Company A"}) ,
(`2` :Company {id:'1111',Name:"Company B"}) ,
(`3` :Person {id:'0844',Name:"Mr.X"}) ,
(`4` :Person {id:'3455',Name:"Mr. Jack"}) ,
(`5` :Person {id:'748222',Name:"Mr.Y"}) ,
(`0`)-[:`owns` {amt:'50%'}]->(`1`),
(`4`)-[:`owns` {amt:'30%'}]->(`1`),
(`2`)-[:`owns` {amt:'20%'}]->(`1`),
(`3`)-[:`owns` {amt:'30%'}]->(`2`),
(`5`)-[:`owns` {amt:'70%'}]->(`2`)
// end
쿼리 MATCH (p : 사람) - [O : 소유 *] -> (c : 회사) 여기서 c.Name = "회사 A" 복귀 p, O //
이것은 "회사 A"를 소유 한 모든 "개인"을 제공하지만 각 개인의 "소유권 %"를 얻고 싶습니다.
나는 "o"관계의 값을 추출하거나 집계하는 것 같습니다. 쉬운 것 같았지만 나는 도전적으로 보입니다!
제안 사항?
우리가 읽을 수 있도록 코드를 포맷하십시오! – Skam
MATCH (p : Person) - [o : owns *] -> (c : 회사) 여기서 c.Name = "회사 A"는 p를 반환하고, o.amt는 c를 나타내며, – logisima
@ logisima는 작동하지 않습니다. 추가 c. 나는 각자를위한 "amts"를 모으려고 노력하고있다. 그래서 Person의 경우 관계 경로에 두 개의 "amts"가 있으면 집계해야합니다 (이 경우 곱함). 하지만 그것들을 집계 할 수 있다고하더라도. –