ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Neo4j图数据库系列:关于在Neo4j中创建多数据库的探究(Neo4j 4.0版本)

2022-09-13 17:30:48  阅读:318  来源: 互联网

标签:4.0 数据库 文档 版本 neo4j Neo4j


一、简介

我也是刚接触Neo4j,学到这也有所感悟,记录一下。首先,说点自己的理解。Neo4j是一种图数据库,存储的是节点、节点之间的关系、节点的属性、关系的属性。实际上,其背后的数据模型就是概念图模型(学过知识图谱的应该知道),类似于关系数据库(如Oracle、Mysql等)中的关系数据模型(本质上就是行列表格,只是有一套严密的数学逻辑作支撑)。

就像传统关系型数据库领域有结构化查询语言SQL一样,图数据库领域也建了一套查询语言标准,叫Cypher(美式读音:[ˈsaɪfər]),一般称作CQL(对标SQL)。CQL也是一种声明式语言。声明式语言就是你只管告诉要干什么事情,干的过程以及怎么干你不用管,数据库管理系统有一套自己的逻辑帮你做了。与声明式语言对标的就是命令式语言,你不仅需要知道要干什么,还要自己编程实现怎么干,就是python、java、C、C++等这一类的语言。

二、安装建议

Neo4j的安装过程不废话了,网上一大堆。这里只给出几点建议:

初学者推荐选择server社区版,我用的是目前的最新版本4.0.1
一定要多看官方文档,其实最好的参考安装方式,就是对应版本的官方文档。因为,版本不一样,很可能会差异很大。
Neo4j的官网国内访问是真的慢,也不稳定,有条件还是fanqiang吧,要不你会吐血的。

三、传统如何创建多个库(针对Neo4j 3.×)

这可能是有些人比较关心的。Neo4j怎么说也是一个数据库管理系统,支持数据库管理方面的命令,我觉得是必须要有的。你看关系型数据库管理系统(如oracle、mysql等)哪个没提供,也没有只支持SQL就拉倒了吧。因此,Neo4j也不应该只支持CQL就完了啊(虽然社区版是免费的,但也不能支持数据库管理命令啊)。

通过看网上的资料,可能Neo4j 3.×版本确实没提供啥管理命令,只支持一个库。在这种情况下,有的网友发挥自己的聪明才智创造性的摸索出了一套方法,网上写这个的很多,但方法都是一样。思想很简单,我这里简要说下(针对3.×版本,我这里只是总结,我也没安装过3.×版本试过哈):首先,Neo4j只有一个默认的数据库叫graph.db,就在安装目录data文件夹下;其次,Neo4j提供了一个配置文件叫neo4j.conf,在安装目录conf文件夹下,所有关于Neo4j的设置都可以修改这个配置文件实现;最后,配置文件里有个键值对叫dbms.active_database=,其默认值是graph.db,这个值可以用你想要的名称替换后(记得打开注释),重启Neo4j服务就会在data目录下生成一个新的数据库文件。改回去也是同样的操作。

本来上面这个方法挺完美的,就是麻烦了点,但好歹解决了问题嘛。我赶紧试一下,搜索键值对,竟然没搜索到,我以为我输错了,试了好几遍还是没有。为啥?谁能告诉我?算了,只能自己思考。难道是Neo4j 4.×版本变了,我觉得很有可能。那可不可以自己添加下键值对,但是我没试,有兴趣的可以试一下。

我要转变思路,看网上还有一种巧妙的方法:把Neo4j整个目录复制一遍,改改端口号,开它好几个服务,那不就可以实现存储不同内容的目的了嘛。想了想,感觉很有道理。但是,我还是没试,有兴趣的可以试一下。

四、到底怎么最快捷的建不同的库(针对Neo4j 4.0.1)

实际上,Neo4j更新到4.×版本后,已经原生支持创建多个库,并提供了相应的命令,感兴趣的可以看下:官方文档地址(记得fanqiang)。我看了下,跟传统关系型数据库的命令差不多,几乎一样。

Neo4j更新到4.×后,启动服务后,默认有两个库,如下图所示,目录也换到了data/databases/下,其中neo4j数据库是登录后默认库。官方介绍:

system—系统数据库,包含数据库管理系统和安全配置的元数据;
neo4j—默认数据库,用户数据的单一数据库。它的默认名称是neo4j。

创建不同库的指令就是:(一定要看到文章底部,有惊喜)

CREATE DATABASE name

就是这么简单。但是需要注意的是,这个命令必须在system库下执行才可以。下面贴一下相关命令

(参考文档:neo4j-operations-manual-4.0.pdf)。

 

 大家看到这里应该很兴奋,但是为时过早。我试了一下,命令竟然不管用,如图:

经查找官方文档,是因为社区版不支持,商业版可以支持,如下图所示(参考文档:neo4j-cypher-manual-4.0.pdf)。因为没有商业版,也就没在求证。至于是不是3.×版本的商业版就已经支持,我就不知道了,暂时不想再深究了。

五、后记

本文显然没有解决Neo4j多数据库创建的问题(至少社区版)。但是,跟大家展示了我的整个历程,希望有所裨益。大家不要喷我就可以了。实在需要,还是用商业版,不行就按照传统方法搞一搞,我懒得试了。github上也有一些入门Neo4j的例子,有兴趣的可以看一下:https://github.com/neo4j-examples


————————————————
版权声明:本文为CSDN博主「zhanghai4155」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhanghai4155/article/details/104724355

标签:4.0,数据库,文档,版本,neo4j,Neo4j
来源: https://www.cnblogs.com/zhangchao0515/p/16689986.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有