家有儿女使用neo4j关系链路图表示
create (n:jernv_person {name:'夏东海',age:40}) return n;
create (n:jernv_person {name:'刘梅',age:35}) return n;
create (n:jernv_person {name:'刘星',age:16}) return n;
create (n:jernv_person {name:'夏雪',age:18}) return n;
create (n:jernv_person {name:'夏雨',age:12}) return n;
create (n:jernv_person {name:'胡一统',age:42}) return n;
create (n:jernv_person {name:'玛丽',age:36}) return n;
create (n:jernv_person {name:'夏祥',age:65}) return n;
create (n:jernv_person {name:'范晓英',age:60}) return n;
创建关系
match (a:jernv_person {name:'夏东海'}), (b:jernv_person {name:'刘梅'}) MERGE (a)-[:妻子{married:'2001-12-01'}]->(b);
match (a:jernv_person {name:'夏东海'}), (b:jernv_person {name:'夏雪'}) MERGE (a)-[:女儿{born:'2012-12-01'}]->(b);
match (a:jernv_person {name:'夏东海'}), (b:jernv_person {name:'夏雨'}) MERGE (a)-[:儿子{born:'2015-12-01'}]->(b);
match (a:jernv_person {name:'刘梅'}), (b:jernv_person {name:'刘星'}) MERGE (a)-[:儿子{born:'2014-12-01'}]->(b);
match (a:jernv_person {name:'刘星'}), (b:jernv_person {name:'胡一统'}) MERGE (a)-[:父亲]->(b);
match (a:jernv_person {name:'刘星'}), (b:jernv_person {name:'夏东海'}) MERGE (a)-[:继父]->(b);
match (a:jernv_person {name:'夏雨'}), (b:jernv_person {name:'夏东海'}) MERGE (a)-[:父亲]->(b);
match (a:jernv_person {name:'夏雨'}), (b:jernv_person {name:'刘梅'}) MERGE (a)-[:母亲]->(b);
match (a:jernv_person {name:'夏雪'}), (b:jernv_person {name:'玛丽'}) MERGE (a)-[:母亲]->(b);
match (a:jernv_person {name:'夏雪'}), (b:jernv_person {name:'夏东海'}) MERGE (a)-[:父亲]->(b);
match (a:jernv_person {name:'夏东海'}), (b:jernv_person {name:'夏祥'}) MERGE (a)-[:父亲]->(b);
match (a:jernv_person {name:'刘梅'}), (b:jernv_person {name:'范晓英'}) MERGE (a)-[:母亲]->(b);

#########################查询例子####################################
1.查询某个人物的节点
MATCH (p:jernv_person {name: '胡一统'}) RETURN p;
2.查找某个人的链路
MATCH (n:jernv_person)-[r]-(m:jernv_person) where n.name='夏东海' return n,r,m
或是
MATCH (n:jernv_person)-[r]-(m:jernv_person) where id(n)=110014 return n,r,m
3.查找层次只有1级的链路
MATCH p=(a)-[*..1]-(b)
WHERE a.name='夏东海'
RETURN p
4.找最短路径
MATCH (p:jernv_person {name: "夏雪"}), (m:jernv_person {name: "刘梅"})
MATCH path = shortestPath((p)-[*]-(m))
RETURN path
浙公网安备 33010602011771号