Neo4j 그래프 개념 — 노드·관계·프로퍼티
Neo4j 그래프 개념 — 노드·관계·프로퍼티
Neo4j 의 그래프 데이터 모델은 노드, 관계, 프로퍼티, 라벨 네 가지 기본 요소로 이뤄져 있어요. 이 개념을 이해하면 그래프 데이터를 설계하고 쿼리할 수 있어요.
노드 (Node)
- 데이터의 개체를 나타내요. 예:
Person,Movie,City. - 하나 이상의 라벨(Label) 로 분류하고, 프로퍼티로 세부 정보를 담아요.
(:Person {name: 'Tom Hanks', born: 1956})
- 라벨:
Person/ 프로퍼티:name,born.
관계 (Relationship)
- 두 노드를 방향성 있게 연결해요. 예:
(:Person)-[:ACTED_IN]->(:Movie). - 관계에도 타입과 프로퍼티를 줄 수 있어요. 예:
[:ACTED_IN {roles:['Forrest']}].
프로퍼티 (Property)
- 노드/관계에 붙는 키-값 속성이에요.
- 문자열, 숫자, 불리언, 리스트, 날짜 등 여러 타입을 지원해요.
라벨 (Label)
- 노드를 그룹으로 분류하는 태그예요. 한 노드에 여러 라벨을 붙일 수 있어요.
- 쿼리에서
(:Person)처럼 특정 라벨의 노드만 골라낼 수 있어요.
예시 그래프
CREATE (tom:Person {name:'Tom Hanks'})
CREATE (forrest:Movie {title:'Forrest Gump'})
CREATE (tom)-[:ACTED_IN {roles:['Forrest']}]->(forrest)