插入查询用户以及建立关系
序言:本节接着上一章简单的介绍之后,继续学习Neo4j这门语言文笔不好尽量用简单的语言来让读者易读易懂,本文的内容都是我在学习的过程中一点点积累的.
1.建立一个数据库
CREATE ( dot : User {age : “”,name: “”});
解释:建立一个节点名称是 dot,节点标签是User 的数据库,它包含两个属性,age 和 name.
说明:
Neo4j 数据库服务器用此 (dot) 将此节点详细信息存储在Database.As中作为
Neo4j DBA或Developer,我们不能使用它来访问节点详细信息Neo4j数据库服务器创建一个
注意:一定要注意
查询数据库时,match 和 return 语句不能单独使用,必须结合使用
如下:
match (dot : User)
return dot.name,dot.age
结果返回:该数据库中所有的name 和age 字段
例:查询标签是 User 下的所用用户:
match (dot : User)
return dot
结果:
返回dot 该节点下,所有的数据.可以以表展示,可以以节点展示…..
2.CQL — 关系基础
说明:
Neo4j 图形数据库遵循属性图模型来存储和管理其数据.
根据属性图形模型,关系应该是定向的.否则,Neo4j将抛出一个错误消息
基于方向性,Neo4j关系被分为两种主要类型.
1.单向关系
2.双向关系
在下列场景中,我们可以使用Neo4j CQL CREATE 命令来创建两个节点之间的关系
1.在两个现有节点之间创建无属性的关系
2.在两个现有节点之间创建于属性的关系
3.在两个节点之间创建无属性的关系.
4.在两个新节点之间创建于属性的关系.
5.在具有WHERE 子句的两个退出节点之间创建/不使用属性的关系.
如下事例:
在User中的两个用户之间,建立一条TestShip,起点是Test1,结束点是Test2,单向关系
CREATE(userA:User{name:"Test1",age:"35"})
CREATE(userB:User{name:"Test2",age:"36"})
CREATE (userA)-[:TestShip]->(userB)
说明:建立关系时一定要注意指明关系的方向性,也就是一定要有起始点结束点,否则会报错.
查询在User用户表中,name 为 Test1,以及name 为Test2之间的关系:
查询代码如下:
MATCH p = (userA:User{name:"Test1"}) -[]-(userB:User{name:"Test2"})
RETURN p
结果如下:
对代码进行解释:
1.在User 表中查询name 为 “Test1”的用户.
2.与User中查询name为”Test2”之间的联系.
3.在本例中没有指明方向,所以关系从userA->userB,以及userB->userA都是本例要查询的.
4.由于我们再建立关系时的方向是userA->userB,所以查询的结果就是 “Test1”的用户 ->”Test2”的用户.
3.对于本章课程总结
1.在插入用户时,最好在声明的属性中有一个是唯一的不重复的,例如uid属性,就类似于mysql中的主键,方便根据唯一标识符进行用户查询,更新信息,以及关系的建立以及查询.
2.在插入用户时,可以用CREATE或者MERGE命令,二者区别就在于,如果你插入两条或以上的数据完全相同,CREATE不管是否重复只管添加新数据,但是MERGE会合并也可以理解为更新相同的数据.
3.在建立关系时,可以根据需要来创建单向或者双向关系,无论单向还是双向在建立关系时一定要指明关系的方向.
4.在查询关系时,查询的方向可以指定起始节点,也可以不指定,具体由需求而定.
- 5.本例中建立的TestShip关系,只是一个简单的事例,关系中也可以和节点中一样,包含属性相关事宜,具体可根据需求来定.
备注:转载请注明,请尊重原创者的劳动成果,谢谢配合
如果有不明白或者有什么建议,欢迎在评论下方留言,我会尽力在第一时间回复的.欢迎大家来共同讨论学习.
### iOS 张袁旭
上一篇: MiniDao-PE精简版(轻量级持久层) •MiniDao-PE是一种轻量级J2EE持久层解决方案,类似mybatis持久层的SQL方式,可以轻松集成Hibe
下一篇: 【sublime text3】安装插件
推荐阅读
-
JDBC连接MySql数据库步骤 以及查询、插入、删除、更新等
-
MYSQL建立独立数据库以及独立数据库用户详细教程(PHPstudy MySQL-Front)
-
JDBC连接MySql数据库步骤 以及查询、插入、删除、更新等
-
深入探讨:Oracle中如何查询正锁表的用户以及释放被锁的表的方法
-
MYSQL建立独立数据库以及独立数据库用户详细教程(PHPstudy MySQL-Front)
-
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
-
深入探讨:Oracle中如何查询正锁表的用户以及释放被锁的表的方法
-
项目系统Netty的Channel和用户之间的关系绑定正确做法,以及Channel通道的安全性方案
-
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
-
Mysql存储过程——通过百度坐标,查询半径内符合条件的用户以及排序后的距离