Python有许多可以连接Neo4j的库和工具,以下是一些常用的:

Neo4j Driver for Python

这是官方提供的Python驱动程序,它使用Cypher查询语言与Neo4j数据库进行交互。您可以使用此驱动程序与Neo4j数据库建立连接,执行查询和管理事务。

低级控制: neo4j-driver 提供了更底层的控制,适用于那些希望以更精细的方式控制与数据库交互的开发者。它更接近于原生的 Cypher 查询语言和 Neo4j 数据库的交互。

性能优化: 由于 neo4j-driver 较为底层,因此在某些情况下可能更适合需要对性能进行微调的场景。

  • 优点:官方提供的驱动程序,支持最新的Neo4j版本,提供完整的驱动API,支持更多的功能,如监控和诊断。
  • 缺点:与其他工具相比,使用Cypher查询语言可能需要一些学习曲线。

Neo4jrb

这是一个Ruby on Rails的Neo4j驱动程序,但它也可以通过Python使用。它提供了一个高级的ORM(对象关系映射)层,可以轻松地处理节点、关系和属性。

  • 优点:提供了一个高级的ORM层,使得处理节点、关系和属性更加容易,有很好的文档和社区支持。
  • 缺点:主要针对Ruby on Rails开发者,对于Python开发者可能不是最佳选择。

networkx

这是一个Python包,用于创建、操作和分析复杂网络。您可以使用此包与Neo4j数据库进行交互,以获取和操作网络数据。

  • 优点:是一个通用的网络分析库,可用于创建、操作和分析各种类型的网络,具有灵活性和可扩展性。
  • 缺点:与Neo4j数据库的集成可能不是最直观的,需要一些额外的转换工作。

py2neo

这是一个Python库,用于与Neo4j数据库进行交互。它提供了许多功能,包括从Python到Neo4j的映射、Cypher查询语言执行以及图数据库的遍历和搜索。

功能丰富: py2neo 提供了更高级的抽象层,使得操作图数据库变得更加简单和方便。它提供了更多的功能,包括图形建模、查询构建和执行、批量导入等。

更高级的抽象: py2neo 的 API 设计更加高级和面向对象,适用于那些希望以面向对象的方式操作图数据的开发者。

可视化支持: py2neo 还提供了一些用于可视化图数据的功能,可以帮助你更好地理解和展示图结构。

  • 优点:易于使用,提供了多种与Neo4j数据库交互的方式,如节点、关系、路径的查询等,也提供了很好的文档和社区支持。
  • 缺点:与其他工具相比,查询语言为Cypher,可能需要一些学习。

Graph-tool

这是一个Python库,用于创建、操作和分析图形。您可以使用此库从Neo4j数据库中获取图形数据,并在本地进行处理和分析。

  • 优点:提供了强大的图形操作和分析功能,可以在本地处理和分析从Neo4j数据库获取的图形数据。
  • 缺点:可能需要一些额外的配置和学习,才能与Neo4j数据库进行有效的集成。

总的来说,Neo4j Driver for Python是官方提供的驱动程序,提供了与Neo4j数据库进行通信的基本功能,如果你更倾向于底层的控制,或者你的项目对性能要求较高。而py2neo则提供了更多的功能和便利性,以简化与Neo4j数据库的交互,更高级的抽象和便利性,以及一些附加的功能。选择哪个库取决于您的具体需求和偏好。

py2neo 目前不支持 neo4j 5.X

neo4j-driver
Package https://pypi.python.org/pypi/neo4j
Source https://github.com/neo4j/neo4j-python-driver
Docs https://neo4j.com/docs/python-manual/current/
API https://neo4j.com/docs/api/python-driver/current/
Py2neo https://neo4j.com/developer/python/#py2neo-lib
Author https://twitter.com/technige
Package https://pypi.python.org/pypi/py2neo
Source https://github.com/technige/py2neo
Example https://github.com/neo4j-examples/movies-python-py2neo
Docs http://py2neo.org/
Python 2.7 / 3.4+
Protocols Bolt, Http

Python连接Neo4j工具比较 Neo4j Driver、py2neo的更多相关文章

  1. python 连接redis工具类

    #!/usr/bin/python # coding=utf-8 __author__ = 'shuangjiang' import redis import sys default_encoding ...

  2. python连接Oracle工具类

    上代码: # -*- coding:utf-8 -*- import cx_Oracle import pandas as pd class ORACLE(object): def __init__( ...

  3. python连接sqlserver工具类

    上代码: # -*- coding:utf-8 -*- import pymssql import pandas as pd class MSSQL(object): def __init__(sel ...

  4. 使用batch-import工具向neo4j中导入海量数据【转】

    转载备忘 链接:https://www.yisu.com/zixun/496254.html 这篇文章给大家分享的是有关数据库中怎么使用batch-import工具向neo4j中导入海量数据的内容.小 ...

  5. Python连接MySQL的准备工作

    首先要安装MySQL,64位的win7可以安装64或者32位的MySQL版本,安装之后,python需要一个工具才能连接MySQL,这个工具叫MySQL-python,去这里或者这里下载1.2.3版本 ...

  6. paip.python连接mysql最佳实践o4

    paip.python连接mysql最佳实践o4 python连接mysql 还使用了不少时间...,相比php困难多了..麻烦的.. 而php,就容易的多兰.. python标准库没mysql库,只 ...

  7. Python连接msyql、redis学习_Day12

    一.数据库 关系型数据库(RDBMS): 1.数据以表格的形式出现2.每行为各种记录名称3.每列为记录名称所对应的数据域4.许多的行和列组成一张表单5.若干的表单组成database 1.MySQL基 ...

  8. 【Python实战】使用Python连接Teradata数据库???未完成

    1.安装Python 方法详见:[Python 05]Python开发环境搭建 2.安装Teradata客户端ODBC驱动 安装包地址:TTU下载地址 (1)安装TeraGSS和tdicu(ODBC依 ...

  9. Python连接MySQL数据库的多种方式

    上篇文章分享了windows下载mysql5.7压缩包配置安装mysql 后续可以选择 ①在本地创建一个数据库,使用navicat工具导出远程测试服务器的数据库至本地,用于学习操作,且不影响测试服务器 ...

  10. Python 爬虫的工具列表 附Github代码下载链接

    Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6E ...

随机推荐

  1. Python分割多空格字符方法

    问题: 现有一个字符串 "1 + 5" ,想要获取 1,+,5 这三个元素 做法: str.split(' ') ['1', '', '', '', '', '', '+', '' ...

  2. L2-004 这是二叉搜索树吗? (25 分)

    1.题目描述: 一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点, 其左子树中所有结点的键值小于该结点的键值: 其右子树中所有结点的键值大于等于该结点的键值: 其左右子树都是二叉搜索树 ...

  3. JS和Document

    对象1.new var obj = new Object(); 2.函数声明对象 function Human () {}: 3.var obj = {}; 大括号 就是对象var obj = {}; ...

  4. 让优惠再续一年!SHPC 老客专享

    最近云筏君经常收到自家小伙伴发来的关于产品活动的关心慰问,掐指一算,哦,原来是一年一度大家喜闻乐见的剁手节(学名"双十一")马上要来了! 大家都知道,云筏家的产品向来主打高性价比, ...

  5. Lucene检索全流程学习笔记

    一 简介 写作目的 1 为什么学习Lucene lucene是基于倒排索引的检索工具库,倒排索引是典型的文本匹配,它能够精确匹配用户搜索的query,它的缺点是不擅长语义理解,而深度学习检索模型擅长的 ...

  6. 尚医通day16-网站怎么接入微信扫码支付?

    第01章-准备工作 1.微信支付产品介绍 参考资料:产品中心 - 微信支付商户平台 (qq.com) 付款码支付.JSAPI支付.小程序支付.Native支付.APP支付.刷脸支付 1.1.付款码支付 ...

  7. C++面试八股文:std::array如何实现编译器排序?

    某日二师兄参加XXX科技公司的C++工程师开发岗位第25面: 面试官:array熟悉吗? 二师兄:你说的是原生数组还是std::array? 面试官:你觉得两者有什么区别? 二师兄:区别不是很大,原生 ...

  8. 为控制器生成OpenAPI注释

    非常喜欢. NET 的 /// 注释,写代码的时候就顺道完成写文档的过程,简直不要太爽了. ASP. NET CORE 也是一样的,通过 Swagger 工具,可以自动生成 API 的接口文档(Ope ...

  9. 基于JavaFX的扫雷游戏实现(二)——游戏界面

      废话环节:看过上期文章的小伙伴现在可能还是一头雾水,怎么就完成了核心内容,界面呢?哎我说别急让我先急,博主这不夜以继日地肝出了界面部分嘛.还是老规矩,不会把所有地方都照顾到,只挑一些有代表性的内容 ...

  10. UDP 编程不能太随意

    UDP 相比 TCP 虽然是是无连接的,看似发送接收都很随意,但是在发送--接收过程中,仍然有些问题需要重视.在整个通讯过程中至少有两点需要注意,一方面要防止发送方的一厢情愿,另一方面是在允许的条件下 ...