[Neo4j] 간단한 Neo4j 개념 정리
2024. 2. 21. 00:18ㆍ카테고리 없음
728x90
반응형
Neo4j GDB는 node, relationship, path 세 가지 핵심 개념으로 구성된다.
Nodes
Neo4j에서 data entity를 node라고 한다. Cypher에서는 ()
를 사용하여 참조한다.
MATCH (n:Person {name:'Anna'})
RETURN n.born AS birthYear
node에는 다음 개념이 포함된다.
Lavel
- 위 쿼리의
Person
은 노드를 분류하는 라벨이다. - DB에서 특정 노드들을 가져오는데 사용한다.
- 노드는 여러 라벨을 가질 수 있다. ex) Person, Actor
Property
- 위 쿼리의
name
은 노드가 가진 속성이다. - 노드의 특정 정보를 제공하는 데 사용된다. ex) Person의 name, age 등등
- 속성은 쿼리에서
{}
안에 정의된다.
Valable
- 위 쿼리의
n
은 변수이다. - 쿼리의 결과를 return 절에 있는 변수에서 참조한다.
Relationships
그래프의 노드는 관계로 연결될 수 있다. 관계 쿼리시에는 하나의 타입의 시작 노드, 끝 노드를 가져야한다.
관계 쿼리는 -->
로 나타낸다.
MATCH (:Person {name: 'Anna'})-[r:KNOWS WHERE r.since < 2020]->(friend:Person)
RETURN count(r) As numberOfFriends
노드와 다르게 관계 정보는 []
안에 있어야한다.
위의 예시 쿼리는 Anna 라는 사람 이 2020년 이전에 알았던 사람의 수를 반환한다.
Paths
경로는 연결된 노드와 관계로 구성된다.
MATCH (n:Person {name: 'Anna'})-[:KNOWS]-{1,5}(friend:Person WHERE n.born < friend.born)
RETURN DISTINCT friend.name AS olderConnections
1~5 다리까지 건너건너 아는 사람 리턴
728x90
반응형