Vì vậy, tôi đã xem xét neo4j và tôi có thể sử dụng nó trong một dự án sắp tới vì mô hình dữ liệu của nó có thể phù hợp với dự án của tôi rất tốt. Tôi đã xem qua các tài liệu nhưng tôi vẫn cần câu trả lời cho câu hỏi này:neo4j: các mối quan hệ một chiều/hai hướng?
Tôi có thể đặt các mối quan hệ là một chiều không?
Dường như những người neo4j thích phim nên hãy tiếp tục với điều đó. Nếu tôi có biểu đồ như sau:
Actor A -> [:Acts in] -> Movie B
thì hướng là hiển nhiên, vì các nút là các loại khác nhau.
Nhưng tôi thích phim kinh dị như vậy ...
Person A -> [:wants_to_kill] -> Person B
Tôi cần mối quan hệ này là một chiều vì vậy nếu tôi truy vấn "Ai mà Blogger A muốn giết?" Tôi nhận được Người B, nếu tôi truy vấn "Ai là người B muốn giết?" Tôi không có gì cả.
Đôi khi tôi vẫn cần những mối quan hệ là hai hướng
Giống như:
Person A <-[:has_met] -> Person B
... đó là hiển nhiên.
tài liệu nói:
Relationships are equally well traversed in either direction. This means that there is
no need to add duplicate relationships in the opposite direction (with regard to
traversal or performance).
While relationships always have a direction, you can ignore the direction where it is
not useful in your application.
Vì vậy, tài liệu nói, mối quan hệ theo mặc định có một hướng và tôi có thể bỏ qua rằng nếu tôi muốn.
Bây giờ đây là nơi mà mọi thứ trở nên phức tạp:
xem xét đồ thị dưới đây (và lưu ý các mũi tên)
Person A <- [:wants_to_kill] -> Person B
Person B -> [:wants_to_kill] -> Person C
Person C -> [:wants_to_kill] -> Person A
Nếu tôi bỏ qua Hướng dẫn cho tất cả [:wants_to_kill]
tôi nhận được kết quả sai cho "Ai làm Người A/C muốn giết? " Nếu tôi biết cái nào tôi phải bỏ qua, tôi sẽ không thực hiện truy vấn.
Vì vậy, bằng cách nào đó tôi có thể đặt các mối quan hệ thành hai hướng (khi tạo chúng), hoặc tôi nên mô hình hóa điều này với hai mối quan hệ (giữa Người A & B)?
tại chỗ, cảm ơn! – joschua011
Ngay cả sau hai năm, điều này vẫn cực kỳ có giá trị. Không thể tìm thấy câu trả lời này trong tài liệu. Nó rất tốt có thể ở trong đó nhưng có lẽ cách họ nói nó làm cho nó khó tìm. –