Tôi cũng đã nghĩ về vấn đề này một chút. Trong trường hợp của tôi, tôi phải đại diện cho nhà nước:
- ĐẦU
- IN_PROGRESS
- NỘP
- HOÀN THÀNH
Nhìn chung, Node + Mối quan hệ cách tiếp cận trông hấp dẫn hơn trong đó chỉ có một mối quan hệ đơn tham chiếu cần được duy trì mỗi lần thay vì chuỗi thuộc tính và bạn không cần quét thêm chỉ mục bổ sung cần được duy trì trên thuộc tính (bộ nhớ và hiệu năng sẽ trực quan b e ủng hộ cách tiếp cận này).
Một ưu điểm khác là nó dễ dàng hỗ trợ khả năng của một nút được liên kết với nhiều "nút đặc biệt". Nếu bạn thấy trước một tình huống mà điều này có thể xảy ra trong mô hình của bạn, điều này tốt hơn là phải sử dụng một mảng thuộc tính (và tìm kiếm bằng cách sử dụng "in").
Trong thực tế, tôi thấy rằng vấn đề sau đó đã trở thành, làm thế nào để bạn truy cập các nút đặc biệt mỗi lần. Hoặc bạn duy trì một số loại hằng số tham chiếu nơi bạn có ID nút của các nút đặc biệt này, nơi bạn có thể nhảy ngay vào trong câu lệnh START (đây là những gì chúng tôi làm) hoặc bạn cần thực hiện tìm kiếm nút mỗi lần (tên, có lẽ) và sau đó đi qua các mối quan hệ của nó. Điều này không làm cho các truy vấn cypher đẹp nhất.
Tôi thực sự thích ý tưởng của bạn để sử dụng giá trị như kiểu mối quan hệ. Sau đó, tôi chỉ cần 1 nút vô dụng mà không có dữ liệu để chỉ vào các mối quan hệ mới này. Một câu hỏi khác sẽ là: sẽ có bất kỳ vấn đề hiệu suất nào với 1 triệu mối quan hệ với một nút duy nhất không? Tôi sẽ không thực hiện bất kỳ tìm kiếm nào từ nút đó, chỉ với nó. Ngoài ra, nó sẽ có ý nghĩa để sử dụng nút gốc cho nó? – Martynas
Miễn là bạn chỉ đi qua nút đó thì không có hình phạt về hiệu suất. Nếu bạn đi theo hướng khác, bạn sẽ phải quét 1 triệu mối quan hệ tất nhiên. –
Tôi sẽ không khuyên bạn nên sử dụng nút gốc.Có thể tạo một nút mới được kết nối với nút gốc cho điều này. Nếu không, bạn có thể cư trú nút gốc với nhiều khái niệm khác nhau mà là chiến lược mô hình hóa xấu theo ý kiến của tôi. –