neo4j 图数据库安装及介绍

neo4j 图数据库安装及介绍

一、neo4j图数据库介绍

  图数据库,顾名思义就是利用了“图的数据结构来作为数据存储逻辑体现的一种数据库”,所以要想学好图数据库当然需要了解一些关于图数据结构的算法!同样的作为图数据结构中很多常用的算法在图数据库中是默认提供支持的,对数据进行查询、计算的操作,比如常见的最短路径算法pagerank算法等等这些算法,都是图数据结构中常见的算法!当然了neo4j作为一个图数据库当然也会提供这些算法的实现,方便使用者对数据进行操作!
  
  那么图数据结构具体又包含些什么特点?
  
  首先图数据结构,最重要的就是,边(Edge)顶点(Node)方向(Direction)三个最基本的元素,数据主要是挂载在顶点上,那么方向主要用来表示顶点和顶点之间的关系网这样将我们需要分析的数据建模成为一个网状的模型,也就是所谓的,在某些场景中也会包含一些权重值,用于表示顶点顶点之间数据关系的重要性!
  
  下面就简单来进行模拟一个图的数据结构,徒手来画一个,更加直观
  

  如上图就是非常的一个简单的图结构,这里面包含着电影、观众、导演、作家,非常的直观,当然目前的这个图是非常简单的图,这种关系通过传统的关系型数据库同样是可以进行描述的,但是关系型数据库在处理关系网的时候处理能力是相对弱的,而且比起图数据库来说会显得麻烦复杂同时效率低下;比如我在在非常大的一个图中需要寻找节点之间最短路径,其实这种场景是非常常见的,比如QQ共同好友这些功能就是利用了你好友列表中的关系网,同时它能够给你推送你的其他好友中包含的好友,而且这种好友基本上你都是认识的,这就是典型的通过关系网进行分析得出的结果,具体的分析当然看业务,而且运用的场景也会非常多!
  
  上面这些基本上就算是基本的介绍,具体的使用场景和一些细节后面会专门在写相关的点的文章再来回顾!
  
  那么说了这么多,发现我们的真实数据实际上是可以在顶点上上的,那么上的数据当然是要和顶点之间建立某种关系联系的数据,上面的模型其实只是简单的数据模型,那么复杂的数据模型当中,的属性是非常多的,电影的属性也同样是非常多的,那么这些定点自然也就要承载更多的数据,所以顶点都后挂载属性,这样建立出来的数据模型就会更加完整,比如他有电话、家庭地址、工作等等,电影同样也会有很多属性,这样的话,自然而然通过对关系网的分析,其实会得到很多有用的价值,比如给他推荐电影推荐哪里的电影院合适等等问题!
  
  接下来再来说说关系型数据库中会存在唯一键,同样图数据库中也存在唯一键顶点都存在
  
  根据上面所说的这些信息可以基本分析出来,图数据库中的数据模型基本上就是下面内容
  

Edge:[Id,Object]
Node:[Id,Object]

  基本上就是上面的这种模型,一个图就是由所有的顶点所有的边构成的,那么现在暂时还不去管图数据库在底层到底是怎么存储数据的,其实这里可以提一下,其实就是把边和顶点进行拆分,然后分别存储,但是具体不同的图数据库实现是不一样的,上面的Object代表的就是不断抽象出来的属性,所以,一个顶点和一条实际上是可以存储很多数据的

上面这些内容基本上就说到这,后面在使用的过程中会有更多的细节,同时会有更加深入的了解,下面就是先把neo4j环境先弄起来

二、neo4j环境搭建

  neo4j分为社区版企业版企业版为收费版本,主要是支持分布式,因为单节点的处理能力是有限的,但是收费非常高,所以在没有资源的情况下选择使用社区版本,单机进行处理图关系,当然对于大规模图处理还有其他的图数据库或者图数据引擎,比如Spark GraphxTian等等,还有很多,有些大公司内部估计还有自己的内部开发的分布式图数据库,比如蚂蚁金服Geabase、google开源的cayley等等,这里提到了图数据库图数据引擎,其实两个东西很相似但是却又有很明显的区别,图数据库中会提供一些ACID的支持,侧重点是查询,当然也能够分析,并且在应对一些小的数据规模也会非常好用;图数据引擎侧重点是对关系的分析发现,查询速度会相对于图数据库没有那么高的实时性,并且也一般不支持ACID的操作
  
  下面就进行搭建neo4j环境搭建,使用的是社区版所有就只在单机上进行安装
  
  安装环境准备
  
  centos7neo4j-community-3.4.12-unix.tar.gzjdk8
  
  neo4j下载地址
  
在安装之前需要将jdk安装完成,安装jdk就不写了

 $ tar -zxvf neo4j-community-3.4.12-unix.tar.gz

配置启动机器ip,我这里就配置成为我虚拟机的ip

配置文件conf/neo4j.conf

dbms.connectors.default_listen_address=192.168.56.22

上面安装完成之后可以关闭防火墙或者开放74747687两个端口

关闭防火墙

$ systemctl disable firewalld
$ systemctl stop firewalld

开启neo4j服务

$ ./bin/neo4j start   #开启
$ ./bin/neo4j restart #重启
$ ./bin/neo4j stop    #关闭

  
启动之后访问http://192.168.56.22:7474/

?

默认用户名和密码都为neo4j

输入之后,重新设置密码,neo4j就安装完成了,就能够进行使用了!后面再来说如何使用吧!单机版的安装非常简单的!

原文地址:https://www.cnblogs.com/mojita/p/10480856.html

时间: 2024-07-28 19:55:44

neo4j 图数据库安装及介绍的相关文章

Neo4j视频教程 Neo4j 图数据库视频教程

课程发布地址 地址: 腾讯课堂<Neo4j 图数据库视频教程> https://ke.qq.com/course/327374?tuin=442d3e14 作者 庞国明,<Neo4j权威指南>副主编.<Neo4j 3.x 入门经典>翻译 邮箱:[email protected] QQ:1143815700 Neo4j技术讨论QQ群:547190638 Neo4j中文社区:http://neo4j.com.cn 面向人群 Neo4j初学者:已掌握一定Neo4j技术的开发人

Neo4j教程 Neo4j视频教程 Neo4j 图数据库视频教程

课程发布地址 地址: 腾讯课堂<Neo4j 图数据库视频教程> https://ke.qq.com/course/327374?tuin=442d3e14 作者 庞国明,<Neo4j权威指南>副主编.<Neo4j 3.x 入门经典>翻译 邮箱:[email protected] QQ:1143815700 Neo4j技术讨论QQ群:547190638 Neo4j中文社区:http://neo4j.com.cn 面向人群 Neo4j初学者:已掌握一定Neo4j技术的开发人

Neo4j图数据库从入门到精通

目录 第一章:介绍 Neo4j是什么 Neo4j的特点 Neo4j的优点 第二章:安装 1.环境 2.下载 3.开启远程访问 4.启动 第三章:CQL 1.CQL简介 2.Neo4j CQL命令/条款 3.Neo4j CQL 函数 4.Neo4j CQL数据类型 第四章:命令 1.CREATE创建 2.MATCH查询 3.RETURN返回 4.关系基础 5.WHERE子句 6.DELETE删除 7.REMOVE删除 8.SET子句 9.ORDER BY排序 10.UNION子句 11.LIMIT

Neo4j图数据库应用开发之一:Neo4j Java 工具包

1 应用开发概述 基于数据传输效率以及接口自定义等特殊性需求,我们暂时放弃使用Neo4j服务器版本,而是在Neo4j嵌入式版本的基础上进行一些封装性的开发.封装的重点,是解决Neo4j嵌入式版本EmbeddedGraphDatabase中不能同时创建多个实例指向同一个数据库的问题.如果开发人员使用Neo4j嵌入式版本作为数据库,要想实现多个程序共享一个数据库,这将是一个不可回避的问题.本手册给出的解决方案是“构建一个中间服务层,提供各种接口方法,指向同一个数据库实例:其他客户端程序通过中间服务层

使用neo4j图数据库的import工具导入数据 -方法和注意事项

背景 最近我在尝试存储知识图谱的过程中,接触到了Neo4j图数据库,这里我摘取了一段Neo4j的简介: Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中.它是一个嵌入式的.基于磁盘的.具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中.Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性.程序员工作在一个面向对象的.灵活的网络结构下而不是严格.静态的表中--但是他们可以享受到具备完全的事务

Neo4j图数据库介绍

图数据库在图中存储数据,图是最通用的数据结构.图中可以存储节点和关系,节点和关系都可以保存属性.这种存储图的数据模型被称为属性图. 图数据库中的基本元素 节点往往用来表示实体,节点可以被多个标签进行标记.最简单的一个属性图是只有一个节点的图,这个节点可以有多个键值对标记的属性.关系通过连接节点来组织节点,一个联系有两个节点,开始节点和结束节点.这一点说明关系是有方向的.利用关系可以将节点组织成链表,树,图等数据结构.标签用来赋予节点角色和类型.一个节点可以有多个标签. 图数据中的高级属性 一个遍

Neo4j:图数据库GraphDB(一)

图数据库的代表:Neo4j 官网:  http://neo4j.com/ 引言:为什么使用图数据库 在很多新型项目中,应用图数据库已经是势在必行的趋势了,因为图数据库可以很好的表示各种节点与关系的概念,并且可以很友好的可视化出来,大大方便了我们的数据管理和展示工作. 下面均以演员,导演和电影的图关系做介绍: 一 概念 节点: (a) //actors (m) //movies ( ) //some anonymous nod 关系: -[r]-> //a relationship referre

Neo4j:图数据库GraphDB(二)

接着上一篇,继续介绍图数据库Neo4j: http://www.cnblogs.com/rongyux/p/5537028.html 三 高级查找操作 1过滤   name = "Tom Hanks"的人 MATCH (n:Person) WHERE n.name = "Tom Hanks" RETURN n; 另一种写法: MATCH (n:Person {name:"Tom Hanks"}) RETURN n; 2 排序Order, 限制Li

Neo4j图数据库管理系统开发笔记之二:嵌入式服务端系统界面一览

最近在neo4j java api和rmi的基础上,设计了一套neo4j管理工具,分为server端和client端,中间用rmi进行通信.基本功能包括图数据库基本信息维护管理(创建.编辑.删除.统计等),图数据库数据维护管理(创建节点和关系.编辑节点和关系属性信息.节点标签管理.索引管理.删除管理.路径深度遍历.两点之间路径寻址等),RMI服务管理等功能. 先把部分功能界面贴出来,希望能对别人有所帮助,如果有需要代码的话,给我留言.