neo4j笔记(一)

w3c学习链接:Neo4j - 特点和优势_w3cschool

参考:Neo4j基础操作速查表 - 知乎

cypher语言。

./neo4j status|start|stop

注释:双斜杠是注释。

START n=node(1) RETURN b //这是行结束注释


创建标签:create (:大学{name:"武汉大学“})

 --创建单标签:create  (n: Person)    --默认会有一个空节点

 --创建多标签:create (n:Person:Indian)  

 注意:同时创建的标签,查询其中一个标签时,都会显示同时创建的所有标签;图表则是语句查询的记录。

查询标签:match (n:大学) return n    --标签名不能带引号,反引号可以。

创建单节点

create (var:label {k1:v1,k2:v2}) return var;

创建多节点

create (var:label {k1:v1,k2:v2}) ,

(:label {k1:v11,k2:v21})

return var;

修改属性值

match (p1:`大学`) where p1.name = '华南师范大学' set p1.name ="华师"  return p1;

创建关系

1、match (p1:'大学'),(p2:'院系') create (p1) - [r:院系关系] -> (p2)

2、match (a: stock) , (b: exchange) where a.name = 'xx' and b.name='yy' create (a) - [r:交易关系] -> (b) return r

    (stock和exchange标签都有name属性)


查询节点

1、match (a: stock) where a.name = 'xx' return a; --返回name为xx的股票记录

     match (n:stock) where n.name in ["xx","yy"] return n;

2、match (a:stock) return a; --返回所有的股票记录

3、查询多标签: match (a:`大学`),(b:`学院`) return a,b

4、MATCH (n:bool) RETURN n.value    --返回bool标签的value属性的值

     字符串的会有双引号引起来;数值型、true是没有的。

     type:有simple、object等。

5、通过ID查询节点:

MATCH (n) where id(n) >10 RETURN n

查询节点关系: -> 注意写法

3、match (: stock {name : 'xx' }) -[r] -> (: exchange {name: 'yy'}) return type(r)  --返回两个节点的关系信息

4、match (: stock {name : 'xx'}) -[r] -> () return type(r)  --返回name为xx的股票的所有关联关系

查询所有关系图:

MATCH p=()-[r:`院系关系`]->() RETURN p LIMIT 25

记忆: match (var: label {条件1})  -[r] -> (var : label {条件2} ) return type(r)

注意方向,返回条件1指向条件2的关系。


统计节点数:

MATCH (n) RETURN count(n)

统计所有关系:

// Count all relationships

MATCH ()-->() RETURN count(*);


删除节点:

1、删除标签下的某节点:

match (a: stock) where a.name ='xx' delete a; --先找到记录然后删除

2、删除标签的所有节点:

match (a: stock) delete a; --删除某标签节点

3、删除所有标签:

match (n) delete n ; --删除所有标签

match (n:`学院`) where n.name is NULL delete n;     --删除空值节点,text查看表现为{}

只创建标签create (n: xx) 默认会有一个空的节点。

说明:删除节点必须得先删除关系。

删除节点关系:

1、删除两个节点之间的关系:

match (a: stock{name:'xx'}) -[r] → (b : exchange {name : 'yy'}) delete r ; 先查询关系然后删除

2、删除一个节点的所有关系:

match (a: stock{name:'xx'}) -[r] →() delete r; 删除该节点记录的所有关系

3、删除某个标签的所有关系:

match (: stock ) -[r] →() delete r ; 删除该stock标签的所有关系

4、删除所有关系:

match p = () - [r] -> () delete p;

match (n{node_code:"ResourceCategory-c8bec831"})-[r]-() delete  n,r;    删除节点及其关联关系


新增、删除节点属性:

-- match (a:stock) where a.name = 'xx' set a.age = 22 return a;

-- match (a:stock) where a.name = 'xx' remove a.age ;

set子句,用于对更新节点的标签和实体的属性;

remove子句,用于删除实体的属性和节点的标签。

其他:

show databases;

:help

:use database名   使用数据库

CALL db.labels()    --返回所有标签

// List relationship types

CALL db.relationshipTypes()    --返回关系

// What is related, and how

CALL db.schema.visualization()    --返回标签直接的关系,而不是标签节点的关系


数据库备份与恢复:

 

 


用户管理:

 

 

例子:
CREATE 
 (p1:Person {name:'胡兴炯', born:1991, interest:'mac,ios,旅游', goodat:'java,swift,objectiveC'}),
 (p2:Person {name:'张勇', born:1990,  interest:'android', goodat:'java,android'}),
 (p3:Person {name:'成文龙', born:1990, interest:'linux,hadoop', goodat:'linux,java,android'}),
 (p4:Person {name:'王昕', born:1978, interest:'wpf,noSQL,旅游', goodat:'java,c#'}),
 (p5:Person {name:'周开琪', born:1977 , interest:'管理', goodat:'管理,'}),
 (p6:Person {name:'徐锦亮', born:1985,  interest:'前端', goodat:'前端,html5,hadoop'}),
 (p6:Person {name:'张三', born:1993,  interest:'大数据', goodat:'hadoop,html5,java,lucene,elasticsearch,solr'}),
 (p8:Person {name:'徐辉霞', born:1990,  interest:'管理,旅游', goodat:'管理,采购'}),
 (p9:Person {name:'黄廷鹏', born:1992,  interest:'OA', goodat:'java'}),
 (p10:Person {name:'史乐乐', born:1991,  interest:'OA,旅游', goodat:'管理'}),
 (p1)-[:认识]->(p2),
 (p1)-[:认识]->(p3),
 (p1)-[:认识]->(p4),
 (p1)-[:认识]->(p5),
 (p1)-[:认识]->(p9),
 (p2)-[:认识]->(p1),
 (p2)-[:认识]->(p3),
 (p2)-[:认识]->(p4),
 (p2)-[:认识]->(p5),
 (p2)-[:认识]->(p9),
 (p3)-[:认识]->(p1),
 (p3)-[:认识]->(p2),
 (p3)-[:认识]->(p4),
 (p3)-[:认识]->(p5),
 (p3)-[:认识]->(p7)

————————————————
版权声明:本文为CSDN博主「三劫散仙」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u010454030/article/details/52704569

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值