python数据库驱动_neo4j基础教程和python驱动数据库

[TOC]

# neo4j

- Neo4j是一个世界领先的开源图形数据库,由 Java 编写。图形数据库也就意味着它的数据并非保存在表或集合中,而是保存为节点以及节点之间的关系。

- neo4j的数据由下面几部分组成:

- 节点、边、属性

- 顶点(node)和边(relationship)和属性,无论是顶点还是边,都可以有任意多的属性。属性的存放类似于一个 HashMap,Key 为一个字符串,而 Value 必须是基本类型或者是基本类型数组

- Neo4J中节点和边 都能够包含保存至的属性,此外:

- 可以为节点设置零或多个标签

- 每个关系都对应一种类型。

- 关系总是从一个节点指向另一个节点。

## neo4j简介

- Neo4j 的特点和优势

- SQL就像简单的查询语言语句Neo4j CQL

- 它遵循属性图数据模型

- 它通过使用Apache Lucence支持索引

- 它支持UNIQUE约束

- 它它包含一个用于执行CQL命令的UI:Neo4j数据浏览器

- 它支持完整的ACID(原子性,一致性,隔离性和持久性)规则

- 它采用原生图形库与本地GPE(图形处理引擎)

- 它支持查询的数据导出到JSON和XLS格式

- 它提供了REST API,可以被任何编程语言(如Java,Spring,Scala等)访问

- 它提供了可以通过任何UI MVC框架(如Node JS)访问的Java脚本

- 它支持两种Java API:Cypher API和Native Java API来开发Java应用程序

### Neo4j优点

- 它很容易表示连接的数据

- 检索/遍历/导航更多的连接数据是非常容易和快速的

- 它非常容易地表示半结构化数据

- Neo4j CQL查询语言命令是人性化的可读格式,非常容易学习

- 它使用简单而强大的数据模型

- 它不需要复杂的连接来检索连接的/相关的数据,因为它很容易检索它的相邻节点或关系细节没有连接或索引

## Neo4j install

- 注意环境变量的更新

- 访问地址:http://localhost:7474

- 修改数据库的文件名称:${NEO4J_HOME}/conf 文件夹

- Neo4j数据构建模块

- 节点、属性、关系、标签、数据浏览器

- 节点:是图的基本单位,它包含具有键值对的属性

- 属性:用于描述节点和关系的键值对

- 关系:是图形数据库的另一个国建模块,链接两个节点。

- 导出的格式:CSV和json

## py2neo

- Py2Neo 是用来对接 Neo4j 的 Python 库。

- install

```

pip install py2neo

```

### Node & relationship

```

# -*- coding:utf-8 -*-

# /usr/bin/python

'''

@Author : Yan Errol

@Describe:

@Evn :

@Date : 2019-08-02 13:59

'''

from py2neo import Node, Relationship,walk,Graph

a = Node('Person', name='Alice')

b = Node('Person', name='Bob')

c = Node('Person', name='Mike')

ab = Relationship(a, "KNOWS", b)

ac = Relationship(a, "KNOWS", c)

w = ab + Relationship(b, "LIKES", c) + ac

for item in walk(w):

print(item)

a = Node('Person', name='Alice')

b = Node('Person', name='Bob')

r = Relationship(a, 'KNOWS', b)

s = a | b | r

# 存储数据库

graph = Graph(password='yel219')

graph.create(w)

# 查询语句

node = graph.match(nodes='Person')

print(node)

relationship = graph.match_one(r_type='KNOWS')

print(relationship)

# update data

# a = Node('Person',name='Alice')

# node = graph.match_one(nodes='Person',r_type='KNOWS')

# node['age']=100

# graph.push(node)

# print(graph.match_one(nodes = 'Person',r_type='KNOWS'))

# delete node

node = graph.match_one(nodes='Person')

relationship = graph.match_one(r_type='KNOWS')

graph.delete(relationship)

graph.delete(node)

```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
neo4j api neo4j学习资料 neo4j教程 │ neo4j官方API(官方各种API的文档整理).7z │ neo4j数据迁移--初探(一).htm │ neo4j笔记.docx │ neo4j错误码状态码.html │ └─01.neo4j学习博客汇总 │ index.html └─neo4j_cypher │ Cypher(神奇的WITH).html │ cypher_index.html │ Cypher查询语言--Neo4j 综合(四) - divenswu - 博客园.html │ Cypher查询语言--Neo4j中的SQL - 爱上包子 - 博客园.html │ DETACH DELETE n 删除node n ,并删除所有与n相关的关系.html │ Neo4j - NOT IN query.html │ Neo4j CQL - (11)- REMOVE删除 DELETE.html │ Neo4j Cypher 复杂查询详解在之With - 何源浩的博客 - CSDN博客.html │ neo4j 中使用sparql查询.html │ Neo4j 中文社区,致力于 Neo4j 的技术研究。.html │ Neo4j 使用cypher语言进行查询 - MHL - 博客园.html │ Neo4j 第一篇:在Windows环境中安装Neo4j - 悦光阴 - 博客园.html │ Neo4j 第三篇:Cypher查询入门 - 悦光阴 - 博客园.html │ Neo4j 第二篇:图形数据库 - 悦光阴 - 博客园.html │ Neo4j 第五篇:批量更新数据 - 悦光阴 - 博客园.html │ Neo4j 第四篇:使用C更新和查询Neo4j - 悦光阴 - 博客园.html │ Neo4J(Cypher语句)初识.html │ Neo4J(Cypher语句)学习 - 赵晓雷的专栏 - CSDN博客.html │ Neo4j_事务&深度遍历.html │ neo4j中的分组查询.html │ Neo4j之Cypher学习总结.html │ NEO4J亿级数据导入导出以及数据更新 - 耶和华靠近伤心的人,拯救灵性痛悔的人 - CS.html │ Neo4j入门点滴(一):Cypher.html │ Neo4j入门点滴(三):用Cypher完善图.html │ Neo4j入门点滴(二):模式与模式匹配.html │ Neo4j入门点滴(五):Windows Shell for Cypher.html │ Neo4j入门点滴(四):Cypher查询优化.html │ Neo4J几种数据导入方式的效率对比 - 何源浩的博客 - CSDN博客.html │ Neo4j模糊查询及分页查询 - c1052981766的专栏 - CSDN博客.html │ neo4j笔记 - Neo4j 中文社区.html │ Neo4j语句 - zhuweiba_321的博客 - CSDN博客.html │ Neo4j语句 - 阿里云.html │ 【程裕强的专栏】大数据学习笔记(1.01^365=37.78,0.99^365=0.025.html │ 五岳之巅-Neo4j入门点滴-博文目录.html │ 关于Neo4j和Cypher批量更新和批量插入优化的5个建议 - 逆水行舟 - CSDN博.html │ 图数据库-Neo4j介绍与Cypher入门.html │ 图数据库之Cypher语言 - 活的洒脱怪我咯的专栏 - CSDN博客.html │ 图数据库neo4j-jdbc的使用 - 活的洒脱怪我咯的专栏 - CSDN博客.html │ 数据分页处理系列之三:Neo4j图数据分页处理.html │ 暖暖动听.html │ 飘涯 - 简书.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值