在Windows环境中安装Neo4j 梦里梦外; 2022-06-01 10:30 189阅读 0赞 最近突然对聊天机器人感兴趣,学习途中发现需要先配置neo4j,故留存学习。 原文链接:https://www.cnblogs.com/ljhdo/archive/2017/05/19/5521577.html 图形数据库(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][Java SE JDK],当前的版本是JDK8。 ![SouthEast][] **2,下载Neo4j安装文件** 从Neo4j官网下载最新版本[Neo4j 3.2][] 社区(Community)版本 “neo4j-community-3.2.0-windows。zip”,解压到主目录,“D:\\Program Files\\neo4j-community-3.2.”。 Neo4j应用程序有如下主要的目录结构: * bin目录:用于存储Neo4j的可执行程序; * conf目录:用于控制Neo4j启动的配置文件; * data目录:用于存储核心数据库文件; * plugins目录:用于存储Neo4j的插件; **3,创建系统环境变量** 创建主目录环境变量NEO4J\_HOME,并把主目录设置为变量值。 ![628084-20170518184824197-1041017055.png][] **二,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访问本机。 ![628084-20170519094211135-1778241906.png][] **2,连接器的可选属性** ![628084-20170519094435244-1208684991.png][] **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 防火墙中允许远程主机访问这些端口号。 ![复制代码][copycode.gif] # 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 ![复制代码][copycode.gif] **四**,**启动Neo4j程序** **1,通过控制台启动Neo4j程序** 点击组合键:Windows+R,输入cmd,启动DOS命令行窗口,切换到主目录,以管理员身份运行命令: neo4j.bat console 如果看到以下消息,说明neo4j已经开始运行: ![628084-20170519111519463-791779623.png][] **2,把Neo4j安装为服务(Windows Services)** 安装和卸载服务: bin\neo4j install-service bin\neo4j uninstall-service 启动服务,停止服务,重启服务和查询服务的状态: bin\neo4j start bin\neo4j stop bin\neo4j restart bin\neo4j status **五,打开Neo4j集成的浏览器** **1,Neo4j浏览器** Neo4j服务器具有一个集成的浏览器,在一个运行的服务器实例上访问 “http://localhost:7474/”,打开浏览器,显示启动页面 ![628084-20170518190726760-268665394.png][] 默认的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按钮,点击创建第一个节点, ![628084-20170519113705572-686462412.png][] 在第一个节点创建之后,在Graph模式下,能够看到创建的图形,继续编写Cypher脚本,创建其他节点和关系 ![628084-20170519113200713-980365925.png][] 在创建完两个节点和关系之后,查看数据库中的图形: ![628084-20170519113515744-460165805.png][] 后续,我会继续分享我学习Neo4j图形数据库、Cypher脚本和相应的驱动程序的笔记,敬请期待。 推荐书籍:《Neo4j实战》,原著是《Neo4j in Action》 官方手册: * [The Neo4j Developer Manual v3.2][] * [The Neo4j Operations Manual v3.2][The Neo4j Developer Manual v3.2] [Java SE JDK]: http://www.oracle.com/technetwork/java/javase/downloads/index.html [SouthEast]: /images/20220601/c6e9e50b7e06481cbf24224e6b3a0b1e.png [Neo4j 3.2]: https://neo4j.com/download/other-releases/ [628084-20170518184824197-1041017055.png]: /images/20220601/063c5e5a540a4b7094b3272c765d784b.png [628084-20170519094211135-1778241906.png]: /images/20220601/c711b028304f45e4a01f8b554659036b.png [628084-20170519094435244-1208684991.png]: /images/20220601/bedfd8d802c940cfbe0dfc9ccf962b65.png [copycode.gif]: /images/20220601/2fcb51bf158a4b18b98631f96e337130.png [628084-20170519111519463-791779623.png]: /images/20220601/f4a7a0a9527c41749d349ce5b1c4581a.png [628084-20170518190726760-268665394.png]: /images/20220601/f0e79ba0efae4bca9b649ae77a0ad12c.png [628084-20170519113705572-686462412.png]: /images/20220601/7160b265a2e94701b86539529f892f99.png [628084-20170519113200713-980365925.png]: /images/20220601/0a774c2220464351957605244557a2ae.png [628084-20170519113515744-460165805.png]: /images/20220601/c98e93c8b11a435fbdb819dc8e9cbc02.png [The Neo4j Developer Manual v3.2]: https://neo4j.com/docs/operations-manual/3.2/
还没有评论,来说两句吧...