2014-09-10 3 views
1

내 과제는 여러 친구 또는 팔로우 관계를 간단한 neo4j 그래프 db로 가져 오는 것입니다. 찰리가 밥의 친구 인 크리스 앨리스의 종 동자이다neo4j에서 LOAD CSV를 사용하여 조건부 관계 만들기

owner,friend,type 
Bob,Charlie,friend 
Alice,Chris,follower 

위의 예에서 : 내 입력 데이터는 다음과 같은 구조의 것이다 CSV. 내가 LOAD CSV을 사용하여 neo4j로 대량 가져 오기를 원하지만 가져 오는 동안 조건부 관계를 만드는 데 문제가 있습니다. 차라리 관계 IS_FRIENDFOLLOWS의 두 가지 유형이있을 것이다

LOAD CSV WITH HEADERS FROM "file:./graph.csv" AS csvLine 
WITH csvLine.owner AS owner, 
    csvLine.friend AS friend, 
    csvLine.type AS Type 

MERGE (o:Person { name: owner }) 
MERGE (c:Person { name: friend }) 
MERGE (u)<-[:IS_FRIEND {type: Type}]-(c); 

: 가져 오기 코드를 같이 보입니다. 하지만 같은 조건문하려고하면

CASE WHEN Type == "friend" THEN MERGE (u)<-[:IS_FRIEND]-(c) ELSE (u)<-[:FOLLOWS]-(c); 

이 같은 CSV에서 대량 가져 오기 중 조건 관계를 만들 수있는 방법이 있나요 CASE

의 사용에 구문 오류가 있습니까?

답변

3

우수 블로그 게시물은 http://www.markhneedham.com/blog/2014/06/17/neo4j-load-csv-handling-conditionals/입니다.

트릭은 기본적으로 조건에 따라 빌드 된 컬렉션에서 foreach를 사용합니다.

+0

나의 당혹감은 끝이 없다 ... 나는 마크의 블로그를 많이 읽는다 ... 나는 이것을 놓쳤다 고 믿을 수 없다. 당신이 실패한 검색 엔진 !!!!! 포인터와 빠른 해결책을 가져 주셔서 감사합니다. – cwharland

관련 문제