neo4j学习记录
neo4j学习记录
1、neo4j 文章 https://segmentfault.com/a/1190000017911964 https://cloud.tencent.com/developer/article/1526949 http://doc.we-yun.com:1008/we-yun/demo-gxs.html http://doc.we-yun.com:10010/browser/ demo http://dingzhitupu.com/ 2、下载 https://github.com/neo4j/neo4j/releases https://neo4j.com/download-center/ http://we-yun.com/index.php/blog/releases-56.html https://we-yun.com/doc/neo4j-chs-doc/ https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/ http://jdk.java.net/java-se-ri/11 3、安装 https://www.cnblogs.com/april-chen/p/12765686.html https://www.cnblogs.com/jpfss/p/10874303.html https://www.cnblogs.com/zcy9838/p/11619933.html https://www.cnblogs.com/soymilk2019/p/14860299.html 压缩包安装 1、新建NEO4J_HOME = C:\neo4j-community-4.2.2 在path后增加%NEO4J_HOME%\bin JAVA_HOME C:\Program Files\Java\jdk1.8.0_191\ 编辑Path添加%JAVA_HOME%\bin 新建系统环境变量CLASSPATH, 变量值为.;%Java_Home%\bin;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar APOC是基于Neo4j的一个Java存储过程包 2、启动 在命令行中输入 neo4j.bat console 输入命令:neo4j,系统会返回关于neo4j 运行命令的相关指令,通过使用“neo4j <指令名>”的格式就可以运行相关操作了,其中的指令名包括: neo4j stop neo4j restart console:打开Neo4j的控制台。 start:启动Neo4j。 stop:关闭Neo4j。 restart:重启Neo4j。 status:查看Neo4j运行状态。 install-service:安装Neo4j在Windows系统上的服务。 uninstall-service:卸载Neo4j在Windows系统上的服务。 4、访问 端口 允许通过端口Bolt7687,HTTP7474和HTTPS7473访问本机。 在浏览器地址栏里输入http://localhost:7474 默认会跳转到 http://localhost:7474/browser 初始用户名密码:neo4j bolt://localhost:7687 http://192.168.8.248:7474 bolt://192.168.8.248:7687 neo4j huajuntec4j D:\apache-maven-3.3.9\conf\settings.xml D:\apache-maven-3.3.9\repository http://127.0.0.1:12012 5、理论原理 Traversal 在Cypher中,关系分为三种:符号“--”,表示有关系,忽略关系的类型和方向; 符号“-->”和“<--”,表示有方向的关系 Neo4j中不存在表的概念,只有两类: 节点(Node)和关联(Relation), 可以简单理解为图里面的点和边。 在数据查询中,节点一般用小括号(),关联用中括号[]。 当然也隐含路径的概念,是用节点和关联表示的,如: (a)-[r]->(b),表示一条从节点a经关联r到节点b的路径。 节点用小括号“()”来表示,关系用中括号“[]”来表 示,而属性用大括号“{}”来表 () 表示节点 [] 表示关系 {} 表示节点的属性,每个属性通过key:value的形式表示,多个属性之间用逗号隔开 节点 () 表示一个最简单的节点,没有标签和属性。 (:label1) 有一个标签的节点 (:label1:label2:label3) 有多个标签的节点 (:label1 {prop1:value1}) 有一个属性的节点 (:label1 {key1:value1,key2:value2}) 有一个标签和节点 (nodeName:label1 {key1:value1}) 这里可以给node起一个别名,但是,这只是一个别名,和节点本身无关,是一个变量,用于后续语句操作该节点,而不是节点的名字。 关系 -- 无向关系 <--、--> 有向关系 -[:type]-> 表示一个类型为type的关系 -[:type {key1:value1,key2:value2}] 关系也可以有一个或多个属性。 -[rel:type {key1:value1,key2:value2}] 同节点,这里rel只是关系的一个别名而已。 创建关系时必须有方向,关系也必须有且只有一个类型。 5、系列教程 https://www.cnblogs.com/ljhdo/p/5521577.html https://www.cnblogs.com/hwaggLee/p/5950173.htmlml https://www.cnblogs.com/wenruo/p/7850120.html https://www.cnblogs.com/justcooooode/p/8179202.html https://www.cnblogs.com/qindongliang/p/6055285.html 6、关系 https://blog.csdn.net/qq_45503600/article/details/99412349 https://blog.csdn.net/u014365133/article/details/101615152 https://blog.csdn.net/u014365133/article/details/101642752 https://blog.csdn.net/hwz2311245/article/details/54602706 7、应用场景 https://www.jianshu.com/p/44abffe7e204 https://www.percent.cn/Product/znwbfxxt.html http://nimblex.cn/index.php?a=shows&catid=15&id=99 http://www.sinodt.net/product/showproduct.php?id=12&bd_vid=8515503733237905888 百分比 https://www.jianshu.com/p/d5a9fd4c39bd https://www.bsia.org.cn/site/content/6306.html https://www.bilibili.com/video/BV1Bi4y1778E/ https://www.bilibili.com/video/BV13y4y1z78e/?spm_id_from=333.788.videocard.3 大数据产品:渊海知识图谱产品演示视频(字幕版 https://www.bilibili.com/video/BV1qg4y1i7Ur/?spm_id_from=333.788.videocard.10 金融投资知识图谱 https://www.bilibili.com/video/BV17g4y1v76L/?spm_id_from=333.788.videocard.8 http://dingzhitupu.com/ 星环科技知识图谱全场景解决方案 https://www.bilibili.com/video/BV1of4y1m76o/?spm_id_from=333.788.videocard.4 市安科院:构建风险-隐患-事故知识图谱推进城市安全一体化主动防控体系建设 http://yjglj.beijing.gov.cn/art/2020/7/15/art_6058_640686.html 广东省安全生产科学技术研究院基于知识图谱技术的危险化学品安全生产突发事故应急决策系统开发服务项目采购公示 http://yjgl.gd.gov.cn/gkmlpt/content/2/2994/post_2994383.html?jump=false#2476 https://www.hisense-transtech.com.cn/Smart_City/Solution/1076.html http://bas.qianjia.com/html/2020-02/20_361059.html 应急救援知识图谱项目 http://www.nimblex.cn/index.php?a=shows&catid=17&id=98 https://www.percent.cn/Solution/yj.html 应急智能搜索知识服务系统 http://www.bywin.cn/solution/yjgl.htm http://www.disttime.com/article/150/7.html https://www.cnblogs.com/hadoopdev/archive/2004/01/13/10064611.html 8、定制化知识图谱 项目介绍 http://neo4j.com.cn/topic/5f153a49a4477ec754d2b4ea http://dingzhitupu.com/ http://neo4j.com.cn/topic/5e43d6ef5d35814e52e2d25d http://neo4j.com.cn/topic/5d0338a967894c2541913b93 http://neo4j.com.cn/getstart 基于电影知识图谱的智能问答系统 https://blog.csdn.net/appleyk/article/details/80422055 9、开发记录 https://www.huaweicloud.com/product/nlpkg.html http://192.168.8.248:7474 bolt://192.168.8.248:7687 http://192.168.8.202:7474 bolt://192.168.8.202:7687 neo4j://192.168.8.202:7687 neo4j huajuntec4j netstat -aon|findstr "8080" tasklist|findstr "1724" taskkill /f /t /im javaw.exe http://127.0.0.1:8080 10、清空数据库 https://www.cnblogs.com/jpfss/p/11578903.html 11、关系neo4j @Relationship 理解 在哪个类里定义,看关系类型,举例如下人员和电影 在人员类里定义OUTGOING关系,则从人员指向电影 @Relationship(type = "ACTED_IN", direction = Relationship.OUTGOING) public Set<Movie> actors; public void addActor(Movie movie) { if (actors == null) { actors = new HashSet<>(); } actors.add(movie); } @Relationship(type = "DIRECTED", direction = Relationship.OUTGOING) public Set<Movie> directors; public void addDirector(Movie movie) { if (directors == null) { directors = new HashSet<>(); } directors.add(movie); } 在人员类里定义INCOMING关系,则从电影指向人员 @Relationship(type = "ACTED_IN", direction = Relationship.INCOMING) public Set<Movie> actors; public void addActor(Movie movie) { if (actors == null) { actors = new HashSet<>(); } actors.add(movie); } @Relationship(type = "DIRECTED", direction = Relationship.INCOMING) public Set<Movie> directors; public void addDirector(Movie movie) { if (directors == null) { directors = new HashSet<>(); } directors.add(movie); } 12、重要参考 https://github.com/Cpaulyz/CO-IN https://docs.spring.io/spring-data/neo4j/docs/current/reference/html/#reference 很重要 https://neo4j.github.io/sdn-rx/current/#neo4j4.0supportsmultipledatabases-howcaniusethem 很重要 https://github.com/spring-projects/spring-data-neo4j https://spring.io/guides/gs/accessing-data-neo4j/ https://spring.io/guides/gs/accessing-neo4j-data-rest/ https://neo4j-contrib.github.io/ https://blog.csdn.net/qq_43544596/article/details/105386179 https://www.jianshu.com/p/5cef9f723f73 https://developer.aliyun.com/article/724964 https://www.tutorialspoint.com/neo4j/neo4j_spring_data_example.htm http://www.systonsoft.com/article/400876.html vue GraphVis关系图谱 vue使用GraphVis开发无限拓展的关系图谱的实现 https://www.cnblogs.com/zaijin-yang/p/15094290.html https://www.cnblogs.com/bookc/p/9914132.html https://www.cnblogs.com/bookc/p/9952111.html https://www.techwasti.com/neo4j-spring-data-reactive-crud-example/ https://spring.io/guides/gs/accessing-data-neo4j/ https://github.com/spring-guides/gs-accessing-data-neo4j https://blog.csdn.net/qq_33257527/article/details/109710057 https://gitee.com/dalaoyang/springboot_learn/tree/master/springboot2_neo4j https://www.jianshu.com/p/ad85adf4dd3e https://developer.aliyun.com/article/763361 扫描 https://www.codenong.com/cs106122514/ SpringBoot整合Neo4j(SpringBoot+Mybatis+Druid+Neo4j) https://github.com/JavaLionLi/RuoYi-Vue-Plus https://www.baeldung.com/spring-data-neo4j-intro https://www.plantdata.cn/portal/home https://api.9idudu.com/mf/detail?aid=3a7d6vuw&mid=2abbd1754a3ff5b2:1204013&ct=NEWS&tk=3a7d6vuw&cid=d7f3f71f9b0b4717a0b2c28ae1ce829e&origin=nonList&userId=7b326c435b3042a78e330a1a23cadc20ae23c869 https://www.huaweicloud.com/product/nlpkg.html https://support.huaweicloud.com/qs-kg/kg_05_0002.html https://gitee.com/MiraculousWarmHeart https://cloud.tencent.com/developer/article/1523866 https://github.com/ownthink/KnowledgeGraphData https://mediacenter.ibm.com/media/%E7%9F%A5%E8%AF%86%E5%9B%BE%E8%B0%B1%E5%8A%A0%E9%80%9F%E5%B9%B3%E5%8F%B0+%28IKE%29/0_0bp1nrhr/98864382 http://www.dataexa.com/product/sati http://www.dataexa.com/product/insight https://xiaotiandi.github.io/publicBlog/2018-10-09-436b4d47.html ReactiveNeo4jRepository CrudRepository PagingAndSortingRepository epositoryCrudRepositoryPagingAndSortingRepository@RepositoryDefinitionCrudRepositoryCrudRepository interface UserRepository extends CrudRepository<User, Long>, CustomizedUserRepository { GraphRepository // Declare query methods here } Neo4jTemplateReactiveNeo4jTemplate 13、neo4j-apoc org.neo4j.driver.v1.exceptions.ClientException: There is no procedure with the name `apoc.create.node` registered for this database instance. Please ensure you've spelled the procedure name correctly and that the procedure is properly deployed https://www.cnblogs.com/wangymd/p/11271365.html https://github.com/neo4j-contrib/neo4j-apoc-procedures https://neo4j.com/developer/neo4j-apoc/ https://weikeqin.com/2018/04/17/neo4j-apoc-use/ return apoc.version()