이번에는 성능 향상을 위한 인덱스 및 제약사항에 대해서 살펴보겠다. 1. 단일 인덱스 생성 CREATE INDEX person_name FOR (n:Person) ON (n.name) 인덱스명이 person_name이고 이 인덱스는 레이블이 Person인 노드의 name 프로퍼티에 생성되는 쿼리이다. 2. 인덱스 목록 보기 CALL db.indexes 3. 인덱스 삭제 DROP INDEX person_name 4. 복합 인덱스 생성 CREATE INDEX person_nameAndAge FOR (n:Person) ON (n.name, n.age) 인덱스명은 person_nameAndAge이고 Label이 Person인 노드의 name과 age property로 복합 인덱스를 생성하는 쿼리이다. Cyphe..
이전 포스팅까지는 어쩌면 이번 포스팅을 위한 초석을 깔기 위해 진행된 것이라고 해도 무방할 것 같다. MATCH 기능을 통해 다양한 종류를 살펴보기 위해서는 데이터가 필요한데 그러한 작업들을 이전 포스팅까지 해서 거의 다 생성하였으니 이제 다양한 매칭 종류에 대해서 살펴보도록 한다. * 이전 포스팅의 쿼리들을 모두 수행하게 되면 이번 포스팅의 쿼리와 결과가 동일하게 나올 것입니다. 1. 여러 개의 property로 매칭 MATCH (n:Person{age:54, eyes:"brown"}) RETURN n.name 2. Property의 value 비교 MATCH (n:Person) WHERE n.age>30 RETURN n.name, n.age 3. WHERE 절의 조건 연산자(OR, AND) 사용 MA..
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..
- Total
- Today
- Yesterday
- 타임리프
- cypher
- 그래프 데이터베이스
- Knowledge Graph
- TBC
- pyvis
- property graph
- Neo4j
- TopBraid Composer
- 사이퍼
- django
- Ontology
- 지식그래프
- rdfox
- RDF 변환
- LOD
- 트리플 변환
- sparql
- Thymeleaf
- 지식 그래프
- 장고
- stardog
- RDF
- networkx
- 트리플
- neosemantics
- 온톨로지
- TDB
- Linked Data
- 스프링부트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |