关于neo4j图数据库笔记一

2022-03-11 13:45:04 浏览数 (1)

关于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.*'"))

三,我要做的事情,是把各系统架构类的东西以图的形式呈现出来,形成所谓的知识图谱,可以基于业务视角呈现各系统之间的耦合关系,可以基于数据库的视角,能够查看各业务系统之间的相互依赖,也可以以机房机柜角度查看,当然这只是初衷,也许会随着对图数据库的知识的认识深度变化而变化。这只是个开始。

0 人点赞