zoukankan      html  css  js  c++  java
  • 在Windows环境中安装Neo4j

    原文出处http://www.yund.tech/zdetail.html?type=1&id=dee0403105d7c2585e80f002965c2513    

    作者:jstarseven  


      

    图形数据库(Graph Database)是NoSQL数据库家族中特殊的存在,用于存储丰富的关系数据,Neo4j 是目前最流行的图形数据库,支持完整的事务,在属性图中,图是由顶点(Vertex),边(Edge)和属性(Property)组成的,顶点和边都可以设置属性,顶点也称作节点,边也称作关系,每个节点和关系都可以由一个或多个属性。Neo4j创建的图是用顶点和边构建一个有向图,其查询语言cypher已经成为事实上的标准。

    关系型数据库只对单个Join操作进行优化查询,而多重Join操作查询的性能显著下降。图形数据库适合查询关系数据,由于图形遍历的局部性,不管图形中由多少节点和关系,根据遍历规则,Neo4j只访问与遍历相关的节点,不受到总数据集大小的影响,从而保持期待的性能;相应地,遍历的节点越多,遍历速度越慢,但是变慢是线性的,这使得图形数据库不适合做海量数据统计分析。对与存在大量丰富关系的数据,遍历的性能不受图形数据量大小的影响,这使得Neo4j成为解决图形问题的理想数据库。

      

    一、下载和安装Neo4j

    1、安装Java JDK

    Neo4j是基于Java的图形数据库,运行Neo4j需要启动JVM进程,因此必须安装JAVA SE的JDK。从Oracle官方网站下载 Java SE JDK,当前的版本是JDK8。

    2、下载Neo4j安装文件

    从Neo4j官网下载最新版本Neo4j 3.2 社区(Community)版本 “neo4j-community-3.2.0-windows。zip”,解压到主目录,“D:Program Files eo4j-community-3.2.”。

    Neo4j应用程序有如下主要的目录结构:

    • bin目录:用于存储Neo4j的可执行程序;
    • conf目录:用于控制Neo4j启动的配置文件;
    • data目录:用于存储核心数据库文件;
    • plugins目录:用于存储Neo4j的插件;

    3、创建系统环境变量

    创建主目录环境变量NEO4J_HOME,并把主目录设置为变量值。

     

    二、Neo4j的配置

    配置文档存储在conf目录下,Neo4j通过配置文件neo4j.conf控制服务器的工作。默认情况下,不需要进行任意配置,就可以启动服务器。

    1、核心数据文件的位置

    例如,核心数据文件存储的位置,默认是在data/graph.db目录中,要改变默认的存储目录,可以更新配置选项:

    # The name of the database to mount
    #dbms.active_database=graph.db
    
    # Paths of directories in the installation.
    #dbms.directories.data=data

    2、安全验证,默认是启用的

    # Whether requests to Neo4j are authenticated.
    # To disable authentication, uncomment this line
    #dbms.security.auth_enabled=false

    3、配置JAVA 堆内存的大小

    # Java Heap Size: by default the Java heap size is dynamically calculated based on available system resources.
    # Uncomment these lines to set specific initial and maximum heap size.
    #dbms.memory.heap.initial_size=512m
    #dbms.memory.heap.max_size=512m

    三、网络连接配置

    1、Neo4j支持三种网络协议(Protocol)

    Neo4j支持三种网络协议(Protocol),分别是Bolt,HTTP和HTTPS,默认的连接器配置有三种,为了使用这三个端口,需要在Windows防火墙中创建Inbound Rules,允许通过端口7687,7474和7473访问本机。

    2、连接器的可选属性

    listen_address:设置Neo4j监听的链接,由两部分组成:IP地址和端口号(Port)组成,格式是:<ip-address>:<port-number>

    3、设置默认的监听地址

    设置默认的网络监听的IP地址,该默认地址用于设置三个网络协议(Bolt,HTTP和HTTPs)的监听地址,即设置网络协议的属性:listen_address地址。在默认情况下,Neo4j只允许本地主机(localhost)访问,要想通过网络远程访问Neo4j数据库,需要修改监听地址为 0.0.0.0,这样设置之后,就能允许远程主机的访问。

    # With default configuration Neo4j only accepts local connections.
    # To accept non-local connections, uncomment this line:
    dbms.connectors.default_listen_address=0.0.0.0

    4、分别设置各个网络协议的监听地址和端口

    HTTP链接器默认的端口号是7474,Bolt链接器默认的端口号是7687,必须在Windows 防火墙中允许远程主机访问这些端口号。

    复制代码
    # Bolt connector
    dbms.connector.bolt.enabled=true
    #dbms.connector.bolt.tls_level=OPTIONAL
    #dbms.connector.bolt.listen_address=0.0.0.0:7687
    
    # HTTP Connector. There must be exactly one HTTP connector.
    dbms.connector.http.enabled=true
    #dbms.connector.http.listen_address=0.0.0.0:7474
    
    # HTTPS Connector. There can be zero or one HTTPS connectors.
    #dbms.connector.https.enabled=true
    #dbms.connector.https.listen_address=0.0.0.0:7473
    复制代码

     

    四、启动Neo4j程序

     

    1、通过控制台启动Neo4j程序

    点击组合键:Windows+R,输入cmd,启动DOS命令行窗口,切换到主目录,以管理员身份运行命令:

    neo4j.bat console

    如果看到以下消息,说明neo4j已经开始运行:

    2、把Neo4j安装为服务(Windows Services)

    安装和卸载服务:

    bin
    eo4j install-service
    bin
    eo4j uninstall-service

    启动服务,停止服务,重启服务和查询服务的状态:

    bin
    eo4j start
    bin
    eo4j stop
    bin
    eo4j restart
    bin
    eo4j status

    五、打开Neo4j集成的浏览器

    1、Neo4j浏览器

    Neo4j服务器具有一个集成的浏览器,在一个运行的服务器实例上访问 “http://localhost:7474/”,打开浏览器,显示启动页面

    默认的host是bolt://localhost:7687,默认的用户是neo4j,其默认的密码是:neo4j,第一次成功登陆到Neo4j服务器之后,需要重置密码。

    访问Graph Database需要输入身份验证,Host是Bolt协议标识的主机。

    2、在Neo4j浏览器中创建节点和关系

    示例,编写Cypher命令,创建两个节点和两个关系:

    CREATE (n:Person { name: 'Andres', title: 'Developer' }) return n;
    CREATE (n:Person { name: 'Vic', title: 'Developer' }) return n;
    match(n:Person{name:"Vic"}),(m:Person{name:"Andres"}) create (n)-[r:Friend]->(m) return r;
    match(n:Person{name:"Vic"}),(m:Person{name:"Andres"}) create (n)<-[r:Friend]-(m) return r;

    在$ 命令行中,编写Cypher脚本代码,点击Play按钮,点击创建第一个节点,

    在第一个节点创建之后,在Graph模式下,能够看到创建的图形,继续编写Cypher脚本,创建其他节点和关系

    在创建完两个节点和关系之后,查看数据库中的图形:

    后续,我会继续分享我学习Neo4j图形数据库、Cypher脚本和相应的驱动程序的笔记,敬请期待。

     

    推荐书籍:《Neo4j实战》,原著是《Neo4j in Action》

    官方手册:


     -END-

  • 相关阅读:
    119. Pascal's Triangle II
    118. Pascal's Triangle
    112. Path Sum
    111. Minimum Depth of Binary Tree
    110. Balanced Binary Tree
    108. Convert Sorted Array to Binary Search Tree
    88. Merge Sorted Array
    83. Remove Duplicates from Sorted List
    70. Climbing Stairs
    陌陌面试经历
  • 原文地址:https://www.cnblogs.com/jstarseven/p/9546555.html
Copyright © 2011-2022 走看看