Altbilgi içeriğine atla
PYTHON YARDıM

Py2neo (Geliştiriciler İçin Nasıl Çalışir)

Bir grafik veritabanında bilgi, varlıkları ve ilişkilerini modellemek için iç içe geçmiş düğümler ve kenarlar olarak saklanır ve işlenir. Grafik veritabanları, ilişkilerin verilerin kendisi kadar veya daha fazla öneme sahip olduğu durumlarda güçlü performans gösterir, özellikle tablolara dayalı geleneksel ilişkisel veritabanlarına kıyasla.

Bu yapı, dolandırıcılık tespiti, öneri sistemleri ve sosyal ağ uygulamalarında harika çalışır çünkü karmaşık ağ sorgulama ve analizini verimli bir şekilde destekler. Böyle veritabanları, grafik algoritmalarını kullanarak, geleneksel veri modelleriyle keşfetmesi çok zor olan kalıpları ve ilişkileri kolayca ortaya çıkarır; dolayısıyla, verileri içinde bulunabilecek karmaşık ilişkiler hakkındaki birçok içgörüyü ortaya çıkarırlar.

Bu makalede, Py2neo'yu ve IronPDF kütüphanesiyle birleştirerek buluşlarınızı bir PDF içinde kolayca gösterebilmeniz için nasıl kullanacağınızı öğreneceğiz.

Py2neo nedir?

Py2neo, uygulamalarda çok sayıda kullanılan grafik veritabanı Neo4j'in kullanılabilmesini sağlamak için geliştirilen bir Python istemci kütüphanesi ve araç setidir. Neo4j'in grafik topolojilerine erişmek için sezgisel bir kullanıcı arayüzü sunar, ilişkilerle birlikte düğümler ekleyip düzenleyip kaldırmanıza ve oluşturmanıza olanak tanır. Py2neo, Python programları ve Neo4j veritabanı arasında sorunsuz bir arayüz sağlar, bunun yanı sıra Cypher sorgularını yürütmenin yanı sıra grafik verilerinin doğrudan yönetilmesine imkan verir.

Py2neo'nun kapsamlı özellik seti, Python projelerinizde gelişmiş sorgulama ve grafik verilerinin verimli yönetimi için Neo4j ile entegrasyonu kolaylaştırır, az ya da çok iş ile Python uygulamalarınızda grafik veritabanının güçlü özelliklerini kullanmanıza sağlar.

Py2neo (Geliştiriciler İçin Nasıl Çalışır): Şekil 1 - Py2neo paketi web sayfası

Çoğu işletim sisteminde istemci uygulamalar altında kullanılan çoklu Python dağıtımlarını destekler. Sadece şunun farkında olun ki, Py2neo öncelikli olarak Linux işletim sistemlerinde kullanılır; diğer işletim sistemleri ile çalışabilir, ancak doğrudan desteklenmez.

Kütüphane, tüm komut satırı araçları ve yönetim araçları dahil olmak üzere kapsamlı özellikler içerir. Bu kütüphane, Neo4j veritabanları ile başa çıkmanın en sağlam yollarından biridir. Py2neo, uyumlu entegrasyon ve güvenilir performans için uyumluluk garantileri sunar. Kütüphane, Bolt ve HTTP protokollerini destekler.

Py2neo'yu Python ile Kurma ve Kullanma

Aşağıdaki prosedürler, Neo4j veritabanı ile iletişim kurmak için Py2neo'yu kurmanıza ve yapılandırmanıza yardımcı olacaktır:

Py2neo Kütüphanesinin Kurulması

Öncelikle, en son sürümünü kurmak ve hata düzeltmelerini benimsemek için pip aracılığıyla Py2neo istemci kütüphanesini kurun:

pip install py2neo
pip install py2neo
SHELL

Sisteminizde Neo4j'in çalıştığından emin olun. Onu Neo4j web sitesinden indirin, ardından işletim sisteminin kurulum talimatlarını izleyin.

Py2neo ile Neo4j'e Bağlanın

Py2neo, Neo4j örneğiniz ile Python betiğiniz veya etkileşimli ortamınız arasında bir bağlantı kurmak için kullanılabilir. Aşağıdaki hızlı örneği inceleyin:

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

Konsol Çıkış

Py2neo (Geliştiriciler İçin Nasıl Çalışır): Şekil 2 - Önceki örnek için konsol çıktısı

Py2neo'yu Yapılandırın

Ayrıca, bağlantı ayarları veya varsayılan veritabanı gibi Py2neo parametrelerini ihtiyaçlarınıza göre ayarlayabilirsiniz. Daha fazla yapılandırma için bir örnek verilmiştir:

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

Aşağıda, eklenen araçların görüntüsünden Neo4j veritabanına eklediğimiz veriler bulunmaktadır.

Neo4j İçeriği

Py2neo (Geliştiriciler İçin Nasıl Çalışır): Şekil 3 - Neo4j veritabanı içeriği

Cypher Sorguları Çalıştırmak

Py2neo kullanarak grafik veritabanınızla iletişim kurmak için Cypher sorguları kullanabilirsiniz:

# 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

Konsol Çıkış

Py2neo (Geliştiriciler İçin Nasıl Çalışır): Şekil 4 - Veritabanı içeriğini gösteren konsol çıktısı

IronPDF Tanıtımı

Py2neo (Geliştiriciler İçin Nasıl Çalışır): Şekil 5 - IronPDF web sayfası

IronPDF adlı Python kütüphanesi PDF'lerin programlanabilir olarak oluşturulmasını ve işlenmesini yönetebilir. HTML'den PDF oluşturma, iki veya daha fazla PDF dosyasını birleştirme ve hatta önceden var olan PDF'lere açıklamalar, metin ve görüntüler ekleyerek kullanma gibi muazzam işlevler sağlar. Bunun dışında, IronPDF kullanıcılara, önceden tanımlanmış bir düzenle raporlar, faturalar ve diğer belgeleri oluşturmak için kullanılabilecek her HTML sayfasından veya web tabanlı malzemeden kalite PDF'ler oluşturma imkanı verir.

Bu kütüphanenin ileri özelliklerinden bazıları, sayfa düzenini değiştirme, belgeleri şifreleme ve PDF'lerin içinden içerikleri çıkarma yeteneğini içerir. Ürünlerinizin PDF'leri nasıl işlediğini geliştirerek, genel olarak onların genel faydalarını artırmaya daha iyi yerleşeceksiniz. Bu modül ayrıca IronPDF, Python programlarına entegre edildikten sonra belge oluşturma işlemlerinin otomatikleştirilmesine yardımcı olacaktır.

IronPDF Kütüphanesini Kurun

Python'un IronPDF işlevselliğini pip aracılığıyla kullanabilmesini sağlayan paketleri kurmak için aşağıdaki komutu kullanabilirsiniz.

pip install ironpdf

Py2neo'yu IronPDF ile Entegre Etme

Python'da Py2neo'yu IronPDF ile entegre etmek için, IronPDF ile PDF işleme yönetilmeli ve Py2neo kullanılarak bir Neo4j grafik veritabanı ile iletişim kurulmalıdır. Bu entegrasyonu başarmanın detaylı talimatı aşağıda sağlanmıştır:

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

Bu, Py2neo kullanarak bir Neo4j grafik veritabanına bağlanan bir Python betiğidir. Bir Cypher sorgusu çalıştırır, bu sorgu Kişi düğümlerinin adlarını döndürür ve sonuçları HTML'ye dönüştürür. Daha sonra, bu HTML içeriğinden IronPDF kullanarak bir PDF belgesi oluşturur.

Betik gerekli kitaplıkları içe aktarma ve verilen kimlik bilgilerini kullanarak bir Neo4j bağlantısı kurma ile başlar. Daha sonra kullanıcı adları listesini bir HTML dizgesine dönüştürür ve 'output.pdf' olarak kaydedilen bir PDF oluşturmak için IronPDF'in ChromePdfRenderer sınıfını kullanır.

Py2neo (Geliştiriciler İçin Nasıl Çalışır): Şekil 6 - IronPDF ve Py2neo kullanılarak oluşturulan PDF

Lisanslama

Bir lisans anahtarı, kodun filigransız çalışmasına imkan tanır. Bu bağlantıdan ücretsiz deneme lisansı için kaydolabilirsiniz. Kimlik göstermeksizin bir anahtar alabileceğinizi göz önünde bulundurun. Ücretsiz deneme sürümü için kaydolmak için tek yapmanız gereken e-posta adresinizi sağlamaktır.

Py2neo (Geliştiriciler İçin Nasıl Çalışır): Şekil 7 - IronPDF lisanslama planı

Sonuç

IronPDF ve Py2neo entegrasyonu, Neo4j grafik veritabanında kaydedilen verileri işleme ve görselleştirme yeteneğini sağlar. Bu, kullanıcı ile Neo4j arasındaki iletişim sürecini büyük ölçüde basitleştirir, hızlı aramalar ve ilişkili verilerin elde edilmesi için olanak tanır. Bu sayede, grafik veritabanına yapılan sorgulardan doğrudan HTML etiketlerinde içeriğe sahip estetik PDF'ler kolayca oluşturabilirsiniz.

Bu entegrasyon, grafik tabanlı verilerle üst düzey analiz ve görselleştirme sağlar, iş zekası raporları oluşturma veya veri ilişkilerini yakalama gibi geniş bir uygulama yelpazesinde etkili bir şekilde uygulanabilir. Farklı platformlar ve işletim sistemleri için programların geliştirilmesine olanak tanımak amacıyla Iron Software tarafından sunulan çok sayıda kütüphane bulunmaktadır, Windows, Android, macOS, Linux ve diğerleri dahil.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara