跳至頁尾內容
PYTHON 幫助

Py2neo(開發人員工作原理)

圖形資料庫中的資訊以相互關聯的節點和邊形式儲存和操作,用於建模實體及其關係。 圖形資料庫在關係與資料本身同等或更具意義的情況下表現突出,尤其是與基於表格的傳統關聯資料庫相比。

這種結構在欺詐檢測、推薦系統和社交網路應用中表現出色,因為它支持高效的複雜網路查詢和分析。 這樣的資料庫通過使用圖算法,輕鬆發現通常很難用傳統資料模型發現的模式和關係; 因此,可以從資料中獲得大量關於複雜關係的深刻見解。

在本文中,我們將學習如何使用Py2neo並結合IronPDF程式庫,使您能更進一步,並輕鬆地在PDF中展示您的發現。

什麼是Py2neo?

Py2neo是一個客戶端程式庫和工具包,專為Python開發,用於在應用中使用非常流行的圖形資料庫Neo4j。 它提供了一個直觀的使用者介面來存取Neo4j的圖形拓撲,輕鬆新增、編輯、移除和建立有關係的節點。 Py2neo在Python程式和Neo4j資料庫之間提供了無縫介面,除了執行Cypher查詢外,還允許直接操作圖資料。

這套完整的Py2neo功能,使用圖形資料庫的強大功能,能輕鬆將Neo4j整合到Python專案中以進行高級查詢和高效管理圖資料。

Py2neo (開發者如何使用):圖1 - Py2neo package網頁

它支持許多在大多數操作系統下使用的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中提取內容的能力。 通過改善產品如何處理PDF,您將能更好地提高其整體效用。 一旦在Python程式中整合了IronPDF模塊,它也將有助於自動化文件生成操作。

安裝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腳本。 它運行一個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,直接從對圖形資料庫的查詢生成。

此整合使得基於圖形的資料進行更高級分析和可視化,讓其可以有效應用於廣泛的應用中,例如建立商業情報報告或捕捉資料關係。 Iron Software提供眾多程式庫,以方便開發適用於各種平台和操作系統的程式,包括Windows、Android、macOS、Linux等。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話