반응형

그래프데이터베이스 9

[neo4j] Minimum Spanning Tree 사용하기

오늘은 MST(Minimum Spanning Tree) 알고리즘을 neo4j에서 사용하는 법에 대해서 써본다. 굳이 쓰는 이유는 neo4j라이브러리가 업데이트되면서 알고리즘을 쓰는 방법들이 조금씩 달라졌기 때문이다. 그럼 시작해본다. MST? A minimum spanning tree (MST) or minimum weight spanning tree is a subset of the edges of a connected, edge-weighted undirected graph that connects all the vertices together, without any cycles and with the minimum possible total edge weight. 위키피디아엔 위와같이 정의되어 있다..

2022/GraphDB(neo4j) 2022.07.06

[Neo4j / 데이터 불러오기] web csv에서 데이터 불러오기

이전에 다뤘던 주제인지 기억이 나지 않는다. 아무튼 일단 이야기해봐야지 데이터 구조 이해하기 https://github.com/neo4j-graph-analytics/book/tree/master/data GitHub - neo4j-graph-analytics/book Contribute to neo4j-graph-analytics/book development by creating an account on GitHub. github.com 위의 링크로 들어가면 transport-nodes.csv 라는 파일과, transport-relationships.csv 라는 파일이 존재한다. 즉 node와 edge다. 여기서 유의할점은 node를 먼저 만든 후 edge(relation)을 만든다는 것이다. neo..

2022/GraphDB(neo4j) 2022.07.05

[그래프 데이터베이스][무작정해보기] [14/30] count, collect, size,map, list 활용하기

데이터 집계하기 기본적으로 Neo4j에서는 데이터를 모아줌 아래의 Cypher문을 작동했을 때 결과 MATCH (p:Person)-[:REVIEWED]->(m:Movie) RETURN p.name, m.title 위의 결과를 잘 보면 오른쪽에 "The Replacements"가 연속되고 그 후 왼쪽에 "Jessica Thompson"이 연속되는 것을 볼 수 있음. 결과를 List로 모으기 Neo4j에서는 자료를 List형태로 모을 수 있음 다음 예시는 톰크루즈가 연기한 영화들을 리스트로 보여줌 MATCH (p:Person)-[:ACTED_IN]->(m:Movie) WHERE p.name ='Tom Cruise' RETURN collect(m.title) AS `movies for Tom Cruise` 위..

[그래프 데이터베이스][무작정해보기] [13/30] 쿼리 패턴 익히기

이 모듈이 끝나면 다음과 같은 것을 할 수 있어야 한다 - 여러 MATCH 패턴 사용 - 여러 MATCH 절 사용 - OPTIONAL 사용 - subgraph return - 변화하는 paths 길이 사용 MATCH절 순회 The Replacements라는 영화를 리뷰한 사람들을 팔로우하는 사람들을 찾고 싶다면 MATCH (follower:Person)-[:FOLLOWS]->(reviewer:Person)-[:REVIEWED]->(m:Movie) WHERE m.title = 'The Replacements' RETURN follower.name, reviewer.name 다음과 같은 순서로 그래프 엔진이 작동한다. 우선 영화를 찾는다. 그 후 영화를 리뷰한 사람들을 찾는다. 그런 후 다시 리뷰얼르 팔로우..

[그래프 데이터베이스][무작정해보기] [12/30] WHERE 를 활용한 쿼리

SQL과 비슷하게 WHERE를 활용해서 원하는 노드를 Query할 수 있다. 기본 질의문 구성은 다음과 같다 MATCH (n) WHERE n.property = what_you_want RETURN n.other_property 위의 질의문은 오직 노드에 대한 결과값을 처리하게 된다. 노드의 어떤 속성이 WHERE안의 조건과 맞는 노드를 RETURN하는 방식이다. 그냥 노드를 RETURN하게 해도 되고, 원하는 Property만 꺼낼 수도 있다. 특정 범위에 맞는 데이터 Query하기 MATCH (p:Person)-[:ACTED_IN]->(m:Movie) WHERE m.released >= 2003 AND m.released (m:Movie) WHERE 2003 () WHERE p.name STARTS ..

[그래프 데이터베이스][무작정해보기] [11/30] Ubuntu에 Neo4j 설치하기

오늘부터 블로그 말투를 바꿔야 겠다. 네이버 블로그에서 쓰던 말투로 해야 좀더 자연스럽게 글이 써지는 것 같아 그렇게 해야겠다. 얼마전에 노트북에 Ubuntu를 설치했다. 윈도우에 용량 90%, 우분투에 10%정도 할애했다. 저번 글에도 쓴거 같지만, 우분투를 설치해야했던 이유는 여러가지가 있었다. 그 중에 중요한것은 Apach Spark를 설치해야 했기 때문이다. 왜 그리 중요하나면 내 개인적인 관심사이기도 했으며, 그래프데이터 베이스 교재에도 Spark 부분이 있었기 때문이다. 추후에 남는 컴퓨터를 얻는다면, 여러 컴퓨터에서 Spark를 돌리는 것을 해봐야 겠다. 그럼 본문으로. 개요 : Ubuntu에 Neo4j 설치하기 준비물 : Ubuntu 20.04, 인터넷, tab키 Openjdk 11 설치하..

[그래프 데이터베이스][무작정해보기] [7/30] A*(A-star) Algorithm Neo4j에서 실행해보기

들어가기 전에 복습하기 2021/01/10 - [30일 프로젝트/Graph DB] - [그래프 데이터베이스][무작정해보기] [6/30] A*(A-star) Algorithm 그림으로 이해하기. [그래프 데이터베이스][무작정해보기] [6/30] A*(A-star) Algorithm 그림으로 이해하기. 다음 예제는 A*(A-Star) Algorithm 을 사용합니다. 그 전에 A* 알고리즘이 무엇인지 간단한 그림을 통해 이해해보도록 하겠습니다. A* 알고리즘은 무엇이고 어디에 쓰이는가? A*(pronounced "A-star") is a graph. dfso2222.tistory.com 바쁘다면 한줄요약 A* 알고리즘은 다음과 같은 f(n)값을 최소화하는 방식으로 작동합니다. $f(n) = g(n) + h(..

[그래프 데이터베이스][무작정해보기] [3/30] 웹상의 CSV로 부터 Graph 생성하기

예시데이터: 운송 그래프 데이터는 다음 위치에서 확인 할 수 있습니다. https://resources.oreilly.com/examples/0636920233145/tree/master/data data · master · examples / Graph Algorithms O'Reilly Resources resources.oreilly.com github.com/neo4j-graph-analytics/book/tree/master/data neo4j-graph-analytics/book Contribute to neo4j-graph-analytics/book development by creating an account on GitHub. github.com 둘다 같은 데이터를 사용하지만, 책의 예제..

[그래프 데이터베이스][무작정해보기] [1/30] 그래프 DB 시작: 그래프 DB란? -> Neo4j Desktop 설치

나는 왜 Graph DB를 시작하였나. 사실 이걸 시작한 이유는 단 하나 입니다. 핫하다. 지난 5.5달간의 컴퓨터 교육후 백앤드라는 것이 궁금해 지기도 했고, 옛날부터 정보의 관계망을 만들어보면 좋겠다고 생각했습니다. 예를 들면, 한글의 동의어 사진이라던지 영어의 동의어 사전 같은 것이 있을 수 있고, 주식을 한다면 어떤 뉴스가 생겼을 떄 해당하는 주식의 가격이 어떻게 변하는 지 등등 이러 저러 짱구를 굴려보고 있었습니다. 교육때문에 바쁘다는 핑계로 시작하지 못했지만 이제 시작해보려 합니다. 시작하기 앞서.. Algorithms: Practical Examples in Apache Spark and Neo4j: By Mark Needham & Amy Hodler Published by O'Reilly ..

반응형