Tôi muốn đại diện cho thay đổi độ mạnh của các mối quan hệ giữa các nút trong biểu đồ Neo4j.Biểu thị cường độ mối quan hệ (và tăng dần) trong Neo4j
Đối với một đồ thị tĩnh, điều này có thể dễ dàng thực hiện bằng cách thiết lập một "sức mạnh" tài sản trên các mối quan hệ:
A --knows--> B
|
strength
|
3
Tuy nhiên, đối với một đồ thị mà cần cập nhật theo thời gian, có một vấn đề, vì incrementing giá trị của thuộc tính không thể được thực hiện một cách nguyên tử (thông qua giao diện REST) vì cần đọc trước khi ghi. Việc tăng dần (thay vì chỉ cập nhật) là cần thiết nếu biểu đồ đang được cập nhật để đáp ứng với dữ liệu được truyền trực tiếp. Tôi sẽ cần đảm bảo rằng chỉ có một máy khách REST đọc và viết cùng một lúc (đồng bộ hóa bên ngoài), hoặc chỉ gắn vào API được nhúng để tôi có thể sử dụng các giao dịch được tích hợp sẵn. Điều này có thể hoàn toàn khả thi nhưng có vẻ khó xử.
Một giải pháp khác có thể là để ghi lại nhiều mối quan hệ, mà không cần bất kỳ thuộc tính, do đó "sức mạnh" thực sự là số lượng các mối quan hệ, tức là
A knows B
A knows B
A knows B
nghĩa một mối quan hệ về sức mạnh 3.
- Bất lợi: chỉ có các điểm số nguyên có thể được ghi
- Ưu điểm: không cần đọc trước khi viết
- Bất lợi: (có thể) lưu trữ nhiều hơn cần thiết
- Nhược điểm: (có lẽ) chậm hơn để trích xuất các giá trị kể từ nhiều mối quan hệ phải được trích xuất và tính
Có ai đã thử phương pháp này, và nó có khả năng chạy vào vấn đề hiệu suất, đặc biệt là khi đọc ?
Có cách nào tốt hơn để tạo mô hình này không?
Cảm ơn - một số khả năng thú vị ở đó! Sau khi kiểm tra từ điển, tôi nghĩ rằng nó là OK để nói về số nguyên không 'increments' (mặc dù rõ ràng bạn sẽ phải xác định số tiền)! – DNA