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. 解决:django.db.utils.OperationalError: no such table: auth_user

    解决:django.db.utils.OperationalError: no such table: auth_user 我们在创建Django项目的时候已经创建这个表了,表一般都保存在轻量级数据库 ...

  2. vue CLI 4 创建项目fetchMetadata资源拉取过慢解决方法

    最近将vue cli 升级到了 v4.0.5 创建项目的时候发现慢得想个蜗牛 仔细看这个日志会发现,mapToRegistry uri 是 taobao 这个一拉就是半天,还指不定那个时候就卡死在那里 ...

  3. cmake 安装一个目录下的图片 到另一个目录文件中去

    install(DIRECTORY ./cfg/labels/ DESTINATION ./fservo/cfg/yolo_cfg/labels/) install (DIRECTORY ./cfg/ ...

  4. Grafana系列-GaC-1-Grafana即代码的几种实现方式

    系列文章 Grafana 系列文章 Terraform 系列文章 概述 GaC(Grafana as Code, Grafana 即代码) 很明显是扩展自 IaC(Infrastructure as ...

  5. Java 使用ArrayList获取10个1-20之间的随机数,要求不能重复

    代码如下: public static void main(String[] args) { List<Integer> nums = new ArrayList<Integer&g ...

  6. 1.4 编写简易ShellCode弹窗

    在前面的章节中相信读者已经学会了使用Metasploit工具生成自己的ShellCode代码片段了,本章将继续深入探索关于ShellCode的相关知识体系,ShellCode 通常是指一个原始的可执行 ...

  7. springboot自定义消息转换器

    import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; im ...

  8. Spring MVC 前后台传递json格式数据 Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported

    若使用默认的json转换器,则需要如下包: <mvc:annotation-driven /> 报错如下: Content type 'application/x-www-form-url ...

  9. ISP之图像降分辨率

    1.图像缩放背景 图像的放大.缩小(简称缩放)是图像处理的一种处理方法.所谓图像缩放是指图像分辨率的改变,它在图像显示.传输.图像分析以及动画制作.电影合成.甚至医学图像处理中都有着相当广泛的应用.比 ...

  10. .NET Core中关于阿拉伯语环境下的坑:Input string was not in a correct format.

    结论 .NET Core项目(.NET Framework没出现)在阿拉伯语(即语言名称是ar-开头的语言)环境下,将负数字符串转成数字,即int.Parse("-1")或Conv ...