ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AgensGraph에서 array search
    AgensGraph 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() 함수는 하나의 요소만 만족해야 된다.

Designed by Tistory.