跳至页脚内容
PYTHON 帮助

Py2neo(开发人员如何使用)

图数据库中的信息以相互关联的节点和边的形式存储和操作,用于建模实体及其关系。 图数据库在关系等同或比数据本身更重要的情况下表现出色,尤其是与基于表的传统关系数据库相比。

这种结构在欺诈检测、推荐系统和社交网络应用中效果显著,因为它支持高效地进行复杂的网络查询和分析。 这种数据库通过使用图算法,可以轻松揭示传统数据模型中通常难以发现的模式和关系; 因此,从数据中存在的复杂关系中获取了大量洞察信息。

在本文中,我们将学习如何使用 Py2neo 并将该库与 IronPDF 结合使用,以便您可以更进一步,并轻松在 PDF 中显示您的研究成果。

什么是 Py2neo?

Py2neo 是一个 Python 的客户端库和工具包,用于在应用程序中启用非常流行的图数据库 Neo4j。 它提供了一个直观的用户界面来访问 Neo4j 的图形拓扑,轻松添加、编辑、移除和创建具有关系的节点。 Py2neo 在 Python 程序和 Neo4j 数据库之间提供了无缝接口,除了执行 Cypher 查询之外,还允许直接操作图形数据。

Py2neo 的这一全面特性集,简化了 Neo4j 与 Python 项目的集成,用于高级查询和高效管理图数据,使用图数据库的强大功能为您的 Python 应用程序提供服务,几乎不需要额外工作。

Py2neo(如何为开发者工作):图 1 - Py2neo 包网页

它支持在大多数操作系统中的客户端应用程序中使用的许多 Python 发行版。 但请注意,Py2neo 首先是为 Linux 操作系统使用的; 它可能适用于其他操作系统,但没有得到直接支持。

该库包含了广泛的功能,包括所有的命令行工具和管理工具。 该库是处理 Neo4j 数据库的最可靠方法之一。 Py2neo 提供了兼容性保证,确保平滑集成和可靠性能。 该库支持 Bolt 和 HTTP 协议。

设置和使用 Py2neo 与 Python

以下步骤将帮助您构建和设置 Py2neo 以与 Neo4j 数据库通讯:

安装 Py2neo 库

首先,通过 pip 安装 Py2neo 客户端库以安装最新版本,并应用错误修复:

pip install py2neo
pip install py2neo
SHELL

确保 Neo4j 在系统中正常运行。 从 Neo4j 的 网站下载它,然后按照操作系统的安装说明进行操作。

连接到 Neo4j 使用 Py2neo

Py2neo 可用于在您的 Neo4j 实例与 Python 脚本或交互环境之间建立连接。 请查看下面的快速示例:

from py2neo import Graph

# Replace with your Neo4j credentials and connection details
uri = "bolt://localhost:7687"  # URI for Neo4j Bolt protocol
user = "neo4j"                 # Username
password = "password"          # Password

# Create a connection to the Neo4j database
graph = Graph(uri, auth=(user, password))

# Verify the connection by running a simple query
result = graph.run("RETURN 'Hello, Neo4j!' AS message")
print(result)  # Should print: Hello, Neo4j!
from py2neo import Graph

# Replace with your Neo4j credentials and connection details
uri = "bolt://localhost:7687"  # URI for Neo4j Bolt protocol
user = "neo4j"                 # Username
password = "password"          # Password

# Create a connection to the Neo4j database
graph = Graph(uri, auth=(user, password))

# Verify the connection by running a simple query
result = graph.run("RETURN 'Hello, Neo4j!' AS message")
print(result)  # Should print: Hello, Neo4j!
PYTHON

控制台输出

Py2neo(如何为开发提供者工作):图 2 - 上一个示例的控制台输出

配置 Py2neo

此外,您可以修改 Py2neo 参数以满足您的需求,例如连接设置或默认数据库。 这里提供了更多设置的示例:

from py2neo import Graph, Node, Relationship

# Replace with your Neo4j credentials and connection details
uri = "bolt://localhost:7687"  # URI for Neo4j Bolt protocol
user = "neo4j"                 # Username
password = "password"          # Password

# Create a connection to the Neo4j database
graph = Graph(uri, auth=(user, password))

# Example of creating nodes and relationships
# Create nodes for Alice and Bob
alice = Node("Person", name="Alice")
bob = Node("Person", name="Bob")

# Add nodes to the graph
graph.create(alice)
graph.create(bob)

# Create a relationship between Alice and Bob
relationship = Relationship(alice, "KNOWS", bob)
graph.create(relationship)
from py2neo import Graph, Node, Relationship

# Replace with your Neo4j credentials and connection details
uri = "bolt://localhost:7687"  # URI for Neo4j Bolt protocol
user = "neo4j"                 # Username
password = "password"          # Password

# Create a connection to the Neo4j database
graph = Graph(uri, auth=(user, password))

# Example of creating nodes and relationships
# Create nodes for Alice and Bob
alice = Node("Person", name="Alice")
bob = Node("Person", name="Bob")

# Add nodes to the graph
graph.create(alice)
graph.create(bob)

# Create a relationship between Alice and Bob
relationship = Relationship(alice, "KNOWS", bob)
graph.create(relationship)
PYTHON

下面是我们从添加的工具显示中插入到 Neo4j 数据库中的数据。

Neo4j 内容

Py2neo(如何为开发者工作):图 3 - Neo4j 数据库内容

运行 Cypher 查询

使用 Py2neo,您可以使用 Cypher 查询与您的图数据库进行交流:

# Example of a Cypher query
query = """
MATCH (p:Person)
RETURN p.name AS name
"""
results = graph.run(query)
for record in results:
    print(record["name"])
# Example of a Cypher query
query = """
MATCH (p:Person)
RETURN p.name AS name
"""
results = graph.run(query)
for record in results:
    print(record["name"])
PYTHON

控制台输出

Py2neo(如何为开发者工作):图 4 - 显示数据库内容的控制台输出

IronPDF 简介

Py2neo(如何为开发者工作):图 5 - IronPDF 网页

名为 IronPDF 的 Python 库可以处理 PDF 的程序生成和操作。 它为从 HTML 生成 PDF、合并两个或多个 PDF 文件,甚至通过添加注释、文本和图像使用现有的 PDF 提供了巨大的功能。 除此之外,IronPDF 允许用户从任何 HTML 页面或基于 Web 的材料中创建高质量的 PDF,之后可以用于制作具有预定义布局的报告、发票和其他文档。

该库的一些高级功能包括更改页面布局、加密文档和从 PDF 中提取内容。 通过改进您产品处理 PDF 的方式,您将更好地提高其总体使用价值。 该模块将在将 IronPDF 集成到 Python 程序后帮助实现文档生成操作自动化。

安装IronPDF库

您可以使用以下命令通过 pip 安装启用 Python 使用 IronPDF 功能的软件包。

 pip install ironpdf

融合 Py2neo 与 IronPDF

将 Py2neo 与 IronPDF 集成到 Python 中,需使用 Py2neo 管理 PDF 处理并与 Neo4j 图数据库进行通讯。 以下提供了有关如何实现此集成的详细说明:

from py2neo import Graph
from ironpdf import *

import warnings
warnings.filterwarnings('ignore')

# Ensure that you have replaced the string with your own license key
License.LicenseKey = "YOUR LICENSE KEY GOES HERE"

# Create a Graph instance with specific configurations
# Replace with your Neo4j credentials and connection details
uri = "bolt://localhost:7687"  # URI for Neo4j Bolt protocol
user = "neo4j"                 # Username
password = "password"          # Password

# Create a connection to the Neo4j database
graph = Graph(uri, auth=(user, password))

content = ''
content += '<h2>User Details</h2>'

# Example of a Cypher query
query = """
MATCH (p:Person)
RETURN p.name AS name
"""
results = graph.run(query)

# Append each name to the content
for record in results:
    content += '<p>' + record["name"] + '</p>'

# Create a PDF from the HTML content
html_to_pdf = ChromePdfRenderer()
pdf_document = html_to_pdf.RenderHtmlAsPdf(content)

# Save the PDF document
pdf_document.SaveAs("output.pdf")
from py2neo import Graph
from ironpdf import *

import warnings
warnings.filterwarnings('ignore')

# Ensure that you have replaced the string with your own license key
License.LicenseKey = "YOUR LICENSE KEY GOES HERE"

# Create a Graph instance with specific configurations
# Replace with your Neo4j credentials and connection details
uri = "bolt://localhost:7687"  # URI for Neo4j Bolt protocol
user = "neo4j"                 # Username
password = "password"          # Password

# Create a connection to the Neo4j database
graph = Graph(uri, auth=(user, password))

content = ''
content += '<h2>User Details</h2>'

# Example of a Cypher query
query = """
MATCH (p:Person)
RETURN p.name AS name
"""
results = graph.run(query)

# Append each name to the content
for record in results:
    content += '<p>' + record["name"] + '</p>'

# Create a PDF from the HTML content
html_to_pdf = ChromePdfRenderer()
pdf_document = html_to_pdf.RenderHtmlAsPdf(content)

# Save the PDF document
pdf_document.SaveAs("output.pdf")
PYTHON

这是一个使用 Py2neo 连接到 Neo4j 图数据库的 Python 脚本。 它运行一个 Cypher 查询返回 Person 节点的名称,并将结果转换为 HTML。 之后,它使用 IronPDF 生成一个包含该 HTML 内容的 PDF 文档。

该脚本首先导入所有需要的库,并使用给定凭证设置 Neo4j 连接。 然后它将用户名列表转换为一个 HTML 字符串,并使用 IronPDF 的 ChromePdfRenderer 类生成一个名为 "output.pdf" 的 PDF。

Py2neo(如何为开发者工作):图 6 - 使用 IronPDF 和 Py2neo 输出的 PDF

许可

一个许可密钥允许代码在没有水印的情况下工作。 您可以在此链接注册免费试用许可。 请记住,您无需出示身份即可获取。 要注册免费试用版,您只需提供您的电子邮件地址。

Py2neo(如何为开发者工作):图 7 - IronPDF 许可计划

结论

IronPDF 和 Py2neo 的集成提供了一种强有力的能力来处理和可视化保存在 Neo4j 图数据库中的数据。 它极大地简化了用户与 Neo4j 之间的交流过程,允许快速搜索和检索相关数据。 通过此方法,您可以轻松从图数据库的查询中直接使用 HTML 标签中的内容生成详细、美观的 PDF。

此集成使得基于图的数据的高级分析和可视化成为可能,使其有效地应用于广泛的应用程序,如制作商业智能报告或捕捉数据关系。 IronSoftware 提供了多种库,以促进为各种平台和操作系统(包括 Windows、Android、macOS、Linux 等)开发程序。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。