MERGE의 사용법은 대상이 존재하면 찾는 기능을, 존재하지 않으면 생성하는 기능을 한다고 생각하고 예제들을 살펴보도록 한다. 우선 그래프 안에 특정 노드가 있는 경우네는 MATCH 기능과 같이 작동한다. 1. 기 존재하는 패턴에 대한 merge MERGE(n{name:"Hue"}) RETURN n * 이전 포스팅들에서 예시로 적은 모든 쿼리들을 따라 수행했으면 이 포스팅에서와 똑같은 결과가 나올 것이다. 이 쿼리는 name이 Hue인 노드가 기존에 존재하기 때문에 그 노드가 결과로 리턴되었다. 주의할 점은 CREATE문의 경우 똑같은 이름인 Hue 가 존재하더라도 name이 유일한 값이라는 제약사항이 있지 않은 한 새로운 노드가 생성된다.(새로운 노드는 노드의 id가 다른다) 그렇다면 그래프에 존재하지..
이번에는 데이터를 삭제하는 구문인 REMOVE와 DELTE에 대해서 살펴보도록 한다. 이 둘의 쓰임새는 약간 다르지만 금방 이해를 할 수 있을 것이라고 생각된다. 삭제 대상인 노드나 관계를 찾기 위해서는 MATCH 구문을 함께 사용한다. 먼저 REMOVE는 property나 label을 삭제하기 위해 사용한다. 1. 특정 노드를 찾아 label 삭제 MATCH (n{name:'Eskil'}) REMOVE n:Developer RETURN n, labels(n) 2. 특정 노드간의 관계를 찾아 property를 삭제 MATCH (n{name:"Bob"})-[r:KNOWS]->(m{name:"Daniel"}) REMOVE r.since RETURN n, r, m 3. 특정 노드를 찾아 노드의 property..
CREATE 구문을 사용하여 노드와 관계를 만들었다면, 이번에는 기존에 생성한 노드나 관계를 찾아 새로운 프로퍼티를 추가하거나 생성하기 위해 MATCH 구문과 함께 SET과 CREATE 구문을 함께 사용하도록 한다. 먼저 MATCH와 SET을 같이 사용하여 기존에 생성된 노드를 찾아 프로퍼티나 레이블을 추가할 수 있다. 1. 특정 노드를 찾아 프로퍼티를 추가 MATCH (n:Person{name:'Alice'}) SET n.age = 38, n.eyes = 'brown' RETURN n 2. 특정 노드를 찾아 프로퍼티와 label를 추가 MATCH (n) WHERE n.name='Bob' SET n:Person, n.age = 25, n.eyes = 'blue' RETURN n, labels(n) * W..
neo4j에 저장된 데이터를 찾기 위해서 MATCH 구문을 사용한다. 여기서는 기본적인 match 쿼리를 살펴보도록 하고 다양한 매칭에 대한 쿼리는 추후에 다시 살펴보도록 하겠다. * 여기서 사용하는 데이터들은 이전 포스팅 https://joyhong.tistory.com/113 에서 생성한 데이터를 이어서 진행하는 것입니다. 쿼리의 결과는 게시한 내용과 상이할 수 있습니다. Cypher - CREATE 사이퍼를 통해 데이터를 생성해보도록 하겠다. 데이터 생성은 CREATE 구문을 통해 생성할 수 있는데 노드와 관계를 생성할 수 있다. 먼저 노드를 생성하는 쿼리를 살펴보도록 한다. 1. 단일 노드 �� joyhong.tistory.com 1. 노드 찾기 MATCH (n) RETURN n 2. Label를..
사이퍼를 통해 데이터를 생성해보도록 하겠다. 데이터 생성은 CREATE 구문을 통해 생성할 수 있는데 노드와 관계를 생성할 수 있다. 먼저 노드를 생성하는 쿼리를 살펴보도록 한다. 1. 단일 노드 생성 CREATE () 2. 단일 노드 생성 (변수 입력) CREATE (n) 3. 다중 노드 생성 (변수 입력) CREATE (n), (m) 4. 노드 생성시 레이블(Person) 입력 CREATE (n:Person) 5. 노드 생성시 프로퍼티(name:'Tom') 입력 CREATE (n{name:'Tom'}) 6. 노드 생성시 레이블(Person) 과 프로퍼티(name:'Alice') 입력 CREATE (n:Person{name:'Alice'}) 7. 노드 생성 후 생성한 노드 반환 CREATE (n{nam..
- Total
- Today
- Yesterday
- property graph
- 스프링부트
- 장고
- 그래프 데이터베이스
- LOD
- TopBraid Composer
- 지식그래프
- RDF 변환
- rdfox
- networkx
- RDF
- pyvis
- Thymeleaf
- 지식 그래프
- stardog
- Ontology
- TBC
- TDB
- Linked Data
- Knowledge Graph
- Neo4j
- neosemantics
- sparql
- 사이퍼
- cypher
- 트리플
- 트리플 변환
- django
- 타임리프
- 온톨로지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |