-
AgensGraph에서 array searchAgensGraph 2019. 8. 7. 14:14
AgensGraph는 그래스 데이터베이스이다.
AgensGraph는 vertex, edge 타입 등을 제공한다.
vertex, edge에는 property를 가질 수 있다. property는 json 형태이다. json은 array 타입을 가질 수 있다.
property가 array 타입을 가질 때 search하는 방법은 다음과 같다.
CREATE (:geom_v1{id:[1, 2, 3]}); CREATE (:geom_v1{id:[2, 3, 4]}); MATCH (a:geom_v1) WHERE ALL(x in a.id WHERE x > 1) --1) RETURN a.id; -- [2, 3, 4] MATCH (a:geom_v1) WHERE ANY(x in a.id WHERE x > 1) --2) RETURN a.id; -- [1, 2, 3], [2, 3, 4] MATCH (a:geom_v1) WHERE NONE(x in a.id WHERE x > 1) --3) RETURN a.id; -- 없음 MATCH (a:geom_v1) WHERE SINGLE(x in a.id WHERE x > 1) --4) RETURN a.id; -- 없음
1)의 ALL() 함수는 모든 요소가 만족해야 한다.
2)의 ANY() 함수는 요소중 하나라도 만족하면 된다.
3)의 NONE() 함수는 무든 요소가 만족하지 않아야 한다.
4)의 SINGLE() 함수는 하나의 요소만 만족해야 된다.