내가 만든 정말 간단한 CSV가있어서 Neo4j에 CSV로드를 연습 할 수 있습니다.
CSV는 다음과 같습니다.
boxer_id name boxer_country total_wins bdate fought fight_id fight_location outcome
1 Glass Joe France 0 1/2/80 2 100 Las Vegas L
2 Bald Bull Turkey 2 2/3/81 1 100 Macao W
3 Soda Popinski Russia 6 3/4/82 4 101 Atlantic City L
4 Sandman USA 9 4/5/83 3 101 Japan W
나는 2 개 노드를 만들고 싶어, boxer
하고 fight
.
하지만 권투 선수를 싸움에 연결하는 데 문제가 있습니다.
내가 얻은 한 다음과 같습니다.
보시다시피 노드를 성공적으로 읽었지만 권투 선수와 권투 경기 간의 관계를 만드는 방법을 모릅니다.
다음과 같이하고 싶습니다.
CREATE (boxer)-[:AGAINST]->(boxer)
그러나 이것은 말이되지 않습니다. 나는 fought
링에서 누가 누구와 마주했는지에 관한 정보를 캡슐화 하는 필드를 사용해야합니다 .
어떤 조언이라도 대단히 감사하겠습니다. READ CSV의 맥락에서이 작업을 수행하는 방법을 잘 모르겠습니다.
내 코드는 다음과 같습니다.
// The goal here is to create a node called Boxer, and pull in properties.
LOAD CSV WITH HEADERS FROM
'file:///test.csv' AS line
WITH line, SPLIT(line.bdate, '/') AS bdate
CREATE (b:boxer {boxer_id: line.boxer_id})
SET b.byear= TOINT(bdate[2]),
b.bmonth= TOINT(bdate[0]),
b.bday = TOINT(bdate[1]),
b.name = line.name,
b.country = line.boxer_country,
b.total_wins = TOINT(line.total_wins)
// Now we make a node called Fight
LOAD CSV WITH HEADERS FROM
'file:///test.csv' AS line
CREATE (f:fight {fight_id: line.fight_id, fight_loc: line.fight_location})
// Now we set relationships
// ????
이미 만든 권투 선수와 일치하도록 몇 줄을 추가하고 그들과 새로 만든 싸움 사이에 관계를 만들 수 있습니다. 이 라인을 따라 뭔가가 당신에게 도움이 될 것이라고 생각하고 있습니다 ...
LOAD CSV WITH HEADERS FROM
'file:///test.csv' AS line
MATCH (b1:boxer {boxer_id: line.boxer_id})
WITH line, b1
MATCH (b2:boxer {boxer_id: line.fought})
MERGE (f:fight {fight_id: line.fight_id})
CREATE (b1)-[:AGAINST]->(b2)
CREATE (b1)-[:FOUGHT_IN]->(f)
CREATE (b2)-[:FOUGHT_IN]->(f)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다