Tôi có một câu hỏi chung về mô hình hóa trong một cơ sở dữ liệu đồ thị mà tôi dường như không thể quấn quanh đầu.Làm thế nào để mô hình hóa các mối quan hệ trong thế giới thực trong một cơ sở dữ liệu đồ thị (như Neo4j)?
Làm cách nào để bạn mô hình loại mối quan hệ này: "Newton đã phát minh ra tích phân"?
Trong một simple graph, bạn có thể mô hình nó như thế này:
Newton (node) -> invented (relationship) -> Calculus (node)
... vì vậy bạn muốn có một loạt các "phát minh" mối quan hệ đồ thị khi bạn mở thêm nhiều người và phát minh.
Vấn đề là, bạn bắt đầu cần phải thêm một loạt các tính tới mối quan hệ:
- invention_date
- influential_concepts
- influential_people
- books_inventor_wrote
... và bạn sẽ muốn bắt đầu tạo mối quan hệ giữa các thuộc tính đó và các nút khác, chẳng hạn như:
- influential_people: mối quan hệ với người các nút
- books_inventor_wrote: mối quan hệ để đặt các nút
Vì vậy, bây giờ nó có vẻ như "mối quan hệ thực tế" ("phát minh") thực sự phải là một nút trong biểu đồ và biểu đồ sẽ trông giống như sau:
Newton (node) -> (relationship) -> Invention of Calculus (node) -> (relationship) -> Calculus (node)
Và để làm phức tạp hơn nữa, những người khác cũng tham gia vào việc phát minh Calculus, vì vậy đồ thị bây giờ trở thành một cái gì đó như:
Newton (node) ->
(relationship) ->
Newton's Calculus Invention (node) ->
(relationship) ->
Invention of Calculus (node) ->
(relationship) ->
Calculus (node)
Leibniz (node) ->
(relationship) ->
Leibniz's Calculus Invention (node) ->
(relationship) ->
Invention of Calculus (node) ->
(relationship) ->
Calculus (node)
Vì vậy, tôi đặt câu hỏi vì nó có vẻ như bạn không muốn thiết lập các thuộc tính trên cơ sở dữ liệu đồ thị thực tế "mối quan hệ" đối tượng, bởi vì bạn có thể muốn xem xét một số điểm coi chúng là các nút trong biểu đồ.
Điều này có đúng không?
Tôi đã nghiên cứu Freebase Metaweb Architecture và dường như chúng đang xử lý mọi thứ dưới dạng nút. Ví dụ: Freebase có ý tưởng là Mediator/CVT, nơi bạn có thể tạo nút "Hiệu suất" liên kết nút "Diễn viên" với nút "Phim", như ở đây: http://www.freebase.com/edit/topic/en/the_last_samurai. Không hoàn toàn chắc chắn nếu điều này là cùng một vấn đề mặc dù.
Một số nguyên tắc hướng dẫn bạn sử dụng để tìm hiểu xem "mối quan hệ trong thế giới thực" có thực sự là nút đồ thị thay vì mối quan hệ đồ thị không?
Nếu có bất kỳ sách hay nào về chủ đề này, tôi rất muốn biết. Cảm ơn!
câu trả lời xuất sắc! điều này thực sự xóa mọi thứ cho tôi, cảm ơn bạn. –