코멘트 만들기
//를 이용해서 코멘트 표시할 수 있음
그래프의 데이터 모델 확인하기 : CALL db.schema.visualization()
처음 공부할때, 그래프의 데이터 모델을 확인하는 것은 유용하다. `CALL db.schema.visualization()`를 이용하여 노드, 라벨, 관계에대한 정보를 얻을 수 있다.
다음은 기본 movie data에서 실행했을때 결과.
person과 movie 두 노드를 볼 수 있으며, 각각은 다른 색상으로 표시되어 있음. 6가지 relation이 있으며, 사람과 사람 사이에는 follow 할 수 있기 때문에 재귀적인 모습으로 표시됨.
속성
-
노드를 정의하기 위해 속성값을 더 집어넣을 수 있음.
-
속성은 속성 키 값으로 정의됨.
-
같은 타입의 노드들이 꼭 같은 속성을 공유할 필요는 없음.
속성 Key값 조사하기
속성값으로 쿼리하기 전에, 어떤 속성 key 값이 존재하는지 확인해야함.
다음과 같은 두가지 방법이 있음.
-
왼쪽의 Property Keys확인
-
CALL db.propertyKeys() 입력
속성값으로 노드 필터링하기
속성값을 특정해서 노드를 찾아냄
하나의 속성값에 대해서만 찾을 떄
MATCH (variable {propertyKey: propertyValue})
RETURN variable
-> 어떤 노드이던지, 해당하는 속성 key와 value를 가지고 있으면 모두 보여줌
하나의 속성값과 하나의 라벨 안에서만 찾을 떄
MATCH (variable:Label {propertyKey: propertyValue})
RETURN variable
-> 특정 노드 중, 해당하는 속성 key와 value를 가지고 있으면 모두 보여줌
-> 이는 같은 속성 key와 value값이 다른 노드종류의 노드 사이에도 존재할 수 있기 때문에 원치 않는 정보가 나오는 것을 방지하기 위함.
여러 속성값에 대해서 찾을때
MATCH (variable {propertyKey1: propertyValue1, propertyKey2: propertyValue2})
RETURN variable
하나의 라벨안의 여러 속성값에 대해 찾을 때
MATCH (variable:Label {propertyKey: propertyValue, propertyKey2: propertyValue2})
RETURN variable
예시 : 출생일로 노드 찾기
1970년에 태어난 사람을 찾고 싶다면?
MATCH (p:Person {born: 1970})
RETURN p
예시: 여러 속성에 대해서 찾기
released와 tagline을 이용해서 찾기
MATCH (m:Movie {released: 2003, tagline: 'Free your mind'})
RETURN m
속성값만 반환하기.
지금까진 노드를 RETURN하는 방법만 배움. 아래는 속성값을 return 하는 예시들
하나의 속성(prop1)에 대해 노드를 찾은후 다른 속성값(prop2) RETURN
MATCH (variable {prop1: value})
RETURN variable.prop2
하나의 라벨안의 속성(prop1)에 대해 노드를 찾은후 다른 속성값(prop2) RETURN
MATCH (variable:Lable {prop1: value})
RETURN variable.prop2
하나의 라벨안의 두가지 속성(prop1,prop2)에 대해 노드를 찾은후 다른 속성값(prop3) RETURN
MATCH (variable:Label {prop1: value, prop2: value})
RETURN variable.prop3
하나의 속성(prop1)에 대해 찾은후, 두 속성값(prop2,prop3) RETURN
MATCH (variable {prop1:value})
RETURN variable.prop2, variable.prop3
예시: 속성값 RETURN하기
노드를 RETURN하지 않고, 이름과 출생년도를 RETURN함.
MATCH (p:Person {born: 1965})
RETURN p.name, p.born
열이름에 다른 이름 지정하기(Aliasing)
열이름을 커스터마이징하고 싶다면 지정 할수 있음.
기초구문
MATCH (variable:Label {propertyKey1: propertyValue1})
RETURN variable.propertyKey2 AS alias2
예시: 열에 다른이름 지정하기.
MATCH (p:Person {born: 1965})
RETURN p.name AS name, p.born AS `birth year`
참고자료
'기타 > 프로그래밍' 카테고리의 다른 글
[그래프 데이터베이스][무작정해보기] [11/30] Ubuntu에 Neo4j 설치하기 (0) | 2021.01.26 |
---|---|
[그래프 데이터베이스][무작정해보기] [10/30] Relation과 Property로 Query하기 (2) | 2021.01.22 |
[그래프 데이터베이스][무작정해보기] [8/30] 사이퍼 기초다지기 - 노드 / 관계 생성, 원하는 정보 Query하기 (0) | 2021.01.14 |
[그래프 데이터베이스][무작정해보기] [7/30] A*(A-star) Algorithm Neo4j에서 실행해보기 (0) | 2021.01.11 |
[그래프 데이터베이스][무작정해보기] [6/30] A*(A-star) Algorithm 그림으로 이해하기. (0) | 2021.01.10 |