Neo4j cho các Nhà phát triển .NET

Neo4j cho các Nhà phát triển .NET - Hướng dẫn Phát triển

Mục tiêuCác nhà phát triển .NET có thể sử dụng hướng dẫn này để biết các cách kết nối với Neo4j và phát triển ứng dụng tạo, đọc, cập nhật và xóa dữ liệu từ đồ thị.

Neo4j cung cấp các driver cho phép bạn kết nối với cơ sở dữ liệu và phát triển ứng dụng thao tác với dữ liệu đồ thị.

Neo4jDotNetDriverDriver này được Neo4j hỗ trợ chính thức và kết nối với cơ sở dữ liệu thông qua giao thức nhị phân. Nó thiết kế tối giản nhưng vẫn thân thiện với môi trường .NET.

Để bắt đầu, bạn có thể cài đặt gói Neo4j.Driver.Simple:``` PM> Install-Package Neo4j.Driver.Simple-4.4.0

Trong các dự án thực tế, nên sử dụng gói `Neo4j.Driver`:```
PM> Install-Package Neo4j.Driver-4.4.0

VD: Kết nối và thao tác với Neo4j:``` public class HelloWorldExample : IDisposable { private bool _disposed = false; private readonly IDriver _driver;

~HelloWorldExample() => Dispose(false);

public HelloWorldExample(string uri, string user, string password)
{
    _driver = GraphDatabase.Driver(uri, AuthTokens.Basic(user, password));
}

public void PrintGreeting(string message)
{
    using (var session = _driver.Session())
    {
        var greeting = session.WriteTransaction(tx =>
        {
            var result = tx.Run("CREATE (a:Greeting) " +
                                "SET a.message = $message " +
                                "RETURN a.message + ', từ node ' + id(a)",
                new {message});
            return result.Single()[0].As<string>();
        });
        Console.WriteLine(greeting);
    }
}

public void Dispose()
{
    Dispose(true);
    GC.SuppressFinalize(this);
}

protected virtual void Dispose(bool disposing)
{
    if (_disposed)
        return;

    if (disposing)
    {
        _driver?.Dispose();
    }

    _disposed = true;
}

public static void Main()
{
    using (var greeter = new HelloWorldExample("bolt://localhost:7687", "neo4j", "password"))
    {
        greeter.PrintGreeting("hello, world");
    }
}

}



Cấu hình DriverTừ Neo4j phiên bản 4.0 trở lên, cài đặt mã hóa mặc định tắt và Neo4j không tạo chứng chỉ tự ký. Bạn có thể kiểm tra mức mã hóa của máy chủ qua khóa `.dbms.connector.bolt.enabled` trong file `neo4j.conf`.

Bảng 1. Cấu trúc Sử dụng Chứng chỉ
| Loại Chứng chỉ | Neo4j Causal Cluster | Neo4j Standalone Server | Kết nối Direct đến Thành viên Cluster |
|---|---|---|---|
| Không mã hóa | `neo4j` | `neo4j` | `bolt` |
| Mã hóa với Chứng chỉ Toàn phần | `neo4j+s` | `neo4j+s` | `bolt+s` |
| Mã hóa với Chứng chỉ Tự ký | `neo4j+ssc` | `neo4j+ssc` | `bolt+ssc` |
| Neo4j AuraDB | `neo4j+s` | N/A | N/A |

Vui lòng kiểm tra cài đặt SSL Framework khi đi vào sản xuất. Nếu cần thiết, bạn có thể tạo chứng chỉ cho Neo4j với Letsencrypt.

Project Ví dụProject ví dụ Neo4j là một ứng dụng web nhỏ, một trang cho cơ sở dữ liệu phim được tích hợp trong tutorial Neo4j. Trang前端 giống nhau cho mọi driver: tìm kiếm phim, chi tiết phim và visualize đồ thị giữa diễn viên và phim.

Bạn có thể tham khảo thêm về project ví dụ này qua nhiều ngôn ngữ driver khác nhau tại đây. Thực hiện clone và triển khai các repository GitHub cho từng driver để bắt đầu.

Driver Neo4j cho Cộng đồng .NETMany developers trong cộng đồng Neo4j đã bỏ nhiều thời gian và tâm huyết để phát triển các driver này. Nếu bạn sử dụng driver nào, vui lòng phản hồi cho tác giả.

Neo4jClientMột client .NET cho Neo4j, giúp viết các truy vấn Cypher trong C# với chức năng IntelliSense. Hỗ trợ CRUD cơ bản và indexing cũ.

| Nguồn | https://github.com/DotNet4Neo4j/neo4jclient |
|---|---|
| Gói NuGet | https://nuget.org/packages/neo4jclient |
| Tác giả | Charlotte Skardon Tatham Oddie |
| Documentation | https://github.com/DotNet4Neo4j/Neo4jClient/wiki |
| VD | https://github.com/neo4j-examples/movies-dotnet-neo4jclient |
| Protocols | Bolt, Http |



Neo4j.Driver.ExtensionsCung cấp các phương thức mở rộng cho API driver chính thức, giảm thiểu việc lặp lại code và dễ dàng ánh xạ sang các lớp thực体.

| Nguồn | https://github.com/DotNet4Neo4j/Neo4j.Driver.Extensions |
|---|---|
| Gói NuGet | https://nuget.org/packages/neo4j.driver.extensions |
| Tác giả | Charlotte Skardon |
| Documentation | Bài viết giới thiệu blogpost |

Thẻ: Neo4j .NET Driver Cơ sở dữ liệu đồ thị

Đăng vào ngày 5 tháng 6 lúc 17:19