이름이 같은 두 열의 엔티티를 결합하려고합니다. 다음은 내 데이터 세트 샘플이며 하나의 노드 만 만들고이 노드와 관련된 모든 관계가 필요합니다.사이퍼에서 같은 이름의 엔티티 결합하기
Entity0 | Entity1 | Relationship |
__________________________________________
Jamie Dimon | Mit Romney | friends
__________________________________________
Jamie Dimon | Jamie Dimon | colleague
__________________________________________
Mason White | Jamie Dimon | sibling
병합을 사용하면 각 열에서 고유 한 것을 선택하고 4 개의 노드 대신 2 개의 노드를 만들 수 있습니다. 하지만 제이미 먼 (Jamie Dimon)을 위해 하나의 노드 만 생성하면됩니다. 지금까지
내 쿼리 구조 :
LOAD CSV WITH HEADERS FROM 'file:/final_neo4j.csv' AS line
MERGE (e0:Entity0 {node: line.relation_first, name: line.entities_0_name, entity: line.entities_0_entity, confidence: toFloat(line.entities_0_confidence) })
WITH line, e0
MERGE (e1:Entity1 {node: line.relation_second, name: line.entities_1_name, entity: line.entities_1_entity, confidence: toFloat(line.entities_1_confidence) })
WITH e0, e1, line
MERGE (e0)-[r:Rel {name : line.relation_relation, confidence: toFloat(line.relation_confidence), url: line.url }]->(e1)
RETURN e0,r,e1
감사 Nrithya
대신 단 하나의 당신의 엔티티에 대한 두 개의 서로 다른 라벨을 사용하고 어떤 이유가 있습니까? 하나의 레이블 만 사용하고 엔터티를 정의하는 최소한의 속성 집합에서 MERGE를 사용하면 중복을 피할 수 있습니다. 또한 노드, 엔티티 및 신뢰 특성이 무엇인지 설명하고 어떤 특성이 고유 : 엔터티를 나타내는 지 알려주십시오. – InverseFalcon