2014-09-17 3 views
0

ne04j 2.1.2 커뮤니티 에디션을 사용하고 있습니다.neo4j의 다른 노드에서 레이블 이름 가져 오기

레이블이 Company 인 노드가 있고이 노드와 병합 및 작성 명령과 함께 CSV 파일을로드하여 레이블을 만들었습니다. 장래에 레이블 이름이 변경되면 Company에서 Organization으로, createddate, UpdatedDate, NewLabelName, OldLabelName 값을 어딘가에 유지하고 싶습니다.

레이블 정보를 보유하고있는 하나의 마스터 노드를 유지하기 위해 NewLabelName, OldLabelName, CreatedDate, UpdatedDate와 같은 속성이 있어야합니다. 따라서 레이블 이름은 마스터 노드에서 다른 노드로 가져와야합니다. 레이블을 변경할 때마다 해당 UpdatedDate 속성 값이 마스터 노드에서 업데이트되고 NewLabelName이 마스터 노드에서 다른 노드 (해당 레이블이 속한 노드)로 전달되어야합니다.

여기에서 시나리오를 이해하시기 바랍니다.

하지만 어떻게 이것을 할 수 있습니까? 달성 할 수 있습니까? 그렇다면 마스터 노드와 다른 노드 사이의 관계를 어떻게 정의 할 수 있습니까? (여기에 내 다른 노드는 Google, Yahoo, Samsung 등의 회사 이름이며 위치와 같은 다른 자식 노드가있을 것입니다)

해결 방법을 제안하십시오.

감사

답변

0

라벨이 변경 될 수 있지만, 거의 (예를 들어, 실수를 복구하지 않으려면) 그렇게해야한다 (나는이 사용 사이퍼 사용하지 않는 자바를 달성하기 위해 원). 많은 수의 레이블을 변경하면 은 매우이며 정상적인 처리 과정에서 절대로해서는 안됩니다.

또한 Java 클래스 이름과 마찬가지로 레이블 이름은 일반적으로 최종 사용자에게 표시되는 것이 아닙니다. 그래서, 절대 변할 이유가 없습니다. 시작하기에 합당한 레이블 이름을 선택하고 레이블 이름을 변경하려고하지 마십시오.

+0

예, 레이블 이름을 자주 변경하지 않는다는 것을 이해하거나 처음에는 적절한 이름을 선택해야합니다. 하지만 내 요구 사항은 미래에 레이블 이름이 바뀔 수 있습니다. 그래서 레이블을 정의하고 마스터 노드에서 다른 속성을 유지하려고하는 마스터 노드에만 변경 사항을 적용하려고했습니다. 레이블이 변경되면 그 노드는 아래의 노드에 반영되어야합니다. 내가 어떻게 할 수 있니? – shree11

+0

라벨 및 공통 속성 값은 다른 모든 노드 (해당 레이블 및 공통 속성 값을 "공유")와 관계가있는 단일 마스터 노드에서만 가질 수 있습니다 (예 : 'CHILD'유형). 이렇게하면 레이블이나 공유 속성 값을 변경하는 작업은 마스터 노드에서만 수행해야합니다. 단점은 MATCH (n : myLabel {name (n : myLabel)) 대신 'MATCH (m : myLabel) - [: CHILD] -> (n {name : "Fred"}) : "프레드"))'. 그러나 'myLabel'이라는 레이블이 붙은 노드가 하나 뿐이므로 효과는 무시할 수 있어야합니다. – cybersam

관련 문제