社交、电商、金融、零售、物联网等行业的快速发展,现实世界的事物之间织起了一张巨大复杂的关系网,传统数据库面对这样复杂关系往往束手无策。因此,图数据库应运而生,图数据库(Graph database)指的是以图数据结构的形式来存储和查询数据的数据库,Neo4J属于原生图数据库,其使用的存储后端专门为图结构数据的存储和管理进行定制和优化的,在图上互相关联的节点在数据库中的物理地址也指向彼此,因此更能发挥出图结构形式数据的优势。
二.Neo4j的数据存储形式neo4j的数据存储形式 主要是 节点(node)和 边(edge) 来组织数据。node可以代表知识图谱中的实体,edge可以用来代表实体间的关系,关系可以有方向,两端对应开始节点和结束节点。
可以在node上加一个或多个标签(Node Label)表示实体的分类,以及一个键值对集合来表示该实体除了关系属性之外的一些额外属性。关系也可以附带额外的属性。
Neo4j采用自己设计的查询语言cypher,其特点和sql有很多相似的地方,match,where,return是最常用到的关键字:
- match:相当于sql中的select,用来说明查询匹配的数据模式
- where:用来限制node或者关系中部分属性的属性值,从而返回我们想要的数据值
- return:返回节点或者关系
- 下载地址: Neo4j下载官网
- 下载版本:neo4j-community-3.5.28-windows(JDK如果是11版本的,推荐下载该版本Neo4j,最新版本的与JDK11版本会有点问题)
- 配置环境:添加NEO4J_HOME变量,变量值为解压后的路径
Path加入 %NEO4J_HOME%bin; - 测试安装结果:用win+R键打开命令控制界面,输入neo4j.bat console
- 需要下载JDK以及配置环境变量
- 进入Neo4j界面:在浏览器中打开 “ Neo4j管理界面”,就可以访问Neo4j管理界面了
- 在Neo4j浏览器中创建节点和关系,在 $ 命令行中,编写 Cypher 脚本代码,点击 Play 按钮完成创建,执行下面的语句
CREATE (n:Student { name: ‘Lucky’, title: ‘Developer’ }) return n;
CREATE (n:teacher { name: ‘Ljg’, title: ‘Success’ }) return n;
进行两个对象的关系匹配,
match(n:teacher{name:“Ljg”})(m:Student{name:“Lucky”}) create (n)-[r:Friend]->(m) return r;
match(n:teacher{name:“Ljg”}),(m:Student{name:“Lucky”}) create (n)<-[r:Friend]-(m) return r;
创建完两个节点和关系之后,查看数据库中的图形。
match(n) return n;六.Neo4j的python *** 作
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)