关于neo4j图数据库
一、关于neo4j图数据库的下载、安装和配置
1、下载,建议从官网下载社区版本
ftp://neo4j.55555.io/neo4j/3.5.12/neo4j-community-3.5.12-windows.zip
ftp://neo4j.55555.io/neo4j-doc/3.5/
2、预安装,确保java已安装
执行java –version命令,检查java是否已安装
3、安装步骤,很简单,不必赘述
4、安装后的环境变量配置
SET NEO4J_HOME=c:neo4j
SET PATH=% NEO4J_HOME %BIN
5、以管理员身份在命令窗口执行neo4j.bat console
6、通过IE打开http://localhost:7474/,建议打开http://127.0.0.1:7474/
7、设置用户名和密码
8、打开主页面
9、neo4j的几个命令
代码语言:javascript复制neo4j install-service
neo4j start
neo4j stop
neo4j restart
neo4j status
10、部分问题和困扰
问题1、好像neo4j.batconsole和neo4j start无法共存
启动了neo4j.bat console,就无法启动neo4j start,反之亦然
问题2、另外访问neo4j首页,建议通过IP地址访问http://127.0.0.1:7474/browser/,否则无法正常连接neo4j数据库
二、关于neo4j图数据库的一些粗浅认识
A graph database can store any kind of data usinga few simple concepts:
1.Nodes - graph data records
2.Relationships - connect nodes
3.Properties - named data values
图数据库包括节点、关系和属性。
节点由标签和一系列属性构成,
代码语言:javascript复制#neo4j代码
CREATE (ee:Person { name: "Emil", from:"Sweden", klout: 99 })
#Python代码
a = Node("Person", name="Alice",createdate=’2019-02-02’)标签等同于数据库中的表,name意味着值的名称,在这里姑且认为是主键值吧,可以想想如何确保数据表中的数据的唯一性吧,后面的属性可以根据需要进行定制
关于关系,是节点和节点之间的连接,当然关系也可以设置很多明细的属性
代码语言:javascript复制#neo4j代码
CREATE (ee)-[:KNOWS {since: 2001}]->(js),(ee)-[:KNOWS{rating: 5}]->(ir)
#Python代码
ab = Relationship(a, "KNOWS", b)
ab=Relationship(test_node_2,'妻子',test_node_1)
关系查找,如果一个系统只存储而不能查找,这个系统大概是没什么价值的,neo4j是通过match来进行查找的。
代码语言:javascript复制#neo4j代码
MATCH (ee:Person) WHERE ee.name = "Emil" RETURNee;
#Python代码
list(matcher.match("Person").where("_.name =~ 'K.*'"))
三,我要做的事情,是把各系统架构类的东西以图的形式呈现出来,形成所谓的知识图谱,可以基于业务视角呈现各系统之间的耦合关系,可以基于数据库的视角,能够查看各业务系统之间的相互依赖,也可以以机房机柜角度查看,当然这只是初衷,也许会随着对图数据库的知识的认识深度变化而变化。这只是个开始。