Neo4j中不存在表的概念,只有两类:节点(Node)和关联(Relation),可以简单理解为图里面的点和边。 在数据查询中,节点一般用小括号(),关联用中括号[]。 当然也隐含路径的概念,是用节点和关联表示的,如:(a)-[r]->(b),表示一条从节点a经关联r到节点b的路径。
创建节点:
create (n:people{name:'刘森',age:'18',sex:'男'}) return n;
create (n:people{name:'李燕朦',age:'18',sex:'女'}) return n;
创建关系:
match (a),(b)
where a.name='刘森' and b.name='李燕朦'
create (a)-[n:marry{date:'2018'}]->(b)
删除数据:删除节点,必须先删除节点跟其他节点的关系,节点之间的关系是单向关系(有指向性)。
-[role:label {roles: ["Neo"]}]-> -- 表示一个无指向的关系 --> 表示一个有指向的关系 [] 能够添加ID,属性,类型等信息
删除关系:
Match (:people{name:'小红'})-[r:gift]->(:people{name:'小明'}) delete r;
Match (:people{name:'小明'})-[r:married]->(:people{name:'小红'}) delete r;
删除节点:
Match (n:people{name:'小红'}) delete n
Match (n:people{name:'小明'}) delete n
查询数据:知识图谱有数据类型,age='18'和age=18是不相同的
Match (n: people) where n.age ='18' return n.name
start:开始节点,一般用于有索引的节点或者关联
start n=node(4) return n;
start n=node(*) return n;
start开头的查询都是跟索引有关的。
查询关系:
Match (:people{name:'刘森'})-[r:marry]->(:people{name:'李燕朦'}) return r;
学习连接