Neo4j Quick Start
neo4j official documentation https://neo4j.com/docs/
neo4j Chinese community http://neo4j.com.cn/
neo4j developer page https://neo4j.com/developer/
Neo4j installation
a. Java 11 needs to be installed
https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html
b. Download neo4j community edition
https://neo4j.com/download-center/#community
c. Unzip and start
neo4j start
d. Access the local neo4j browser
Graph database related term "graph theory":
Graph theory wiki:
https://zh.wikipedia.org/wiki/Graph Theory
The main nouns used in graph databases
a. Edges: The things connecting points and points on the graph are called edges, and the edges on the graph are divided into directed edges and undirected edges. A directed edge is an edge with a direction, and an undirected edge is an edge without a direction, which is specifically reflected in the graph with or without arrows.
b. Point: A point on the graph
c. Weight: It is the size of something. Generally, there are point weights and edge weights in the graph, which is to assign a value to a point and a value to an edge. If there is no weight, it is called no weight. When the weight is negative Called negative weight (note the negative weight edge in the algorithm later)
d. Out-degree: A side starting from a certain point is called the out-degree of the side
e. In-degree: The edge with a certain point as the end point is called the in-degree of the edge
f. Path: A path from one edge to another is called a path, and a simple path is a path without loops.
g. Connectivity: If a point A can reach another point B, it is said that point A and point B are connected. If point B can also reach point A, it is said that point A and point B are strongly connected. From a certain point in the graph Starting from the graph, if you can reach any point on the graph, then the graph is said to be a connected graph.
h. Force-Directed Graph (Force-Directed Graph), the graph used for neo4j data relationship presentation
Graph connectivity definition extension:
http://c.biancheng.net/view/3405.html
"Graph Database"
https://www.jb51.net/books/587816.html
Application of graph database (mainly solving problems)
Improve the speed of solving the following problems. Compared with traditional databases, it can be implemented faster and simpler, and the implementation (development) cost is lower
neo4j application case
https://blog.csdn.net/liudongdong19/article/details/83653490
a. Finding the shortest path
b. Accessibility solution (connectivity solution)
c. Relationship graph visualization
Getting Started with Cypher Syntax (cql)
a. The grammar design is relatively simple. Before reading the documentation, it is recommended to read the official examples directly, view the official example methods, and visit after installing Neo4j locally:
b. Choose try neo4j with live data,
c. Follow the steps to view cql statements and running results
d. Cql Quick Reference Manual
https://neo4j.com/docs/cypher-refcard/current/
e. cql official document
https://neo4j.com/docs/cypher-manual/current/syntax/
f. Vs Code (Cypher Query Language) cql syntax highlighting plugin
Compared with traditional relational database
a. What are the advantages of graph databases?
https://zhuanlan.zhihu.com/p/112689382
b. Advantages of graph database and relational database
https://zhuanlan.zhihu.com/p/112704484
c. Performance comparison with traditional relational databases
Performance comparison when looking up friend data of friends with a maximum depth of 5 in a social network with 1 million people, each with about 50 friends
neo4j for js client
neo4j official js client
npm install neo4j-driver
https://neo4j.com/developer/javascript/
neo4j data visualization (force-directed graph visualization)
Official and third-party neo4j data visualization library, there are many tools, please read the following article for details
https://zhuanlan.zhihu.com/p/381044281
https://zhuanlan.zhihu.com/p/126219777
List the more commonly used and official tools by category
a. Development tools to help developers work with diagrams.
i. Neo4j browser (the web client that comes with neo4j)
ii. Neovis.js (front-end directly connected to neo4j, neo4j version of vis.js)
iii. Popoto.js (front-end directly connected to neo4j, neo4j version of d3.js)
iv. d3.js (the front end is not directly connected to neo4j)
v. echarts (the front end is not directly connected to neo4j)
b. Exploration/analysis/reporting tools to help analysts explore data relationships, trends and differences.
i. Neo4j Bloom (neo4j official data visualization tool)