跳過到頁腳內容
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 網站下載,然後按照操作系統的安裝說明進行操作。

使用Py2neo連接到Neo4j

可以使用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頁面或基於網頁的材料中創建高質量的PDF,這些材料隨後可以用於製作報告、發票和其他具有預定佈局的文檔。

該庫的一些高級功能包括更改頁面佈局、加密文檔和從PDF中提取內容的能力。 通過改進您的產品處理PDF的方式,您將能更好地改善它們的整體實用性。 一旦將IronPDF集成到Python程序中,該模塊也將有助於自動化文檔生成操作。

安裝IronPDF庫

您可以使用以下命令來安裝使Python能夠通過pip使用IronPDF功能的包。

 pip install ironpdf

將Py2neo與IronPDF集成

在Python中集成Py2neo與IronPDF,需要管理IronPDF的PDF處理並使用Py2neo與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腳本。 它運行一個返回Person節點名稱的Cypher查詢並將結果轉換為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 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。