Neo4j初学习

将自己学习neo4的学习心得写下来,方便以后的复习和应用

Neo4j知识

知识图谱的概念就是基于图的数据结构,由节点和边组成。其中节点即实体,由一个全局唯一的ID标示,关系(也称为属性)用于连接两个节点。知识图谱就是把所有不同种类的信息连接在一起而得到一个关系网络,提供了从“关系”的角度去分析问题的能力。
而 Neo4j 作为一种经过特别优化的图形数据库,有以下优势:

数据存储:不像传统数据库整条记录来存储数据,Neo4j 以图的结构存储,可以存储图的节点、属性和边。属性、节点都是分开存储的,属性与节点的关系构成边,这将大大有助于提高数据库的性能。

数据读写:在 Neo4j 中,存储节点时使用了 Index-free Adjacency 技术,即每个节点都有指向其邻居节点的指针,可以让我们在时间复杂度为 O(1) 的情况下找到邻居节点。另外,按照官方的说法,在 Neo4j 中边是最重要的,是 First-class Entities,所以单独存储,更有利于在图遍历时提高速度,也可以很方便地以任何方向进行遍历。

资源丰富:Neo4j 作为较早的一批图形数据库之一,其文档和各种技术博客较多。

同类对比:Flockdb 安装过程中依赖太多,安装复杂;Orientdb,Arangodb 与 Neo4j 做对比,从易用性来说都差不多,但是从稳定性来说,neo4j 是最好的。
原文链接:https://blog.csdn.net/h471507602/article/details/94564101

Neo4j的安装-Zip环境设置

第1步 -从Neo4j网站下载最新的Neo4j Server安装文件

在这里插入图片描述
第2步 -在这里我们可以看到 neo4J 软件 exe 或 zip 格式的所有版本在这里插入图片描述
第3步 -根据您的操作系统配置,单击本页提供的64位或32位链接,我们将点击“64”链接下载64位操作系统zip文件
在这里插入图片描述
第4步 -将此文件解压缩到所需的文件系统。
然后这个文件夹看起来像下面的显示
在这里插入图片描述
第5步 -添加以下系统变量
set NEO4J_HOME = C:\ neo4j-community-2.1.3

set PATH = C:\ neo4j-community-2.1.3 \ bin;%PATH%
第6步 -检查您的系统变量是否正确更新

打开新的命令提示符并检查下面。
在这里插入图片描述
如果它显示最近设置的值,那么它是好的。您的配置已成功完成。
第7步 -使用Neo4j.bat文件启动服务器
在这里插入图片描述
打开命令提示符。 键入“Neo4j.bat”,然后按“Enter”键。
在这里插入图片描述
在这里插入图片描述
此窗口打开另一个空窗口。 一旦它成功启动数据库服务器,它显示以下消息
[http:// localhost:7474 /]

使用python api调用Neo4j

from py2neo import Graph,Node, Relationship
test_graph = Graph(
    "http://localhost:7474",
    username="neo4j",
    password="123456789"
)
a = Node('Person', name='Alice')
b = Node('Person', name='mom_A')
c = Node('Person', name='father_A')
d = Node('Person', name='Bob_brother')
e = Node('Person', name='class_A')
f = Node('Person', name='class_B')
g = Node('Person', name='class_C')
h = Node('Person', name='Bob')
i = Node('Person', name='mom_B')
j = Node('Person', name='father_B')
test_graph.create(a)
test_graph.create(b)
test_graph.create(c)
test_graph.create(d)
test_graph.create(e)
test_graph.create(f)
test_graph.create(g)
test_graph.create(h)
test_graph.create(i)
test_graph.create(j)
r1 = Relationship(a, 'classmates', e)
r2 = Relationship(a, 'classmates', f)
r3 = Relationship(a, 'classmates', g)
r4 = Relationship(a, 'classmates', h)
r5 = Relationship(a, 'family', b)
r6 = Relationship(a, 'family', c)
r7 = Relationship(h, 'family', i)
r8 = Relationship(h, 'family', j)
r9 = Relationship(h, 'brother', d)
test_graph.create(r1)
test_graph.create(r2)
test_graph.create(r3)
test_graph.create(r4)
test_graph.create(r5)
test_graph.create(r6)
test_graph.create(r7)
test_graph.create(r8)
test_graph.create(r9)
print(a, b, r)
a['age'] = 20
b['age'] = 21
r1['time'] = '2017/08/31'
print(a, b, r)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值