일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- programmers
- unity
- 프로그래머스
- Apple
- Kotlin
- iPad
- 파이썬
- 윈도우10
- 한글
- neo4j
- Tutorial
- Python
- kakao
- spring
- DaVinci Resolve
- 유니티
- 영상편집
- 스프링
- graph DB
- 아이패드
- 아이폰
- 애플
- 튜토리얼
- 코딩학습
- AWS
- 녹화프로그램
- SQL
- 윈도우
- json
- 코틀린
- Today
- Total
목록neo4j (7)
코드짜는 노인네
[트러블 슈팅] docker 로컬 VS AWS 환경에 대한 문제점 최근에 도커를 많이 사용할 일이 많아졌습니다. redis, ubuntu, neo4j 등을 사용하는데, docker 만큼 유용한 프로그램은 없을것으로 생각하는데요. 특히, AWS에서 ubuntu로 생성된 EC2 인스턴스에 docker를 설치한 다음, neo4j를 사용해야될 일이 생겼습니다. 물론, AWS에서 별도로 neo4j를 지원해주는것은 알고 있지만, 결국에는 돈이... 문제이기 때문에, EC2 인스턴스에 docker에 neo4j를 생성해서 사용을 해보고 있습니다. 그리고, 컴퓨터 로컬에도 docker를 설치후, neo4j를 사용해보고 있습니다. 여기서 어떤 설정을 잘못했는지, 로컬에 설치되어있는 컨테이너 생성시에, neo4j의 플러그인..
[Neo4j] CSV, JSON 데이터 import 사용을 위한 APOC Plugins 설치방법 (Feat. Docker, Neo4j Desktop) 작은 용량의 데이터를 삽입을 할 경우에는 cypher 쿼리문을 사용해서 넣어도 무방하지만, 대용량의 데이터를 삽입을 해야될 경우, csv, json 파일을 이용해서 neo4j에 import를 할 수 있습니다. 하는 방법이 살짝 복잡할 수 있지만, 환경설정만 잘 해놓는다면, 대용량의 데이터를 삽입하는데 빠른 시간안에 넣을 수 있을껍니다. 일단 이 기능을 활용하기 위해서는 APOC라는 플러그인을 설치해야되는데요. 이번 포스트에서는 APOC 플러그인을 설치하는 방법에 대해 다뤄보겠습니다. Docker 환경에서 APOC Plugins 설치 방법 참고 : Ubunt..
[Neo4j] 중복없이 노드, 관계를 생성해주는 Merge 쿼리문 Neo4j를 처음 접하게 되었을때는, match, create, delete 기능만 사용했습니다. 특히, 노드를 생성할때는 기존에 저장되어있는 노드를 또 다시 생성하는 상황이 많이 발생하고, 신경써야될 부분이 많았습니다. 이럴경우, 'merge' 쿼리문을 사용하게 되면, 중복되는 노드 생성을 막아주는 역할을 합니다. merge VS create create 앞에서 언급했듯이, merge는 중복되는 노드 생성을 막아주는 역할을 하게 됩니다. 즉, 기존에 있는 노드의 레이블과 속성이 같다면, 노드는 생성되지 않습니다. create (p:Person {name:"kim"}) 일단 'Person'이라는 레이블에 name 속성에 'kim'이라는 속..
[Neo4j] 노드, 관계를 찾기 위한 Match 쿼리문 (Feat. Cypher) MySQL 쿼리문에는 Select가 있다면, Cypher 쿼리문에는 Match라는 쿼리문을 가지고 있습니다. 이 명령어는 다양한 용도로 사용하게 되는데요. 조회도 가능하지만, 다른 노드와 관계 매핑을 하기전에 필요로 하는 명령어가 될 수도 있습니다. 어떤 용도로 사용되는지 알아보겠습니다. MATCH~ return ~ match (n) return n 가장 기본적이고, 아주 간단한 쿼리문입니다. 코드안의 'n'은 변수이지만, 그 변수에 무슨 레이블을 넣을지를 선택하지 않은것입니다. 그런데, 이렇게 하면, 개발자가 레이블을 지정하지 않았기 때문에, 모든 레이블이 이 변수안에 지정된다고 보면 됩니다. 그리고 return n을 ..
[Neo4j] Node 생성 방법 (Feat. Cypher) neo4j의 기초중의 기초, 바로 노드를 생성하는 방법입니다. MySQL에서는 테이블과 컬럼으로 구성이 되어있다면, neo4j는 노드(Node)와 레이블(Label) 그리고 속성(properties)로 구성이 되어있습니다. 명령어는 다음과 같습니다. CREATE (ee:Person {name: 'Emil', from: 'Sweden', kloutScore: 99}) 노드를 생성하기 위해 CREATE 를 입력해줍니다. ( ) 는 노드를 나타내기 위한 표현입니다. 'ee:Person' 에서 ee는 노드 변수이며 Person노드 레이블입니다. [참고로 노드 생성시에는 노드의 변수를 입력하지 않아도 됩니다.] { } 는 노드를 설명하는 속성을 포함합니..
[Neo4j] 도커에서 Neo4j 생성 및 실행 방법 'Neo4j'를 실습하기 위해서는 2가지 방법이 있습니다. 첫번째로는 docker를 사용하여서 neo4j를 설치하는 방법과, 공식홈페이지에서 제공하는 'neo4j Desktop'이 있습니다. 이번 포스트에서는 neo4j를 docker에 설치하는 방법에 대해 다뤄보겠습니다. docker neo4j neo4j의 레퍼런스 링크는 다음과 같습니다. Neo4j with Docker - Developer Guides Docker is a lightweight virtualization mechanism to run single applications or processes in a containerized environment on a Linux host sys..
[22.08.31 TIL] Today I Learned 오늘 한 일 GraphDB (Neo4j) 구현을 위한 실습 Spring Boot to Neo4j 간단한 예제 실습 언급된 키워드 Replica Neo4j cypher query 마이크로서비스 아키텍쳐 키워드 연관관계 검색을 위해 관계형 데이터베이스 대신 GraphDB를 사용해보기로 결정을 했다. 나온지 얼마되지 않아서인지 표준 질의어도 잡혀있지 않고, 정보도 많지 않아서 쉬운 예제는 어떻게 하긴 했는데, 키워드가 얼마나 연관이 되었는가에 대해서도 고민을 하지 않을수가 없다. 관계(에지)에 점수를 넣어어서 얼마나 관계가 깊은지를 구현해, 클라이언트에 List형식으로 보내주면, 처리할수 있지 않을까 하는 생각이 든다. 일단 노드와 관계, 그리고 관계에 ..