Giới thiệu cơ sở dữ liệu đồ thị (Neo4j)


Phần 01: Giới thiệu

“Cơ sở dữ liệu” thuật ngữ đã trở nên rất quen thuộc với các nhà phát triển ứng dụng có rất nhiều dạng cơ sở dữ liệu như: Cơ sở dữ liệu quan hệ, cơ sở dữ liệu hướng đối tượng, cơ sở dữ liệu không gian, cơ sở dữ liệu phi cấu trúc,… một dạng cơ sở dữ liệu thường được sử dụng trong việc môt các các mạng thông tin như mạng xã hội, mạng cảm biến,… các dạng mà ở đó thông tin được mô tả như một thực thể (một đỉnh) trên mộ đồ thị có hướng (như hình dưới) đó là cơ sơ dữ liệu đồ thị. Trong nội dung của bài viết này tôi xin nói một chút về hệ quản trị cơ sở dữ liệu đồ thị là Neo4j.

Chúng ta sử dụng kịch bản là nội dung 02 khóa đào tạo lập trình viên và mỹ thuật đa phương tiện tại CUSC.

neo4j

Neo4j là hệ quản trị cơ sở dữ liệu đồ thị đầu tiên được giới thiệu vào năm 2007 và công bố phiên bản 1.0 vào năm 2010. Hiện nay neo4j là một trong những hệ quản trị cơ sở dữ liệu đồ thị được sử dụng nhiều nhất.

Nếu như cơ sở dữ liệu quan hệ như SQLServer, MySQL, Oracle để mô tả một đối tượng như MonHoc (subject) và các đặc điểm của đối tượng (properties) thì chúng mô tả bằng một bảng dữ liệu gồm nhiều cột với tên bảng là tên của đối tượng, các cột trong bảng mô tả đặc điểm của đối tượng. Mối quan hệ giữa các đối tượng được xây dựng bằng cách ghi nhận thông tin của thực thể cha vào thực thể con, ví dụ như như muốn xác định môn học nào là môn điều kiện của môn học hiện tại thì chúng ta cần lưu thông tin về id của môn học điều kiện vào môn học hiện tại.

Bảng môn học:

neo4j_TABLE.png

Đối với neo4j đối tượng được mô tả thành các đỉnh của đồ thị, đặc điểm của đối tượng được mô tả qua thuộc tính của đỉnh và mối quan hệ giữu các đối tượng được mô tả bằng liên kết có hướng giữa các đỉnh. Như hình trên ta thắng rằng môn học ASP.NET có môn điều kiện là C#.

Neo4j  có 02 chế độ:

  1. Quản trị dữ liệu và thể hiện nội dung trên nền tảng riêng (Neo4j Server)
  2. Nhúng vào các nền tảng khác neo4j chỉ đóng vai trò lưu trữ.

snap-2016-12-22-at-11-05-33

Phần 02: Cài đặt neo4j 

  • Địa chỉ của neo4j: https://neo4j.com
  • Download neo4j cho nền tảng của bạn (tôi sử dụng trên macos) với tư cách người dùng cá nhân (for individuals)

snap-2016-12-22-at-11-02-36

Sau khi Download tiến hành cài đặt theo hướng dẫn. Chạy neo4j và cấu hình nơi lưu dữ liệu

snap-2016-12-22-at-11-08-45

Nhấn nút start để mở server neo4j và đây là giao diện sau khi chạy

snap-2016-12-22-at-11-09-51

Nhấn chọn liên kết dưới để mở giao diện web của neo4j, dăng nhập bằng tài khoản neo4j/neo4j và đổi mật khẩu mới cho hệ thống

Snap 2016-12-22 at 11.12.40.png

Như vậy là chúng ta đã sẵn sàn để thiết kế dữ liệu đồ thị rồi.

Phần 3: Căn bản về các lệnh truy vấn dữ liệu của neo4j

  1. Lệnh tạo đối tượng và quan  hệ giữa các đối tượng: CREATE

Ví dụ: Tạo 02 môn học C# và ASP.NET MVC, C# là môn điều kiện của ASP.NET MVC

Snap 2016-12-22 at 11.21.51.png

Tương tự như vậy cho môn ASP.NET MVC, tạo quan hệ ASP.NET cần có điều kiện là C#

snap-2016-12-22-at-11-26-55

Trong đó MATCH là lệnh tìm kiềm (chúng ta sẽ tìm hiều ở phần sau), để tạo quan hệ thì neo4j cung cấp cho lập trình viên các lênh rất tự nhiên:

  1. Tìm môn c#, tìm môn ASP.NET
  2. Tạo quan hệ  ASP.NET phục thuộc c#.

Như vậy là chúng ta đã có được 02 môn học có ràng buộc lẫn nhau như sau:

Snap 2016-12-22 at 11.34.01.png

Bài dài quá rồi tôi dừng ở đây, phần tiếp theo chúng ta sẽ làm việc với các lệnh xóa, sửa, tìm kiếm của neo4j.

 

 

 

 

 

Một suy nghĩ 4 thoughts on “Giới thiệu cơ sở dữ liệu đồ thị (Neo4j)

Phản hồi