2017-12-06 2 views
0

예를 들어 영화 DB를 사용합시다. 영화에 참여한 모든 사람들을 DB에 삽입하면 모든 사람의 관계 이름을 찾는 것이 어려울 것입니다. 같은 entity "WORKS_IN"을 sound_designer, sound_engineer, set_designer, set_assistance, cable_guy 등과 같이 Movie 엔티티에 갖는 것이 문제가 될 수 있습니다. 가능한가? 좋은 해결책입니까? 문제가 있습니까? 대안이 있습니까?Neo4j에서 다른 엔티티에 대해 동일한 관계 이름을 사용할 수 있습니까?

+1

이와 같은 질문에 대한 정확한 답변을 제공하는 것은 매우 어렵습니다. 동일한 관계로 여러 개의 노드 레이블을 가질 수 있습니다. 승무원에게 공통 라벨을 부여하고 노드에 추가하는 것이 좋습니다 (예 :': CrewMember : SoundDesigner',': CrewMember : SoundEngineer' 등). 이 설정에 대한 어떤 문제도 기대하지는 않지만 구현하고 사용 사례에 적합한 지 여부를 확인해야합니다. –

답변

0

Gabor의 의견에 대한 대답은 좋은 것입니다. 동일한 노드와 동일한 유형의 관계가있는 레이블이 다른 노드에는 문제가 없습니다.

역할이있는 다중 레이블링 노드는 좋지 않은 아이디어는 아니지만 그래프에서 캡처 한 사람의 역할이 일정하다고 가정합니다. 이는 사실이 아닐 수 있습니다. 또는 오히려 레이블은 전체 역사에서 어떤 역할을했는지 파악할 수 있지만 특정 영화에서 어떤 역할을했는지는 role 속성과 같이 관계 자체의 속성으로 원하는 것일 수 있습니다. 같은 영화에 대해 여러 개의 역할을 할 수있는 사람이 있다면 (심지어 ACTED_IN 관계에있는 목록 속성이 roles 인 경우) 배우와 비슷한 역할을하는 사람도 있습니다.

관련 문제