文章目录
neo4j
QuickStart
详情可见博客:https://www.cnblogs.com/nhdlb/p/18703804,使用docker拉取最近的一个版本进行创建
shell
docker run -it -d -p 7474:7474 -p 7687:7687 \
-v /disk5/neo4j_docker/data:/data \
-v /disk5/neo4j_docker/logs:/logs \
-v /disk5/neo4j_docker/conf:/var/lib/neo4j/conf \
-v /disk5/neo4j_docker/import:/var/lib/neo4j/import \
-v /disk5/neo4j_docker/plugins:/var/lib/neo4j/plugins \
-e NEO4J_AUTH=neo4j/password \
--name neo4j neo4j:5.26.2
docker参数含义解释:
shell
-p 7474:7474 宿主机端口映射,7474端口为Neo4j界面访问端口
-p 7687:7687 宿主机端口映射,7687端口为后台API接口访问端口
-v /home/neo4j/data:/data 宿主机目录挂载,将Neo4j存储数据挂载到宿主机目录
-v /home/neo4j/logs:/logs 宿主机目录挂载,将Neo4j运行日志挂载到宿主机目录
-v /home/neo4j/conf:/var/lib/neo4j/conf 宿主机目录挂载,将Neo4j配置文件挂载到宿主机目录
-v /home/neo4j/import:/var/lib/neo4j/import 宿主机目录挂载,将Neo4j数据导入目录挂载到宿主机目录
-v /home/neo4j/plugins:/var/lib/neo4j/plugins 宿主机目录挂载,将Neo4j插件安装目录挂载到宿主机目录
-e NEO4J_AUTH=neo4j/password 配置Neo4j的登录密码,用户名必须是neo4j,密码可以自定义
启动后直接浏览器访问webui界面即可,ip:7474/browser/
,用户名:neo4j
,密码:password
Demo
详情可见b站:https://www.bilibili.com/video/BV13K4y187b4

信息补充:
shell
华工科技 湖北 深交所
安琪酵母 湖北 上交所
国信证券 广东 深交所
中科创达 北京 深交所
招商银行 深圳 上交所
-
创建单个节点
CQLcreate(variable:lable{key1:value1,key2:value2}) return variable create(n:Stock {name:'安琪酵母',code:'600298',lauchDate:date('2000-08-18')}) return n
-
创建多个节点:股票、交易所、省市标签
CQLcreate(variable:lable{key1:value1,key2:value2}),(:lable{key1.1:value1.1,key2.1:value2.1}) return variable // 创建股票节点 create(n:Stock {name:'安琪酵母',code:'600298',lauchDate:date('2000-08-18')}), (n:Stock {name:'安招商银行',code:'600036',lauchDate:date('2002-08-09')})return n // 创建交易所节点 create(n:SecuritiesExchange{name:'上海证券交易所'}),(:SecuritiesExchange{name:'深圳证券交易所'})return n; // 创建省市节点 create(n:Province{name:'湖北'}),(:Province{name:'北京'}),(:Province{name:'广东'})return n;
-
建立关系:股票和省市、股票、交易所关系
cqlmatch(a:lable1),(b:lable2) where a.name ='value1' and b.name='value3' create (a)-[r:relationship]->(b) return r // 创建股票和交易所关系 match(a:Stock),(b:SecuritiesExchange) where a.name = '安琪酵母' and b.name='上海证券交易所' create (a)-[r:Exchange]->(b) return r // 创建股票和省市名称关系 MATCH(a: Stock) ,(b: Province) WHERE a.name='安琪酵母' AND b.name='湖北' CREATE (a)-【r:Area】->(b) RETURN r
-
查询节点和关系
cqlmatch(a:variable) where a.name = 'key1' return a // 查询某个股票的节点 match(a:Stock) where a.name = '安琪酵母' return a
-
查询某个标签下所有节点
cql// 查询股票标签下所有节点 match(a:Stock) return a
-
查询两个节点之间的关系
cql// 查询两个具体节点的关系 match(:Stock{name:'安琪酵母'})-[r]->(:Province{name:'湖北'}) return r
-
查询关系的类型
cql// type获取某个节点所有关系的类型 match(:Stock{name:'安琪酵母'})-[r]->() return type(r)
-
删除两个节点的关系
cql// 删除两个节点的关系 match (:Stock{name:'安琪酵母'})-[r]->(:Province{name:'湖北'}) delete r
-
删除某个标签下所有的关系
cql// 删除股票标签下所有的关系 match(:Stock)-[r]->() delete r
-
删除节点
cqlmatch(a:Stock) where a.name = '中科创达' delete a // 删除某个标签下的节点 match(n:Stock) delete n // 删除所有节点 match(n) delete n
-
增加节点属性
CQLmatch(a:Stock) where a.name= '安琪酵母' set a.abbr = 'AQJM' return a
-
删除节点属性
cqlmatch(a:Stock) where a.name='中科创达' remove a.abbr