이 쿼리를 작성하는 가장 효율적인 방법은 무엇입니까? 문제. 나는 농구를하는 남자와 여자 아이들의 이름이 3500 개입니다. 나는 그들과 관계를 맺고 싶다. 그들은 자신의 연령 그룹에 근거한 유아, 청소년, 십대에 속한다.Foreach의 neo4j case 문
foreach 내에서 case 문을 수행 할 수 없습니다.
Match(b:BoysandGirls)
UNWIND (b.name) as namelist
FOREACH (fullname in namelist |
MERGE(b1:BoysandGirls {name:fullname})
CASE WHEN b1.age < 6 THEN
MERGE(t1:KidsType {group:"Toddler"}) // this groups already exist
MERGE(b1)-[BELONGS_TO]->(t1)
END
)
는 // 내가 청소년과 대 등의 많은 그룹이 ...하지만
있는지 나는 오류 유효하지 않은 입력 ... 예상 1/L ... CASE 문에서 얻을. 무엇이 잘못 되었나요?
@ClickAway 또 다른 고려해야 할 점은 노드를 범주화하는 것이 유일한 경우 (KidsType 노드에 다른 속성이없고 다른 이유로 이러한 노드를 사용하지 않으려는 경우) 노드에 추가 레이블을 추가하십시오 (: Toddler, : Youth, : Teenager). Neo4j는 다중 레이블 노드를 허용하므로 연령 그룹에 대한 빠른 쿼리를 위해이 레이블을 사용하여 일치시킬 수 있습니다. – InverseFalcon