2016-10-13 4 views
0

NEO4j의 기존 노드들 사이에 많은 관계를 만들고 싶습니다. 관계가에 대한 변수를 사용하는 것이 내가 할 컴파일 시간까지 알려 지거나 시간이 실행되지 않습니다 [확인해을 "RELATIONSHIP_TO]. 쿼리의 일부 나에 비슷한 질문 Creating Neo4j Relationships in java을 보았다는 그래서 사용Neo4j 관계를 동적으로 생성하십시오.

RelationshipType relType = DynamicRelationshipType.withName(rel); 
    graphDb.createNode().createRelationshipTo(graphDb.createNode(), relType); 

.. 그러나 이년 전 그와 문서가 지금 DynamicRelationshipType가되지 않습니다 말합니다 문서는 RelationshipType 내 경우에 작동합니다 생각하지 않습니다 자바 "열거 형"을 사용하는 말을 나는이 작업을 수행 할 수 :

node1.createRelationshipTo(node2,relType) 

whe re relType은 변수입니다. 어떻게해야합니까? 어떤 도움을 주셔서 감사합니다. 내 프로젝트는 최신 Neo4jDB를 사용하여 Nodejs 및 Javascript에 있습니다.

덧붙여 관계와 노드 모두에 대해 속성 할당에서 "키"변수를 사용하는 방법을 알고 싶습니다.

답변

1

당신은 apoc에서 create.relationship 절차를 사용할 수 있습니다 :

CALL apoc.create.relationship(person1,'KNOWS',{key:value,…​}, person2) 

UPD을 :

MERGE (person1:Person {name:1}) 
MERGE (person2:Person {name:2}) 
WITH 'KNOWS' as relType, person1, person2 
CALL apoc.create.relationship(person1, relType, null, person2) YIELD rel 
RETURN rel 
+0

나는 저를 "인식"에 대한 변수 "reltype"를 사용할 수 있도록하는 어떤 문서를 찾을 수 없습니다. 그게 내 질문이다. – MichaelE

+0

@MichaelE 답변 업데이트를 참조하십시오. –

+0

업데이트 해 주셔서 감사합니다. 분명히 내 질문을 제대로 이해하지 못하고있다. WITH 'KNOWS'는 여전히 relType이 미리 알기를 요구합니다. 이런 식으로 할 수 있을까요? ** rel with relType ** 여기서 rel은 파일로부터 얻을 수있는 모든 값을 가지는 변수입니다. – MichaelE

관련 문제