이번 포스팅에서는 CSV 형태로 저장된 데이터를 Neo4j에 넣어보도록 한다. CSV를 import 하기 위해서는 조금 준비를 해야 하는데 가장 중요한 것은 import 할 csv 파일을 neo4j에서 설정한 기본폴더(기본으로 설정된 폴더)에 넣어서 진행할 것인지, 아니면 설정을 바꾸어 내가 원하는 폴더를 지정할 것인지의 차이이다. import할 대상 파일을 위치시킬 기본 폴더는 import 디렉토리이다. 설정 파일은 neo4j가 설치된 곳을 기준으로 conf/neo4j.conf 파일이 설정파일이다. 이 파일의 값을 변경하여 기본 폴더를 변경하여 사용할 것인지, 그대로 두고 csv 대상 파일을 import 폴더에 넣을 것인지 정하면 된다. 먼저 리눅스 버전은 neo4j.conf 파일을 열어보면 dbms...
이번에는 성능 향상을 위한 인덱스 및 제약사항에 대해서 살펴보겠다. 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..
- Total
- Today
- Yesterday
- 스프링부트
- 그래프 데이터베이스
- pyvis
- 타임리프
- Neo4j
- Ontology
- 트리플 변환
- stardog
- RDF
- Knowledge Graph
- TBC
- LOD
- 트리플
- rdfox
- 장고
- 사이퍼
- neosemantics
- cypher
- 지식 그래프
- sparql
- networkx
- Thymeleaf
- Linked Data
- TDB
- django
- TopBraid Composer
- RDF 변환
- 지식그래프
- property graph
- 온톨로지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |