저는 Neo4j를 처음 사용하고 음악 데이터베이스를 설정하려고 시도하여 놀고 있습니다. 물론이 Neo4j에서 고유 한 자식 노드를 얻거나 만드는 방법
Artist
Song
는Song
는Artist
의 자식 부모 - 자식 관계를, (또는 : 단순 시작하려면, 난 그냥 두 개의 레이블을 가지고 노는거야(:Artist {name:'name'})-[:RECORDED]->(:Song {title:'title'})
내가 추적을 만드는 중이라서 : 아마도 여러
Artist
들), 그리고 같은 것을 보일 수 있습니다 보내고 가정 :- 아티스트 이름은 하지 독특한
- 중복 인제 데이터를 피할 수 있습니다
- 노래 제목이
내가하고 싶은 무엇의 예를 제공하기 위해 고유 :
- 나는 "할렐루야"를 레오나드 코헨이 섭취합니다. 새
Artist
노드와Song
노드가 생성되고RECORDED
관계 - Jeff Buckley가 "할렐루야"를 섭취합니다. 다시 새로운
Artist
및Song
노드가 생성되고RECORDED
관계입니다. 첫 번째 "할렐루야"Song
은이 새 그래프와 전혀 관련이 없습니다. - Jeff Buckley가 다시 "할렐루야"를 섭취합니다. 아무 반응이 없습니다.
- Jeff Buckley가 "라일락 와인"을 섭취합니다. 우리는 우리의 오래된
Artist
노드를 재사용,하지만 난MERGE
를 사용하여RECORDED
관계 내가 무엇을 말할 수에서
로 새로운
Song
노드가 나를 가까이 가져,하지만 확실히이 (가ARTIST
의 중복을 중지하지만SONG
).CREATE
을 사용하면 포인트 번호 3이 제대로 작동하지 않습니다.은 내가 추적하는
SONG
라벨에 다른 속성을 추가 할 수있는 생각의ARTIST
(내가 때문에 독특한 할 수 있습니다)하지만 약간의 중복 및 그래프 데이터베이스의 unidiomatic 것을, 아니?누구나 이러한 관계와 요구 사항을 적용하는 가장 간결한 방법에 대한 아이디어가 있습니까?
이 실제로 수행 작업, 난 그냥 중복'artist'를 사용하는 경향이 있어요 (노래 : {이름 : '할렐루야', 아티스트 : '레오나드 코헨'})'(또는 어쩌면 짝수 글자를 쓸 수 있습니다. '아티스트 (Artist) '레이블을 지우지 마십시오!) – Alec