热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

认识Neo4j

想知道什么是Neo4j

图数据库介绍

图数据库(Graph Database)是基于图论实现的一种新型NoSQL数据库。它的数据存储结构和数据的查询方式都是以图论为基础的。图论中图的基本元素为节点和边,在图数据库中对应的就是节点和关系。

在图数据库中,数据与数据之间的关系通过节点和关系构成一个图结构并在此结构上实现数据库的所有特性,如对图数据对象进行创建、读取、更新、删除(Create、Read、Update、Delete,简称CRUD)等操作的能力,还有处理事务的能力和高可用性等。

目前较为流行的图数据库产品有一下几种:

图数据库和关系数据库的对比:

RDBMS关系查询:

如果数据比较复杂,会出现很多JOIN操作,出现很多空表,造成空间浪费。

图数据库中关系查询:

使用节点表示数据,边表示数据之间的关系

复杂数据关系:

Neo4j介绍

Neo4j是由Java和Scala实现的开源NoSQL图数据库。自2003年开始研发,知道2007年正式发布第一版。Neo4j的源代码托管在github上,技术支持托管在Stack Overflow和Neo4j Google讨论组上。Neo4j现如今已经被各行业的数十万家公司和组织采用。Neo4j的使用案例涵盖了包括网络管理、软件分析、科学研究、路由分析、组织和项目管理、决策指定、社交网络等。


官网网站:https://neo4j.com

官方文档:https://neo4j.com/docs/

GitHub:https://github.com/neo4j/neo4j

Example:https://github.com/neo4j-examples

Neo4j具备的特性:

  • 图数据库

  • 基于JVM

  • 高性能

  • 复杂数据模型

  • 代码开源

  • ACID事务

  • 声明式图查询语言

  • 界面友好

Neo4j入门

工欲善其事必先成利器!

Neo4j的安装部署

由于Neo4j是基于Java虚拟机(Java Virtual Machine,JVM)的产品,所以在安装前,必须保证已经安装了Java虚拟机。

Windos系统下载与安装
  • Desktop版本

  • Zip压缩包版

    压缩版版启动,在命令行下,“以管理员身份运行”命令提示符,导航到Neo4j的运行目录/bin下

    输入命令neo4j,系统会返回关于neo4j运行命令的相关指令,通过使用“neo4j <指令名>
    ”的格式就可以运行相关操作了,其中的指令名包括:

    • console:打开Neo4j的控制台

    • start:启动Neo4j

    • stop:关闭Neo4j

    • restart:重启Neo4j

    • status:查看Neo4j运行状态

    • install-service:安装Neo4j在Windows系统上的服务

    • uninstall-service:卸载Neo4j在Windows系统上的服务

      首次安装Neo4j需要先运行neo4j install-service
      命令将Neo4j服务安装在系统上,然后再运行:neo4j start 命令启动Neo4j。如果想要卸载Neo4j,就运行:neo4j uninstall-service
      命令,这样Neo4j服务就卸载了。

CentOS系统安装Neo4j
  • Desktop安装

  • tar压缩包版安装

    • 解压运行 ./bin/neo4j.sh

  • Yum安装:

  • 对于CentOS系统安装Neo4j,需要手动安装Yum源。

     cd tmp
     wget http://debian.neo4j.org/neotechnology.gpg.key
     sudo rpm --import neotechnology.gpg.key

    其中cd tmp 为导航到系统tmp目录下;然后使用wget命令将安装配置文件neotechnology.gpg.key下载到当前目录;再使用sudo rpm --import neotechnology.gpg.key
    命令将安装配置文件导入到系统中。

    接下来,文本编辑器创建一个/etc/yum.repos.d/neo4j.repo内容:

     [neo4j]
     name=Neo4j Yum Repo
     baseurl=http://yum.neo4j.org
     enabled=1
     gpgcheck=1

    最后,我们就可以使用yum命令安装neo4j。

     yum install neo4j

    至此在CentOS系统下Neo4j已安装完毕。下面是安装后Neo4j的文件路径:

    导航到/usr/share/neo4j/bin 运行目录下,运行:neo4j start命令就可以启动neo4j数据库了。默认情况下,只能通过http:// localhost:7474 /访问neo4j实例。如果要启用外部访问,则需要在neo4j-server.properties文件中取消注释该行:

    #org.neo4j.server.webserver.address = 0.0.0.0

    并重新启动服务器。更多的配置参照官网。

    • Neo4j安装目录为:/usr/share/neo4j

    • Neo4j的属性文件所在目录为:/etc/neo4j

    • Neo4j默认的数据库文件保存目录为:/var/lib/neo4j

我使用的环境是centos7+neo4j-community-3.4.5,4.0.x版本太新了,环境搭了两天没搞定,而且4.0.x必须使用jdk11,各种缓存/权限的报错已经让我花了两天时间捯饬,而且还不成功,最后决定先熟悉旧版本的内容特性然后再尝试回过头来搭建一下4.0。服务启动成功之后访问页面如下:


- END -

学习图形数据库Neo4j也是因为公司项目开发需要,而且也是刚开始学习,自己也找了些学习资料,如果有小可爱需要,添【lxcecho】联系我获取,一块学习交流探讨。

最后,请素质三连,点赞、在看、转发,关注并标星公众号 Just For Joy 获取最新内容,后台回复 666 获取学习近期学习笔记,更多内容陆续奉上。




推荐阅读
  • Java EE 平台集成了多种服务、API 和协议,旨在支持基于 Web 的多层应用程序开发。本文将详细介绍 Java EE 中的 13 种关键技术规范,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • vue引入echarts地图的四种方式
    一、vue中引入echart1、安装echarts:npminstallecharts--save2、在main.js文件中引入echarts实例:  Vue.prototype.$echartsecharts3、在需要用到echart图形的vue文件中引入:   importechartsfrom&amp;quot;echarts&amp;quot;;4、如果用到map(地图),还 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • 阿里云 Aliplayer高级功能介绍(八):安全播放
    如何保障视频内容的安全,不被盗链、非法下载和传播,阿里云视频点播已经有一套完善的机 ... [详细]
  • iOS snow animation
    CTSnowAnimationView.hCTMyCtripCreatedbyalexon1614.Copyright©2016年ctrip.Allrightsreserved.# ... [详细]
  • 本文将详细介绍如何在 Vue 项目中使用 Handsontable 插件,包括 npm 安装、基本配置和常用功能的实现。 ... [详细]
  • 小程序的授权和登陆
    小程序的授权和登陆 ... [详细]
  • 在 CentOS 7 环境中使用 MySQL 5.6 镜像启动数据库时遇到权限问题,本文将详细探讨并提供解决方案。 ... [详细]
  • 本文旨在解决 MySQL 无法连接到 localhost 的常见问题,并提供详细的步骤来确保 MySQL 服务正确启动和配置。 ... [详细]
  • 本文介绍了 AngularJS 中的 $compile 服务及其用法,通过示例代码展示了如何使用 $compile 动态编译和链接 HTML 元素。 ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 本文讨论了在进行 MySQL 数据迁移过程中遇到的所有 .frm 文件报错的问题,并提供了详细的解决方案和建议。 ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • 在使用Eclipse进行调试时,如果遇到未解析的断点(unresolved breakpoint)并显示“未加载符号表,请使用‘file’命令加载目标文件以进行调试”的错误提示,这通常是因为调试器未能正确加载符号表。解决此问题的方法是通过GDB的`file`命令手动加载目标文件,以便调试器能够识别和解析断点。具体操作为在GDB命令行中输入 `(gdb) file `。这一步骤确保了调试环境能够正确访问和解析程序中的符号信息,从而实现有效的调试。 ... [详细]
author-avatar
拍友2502940513
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有