technology-project

#添加节点,避免使用correlation关键字

create (analysisParameter:analysisParameter {name:'大树',height:'10',type:'植物'}) return analysisParameter;

#添加节点的关系,避免使用correlation关键字

match (a:analysisParameter{name:"大树"}),(b:analysisParameter{name:"小鸟"}) with a,b create(a)-[analysisRelation:analysisRelation {source:'大树',target:'小鸟',relation:'1'}]->(b);

#更新节点,避免使用correlation关键字

match (n{ name:'大树'}) set n.height='1' return n.name,n.height;

#设置属性的值是null,等于移除节点的属性

match (n{ name:'大树'}) set n.name=NULL return n.name,n.height;

#移除节点的属性,默认,Neo4j不允许存在值为null的属性,如果属性不存在,那么返回属性的值是null

match (n{ name:'大树'}) remove n.height return n.name,n.height;

#更新节点的关系,避免使用correlation关键字

match (source:analysisParameter)-[relation:analysisRelation{source:'大树'}]->(target:analysisParameter) set relation.height='1.1' return relation;

match (source:analysisParameter)-[relation:analysisRelation]->(target:analysisParameter) where relation.source='小鸟' set relation.type='动物' return relation;

merge (source:analysisParameter)-[relation:analysisRelation]->(target:analysisParameter) where relation.source='小鸟' set relation.type='动物' return relation;

#查询节点

match(analysisParameter:analysisParameter) return analysisParameter limit 20; match(analysisParameter:analysisParameter{name:"大树"}) return analysisParameter; match(analysisParameter:analysisParameter) where analysisParameter.name in ['大树','小鸟'] return analysisParameter;

#关键字查询节点

match(analysisParameter:analysisParameter) where analysisParameter.name=~'.*树.*' return analysisParameter;

#查询节点和关系

match(source:analysisParameter)-[relation:analysisRelation]->(target:analysisParameter) where target.name='大树' return source as node,relation as edge;

#关键字查询节点和关系

match(source:analysisParameter)-[relation:analysisRelation]->(target:analysisParameter) where target.name=~'.*树.*' return source as node,relation as edge;

#统计节点数量

match (analysisParameter:analysisParameter) where analysisParameter.name='大树' return count(analysisParameter) as count;

#统计节点的关系数量

match(source:analysisParameter)-[relation:analysisRelation]->(target:analysisParameter) where target.name='小鸟' or source.name='大树' return count(target.name) as count;

#删除数据库,可以随意指定n

match (n) detach delete n;

#删除所有节点

match (analysisParameter:analysisParameter) delete analysisParameter;

#删除指定的节点

match (n:analysisParameter{name:'瓦舍'}) delete n;

#删除指定的节点

match (n:analysisParameter) where n.name='瓦舍' delete n;

#根据id删除节点

match (analysisParameter) where id(analysisParameter)=1000 delete analysisParameter return analysisParameter;

删除2个节点之间的关系

match (x:analysisParameter{name:'大树'})-[r:analysisRelation]->(y:analysisParameter{name:'小鸟'}) delete r; match (x:analysisParameter)-[r:analysisRelation{source:'大树',target:'小鸟'}]->(y:analysisParameter) delete r;

match (x:analysisParameter)-[r:analysisRelation]->(y:analysisParameter) where r.source='大树' and r.target='小鸟' delete r;

#删除节点,需要删除和节点有关的所有关系

match (x:analysisParameter{name:'大树'})-[r:analysisRelation]->(y:analysisParameter{name:'小鸟'}) delete r;

match (n:analysisParameter{name:'大树'}) delete n;

相关文章: