neo4j

官网下载:
https://neo4j.com/download-center/#community
教程:
http://neo4j.com.cn/public/cypher/default.html
bin下运行neo4j.bat console

在浏览器地址栏里输入http://localhost:7474
默认会跳转到 http://localhost:7474/browser
刚开始时,会弹出登录页面,默认的初始密码是neo4j,登录进去后会让你设置新的密码,设完后进入neo4j管理界面

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-neo4j</artifactId>
</dependency>
spring.data.neo4j.uri=http://localhost:7474
spring.data.neo4j.username=neo4j
spring.data.neo4j.password=123123
@MapperScan("com.fly.Mapper")
@EnableNeo4jRepositories(basePackages = "com.fly.UserDao")
public class SpringDemoApp{
package com.fly.pojo;import org.neo4j.ogm.annotation.GraphId;
import org.neo4j.ogm.annotation.NodeEntity;
import org.neo4j.ogm.annotation.Property;@NodeEntity(label = "User")
public class UserNode {@GraphIdprivate Long nodeId;@Propertyprivate String userId;@Propertyprivate String name;@Propertyprivate String age;public Long getNodeId() {return nodeId;}public void setNodeId(Long nodeId) {this.nodeId = nodeId;}public String getUserId() {return userId;}public void setUserId(String userId) {this.userId = userId;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}
}
package com.fly.pojo;import org.neo4j.ogm.annotation.EndNode;
import org.neo4j.ogm.annotation.GraphId;
import org.neo4j.ogm.annotation.RelationshipEntity;
import org.neo4j.ogm.annotation.StartNode;@RelationshipEntity(type = "UserRelation")
public class UserRelation {@GraphIdprivate Long id;@StartNodeprivate UserNode startNode;@EndNodeprivate UserNode endNode;public Long getId() {return id;}public void setId(Long id) {this.id = id;}public UserNode getStartNode() {return startNode;}public void setStartNode(UserNode startNode) {this.startNode = startNode;}public UserNode getEndNode() {return endNode;}public void setEndNode(UserNode endNode) {this.endNode = endNode;}
}
package com.fly.UserDao;import com.fly.pojo.UserRelation;
import org.springframework.data.neo4j.annotation.Query;
import org.springframework.data.neo4j.repository.GraphRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Component;import java.util.List;@Component
public interface UserRelationRepository extends GraphRepository<UserRelation> {@Query("match p=(n:User)<-[r:UserRelation]->(n1:User) where n.userId={firstUserId} and n1.userId={secondUserId} return p")List<UserRelation> findUserRelationsByEachId(@Param("firstUserId")String firstUserId,@Param("secondUserId")String secondUserId);@Query("match (fu:User),(su:User) where fu.userId={firstUserId} and su.userId={secondUserId} create p=(fu)-[r:UserRelation]->(su) return p")List<UserRelation> addUserRelation(@Param("firstUserId")String firstUserId,@Param("secondUserId")String secondUserId);}
package com.fly.UserDao;import com.fly.pojo.UserNode;
import org.springframework.data.neo4j.annotation.Query;
import org.springframework.data.neo4j.repository.GraphRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Component;import java.util.List;@Component
public interface UserRepository extends GraphRepository<UserNode> {@Query("MATCH (n:User) RETURN n")List<UserNode> getUserNodeList();@Query("create (n:User{age:{age},name:{name}}) RETURN n")List<UserNode> addUserNodeList(@Param("age")String age,@Param("name")String name);@Query("create (n:User{age:{age},name:{name},userId:{userId}}) RETURN n")List<UserNode> addUserNodeList(@Param("age")String age,@Param("name")String name,@Param("userId")String userId);
}
package com.fly.service;import com.fly.UserDao.UserRepository;
import com.fly.pojo.UserNode;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;@Service
public class UserService {@Autowiredprivate UserRepository userRepository;public void addUserNode(UserNode userNode){userRepository.addUserNodeList(userNode.getAge(),userNode.getName());}public List<UserNode> getUserNodeList(){return userRepository.getUserNodeList();}
}
import com.app.SpringDemoApp;
import com.fly.UserDao.UserRelationRepository;
import com.fly.pojo.UserNode;
import com.fly.service.UserService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import java.util.List;@SpringBootTest(classes = SpringDemoApp.class)
@RunWith(SpringJUnit4ClassRunner.class)
public class UserServiceTest {@Autowiredprivate UserService userService;@Autowiredprivate UserRelationRepository userRelationRepository;@Testpublic void test1(){UserNode userNode = new UserNode();userNode.setNodeId(1L);userNode.setUserId("001");userNode.setName("张三儿");userNode.setAge("25");UserNode userNode2 = new UserNode();userNode2.setNodeId(2L);userNode2.setUserId("002");userNode2.setName("李四儿");userNode2.setAge("24");userService.addUserNode(userNode);userService.addUserNode(userNode2);}@Testpublic void test2(){List<UserNode> userNodeList = userService.getUserNodeList();for (UserNode userNode : userNodeList) {System.out.printf(userNode.getUserId());}}@Testpublic void test3(){userRelationRepository.addUserRelation("001","002");}
}

转载于:https://www.cnblogs.com/fly-book/p/11619609.html

12.整合neo4j相关推荐

  1. Spring boot 整合Neo4j 实现动态Cypher

    提到spring boot整合Neo4j,一般都会提到spring-data-neo4j,使用类似于jpa的方式,使用entity去maintain,但是如果想要添加动态关系或者动态的node,就算是 ...

  2. SpringBoot 整合 Neo4j,图数据库 YYDS!

    前一段时间,boss 交给我个任务,让我调研一下知识图谱技术.虽说有点 NLP 的底子,不过研究起这个来还是满头的包,终于还是在搜集了不少资料后划拉出来 50 多页的 PPT. 今天先浅浅的给大家分享 ...

  3. Neo4j的两种方式访问(嵌入式访问、服务器模式访问)-- java客户端连接和SpringBoot整合Neo4j

    一.Neo4j数据库访问 1.Neo4j数据库访问 嵌入式数据库 服务器模式(通过REST的访问) 它是由应用程序的性质(neo4j是独立服务器 还是和程序在一起),性能,监控和数据安全性来决定架构选 ...

  4. Springboot整合Neo4j和Mysql多数据源整合方案及其解决冲突问题方法

    1. 背景 最近数仓系统的元数据分析和任务依赖分析用到Neo4J,原有的后台模块使用了Mysql,需要在同一个模块中同时操作Mysql和Neo4J,整合的方案网上也有不少,感觉别人好像不会有整合的问题 ...

  5. springboot整合 neo4j (OGM+JPA方式操作图数据库)

    首先安装一个neo4j 图数据库 docker 安装neo4j docker run -d -p7474:7474 -p7687:7687 -e NEO4J_AUTH=neo4j/s3cr3t neo ...

  6. SpringBoot 整合 Neo4j

    1.创建测试类 2.集成 SpringBoot 阅读此文之前,必须对 Neo4j 有个初步的了解,如果要实际操作的话,需要自备一个 Neo4j 数据库 本文所涉及代码已开源至 Gitee https: ...

  7. SpringBoot 整合Neo4j

    1. 导入jar包 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...

  8. neo4j图形数据库第七弹——整合vis.js实现数据可视化

    正经学徒,佛系记录,不搞事情 基于上文:https://blog.csdn.net/qq_31748587/article/details/84232352  vis.js的项目 基于上文:https ...

  9. Neo4j ③ 管理员操作, 备份恢复, 调优思路, 程序访问, 嵌入式, 服务器模式, Java 操作 Neo4j, 整合 SpringBoot

    目录 第四部分 Neo4j之Admin管理员操作 4.1 Neo4j - 数据库备份和恢复 4.2 调优思路 1.增加服务器内存 和 调整neo4j配置文件 2.neo4j刚启动数据是冷的需要预热 3 ...

最新文章

  1. 微生物组科学蓬勃发展,5大方向备受行业关注!
  2. django mysql save_python,django,向mysql更新数据时save()报错不能用
  3. LR接口测试---基于http协议之get/post
  4. python写接口自动化需要rsa加密_RSA加密,请问如何用Python实现该加密过程
  5. C#new出来的结构体内存分配在堆上
  6. swoolephp加密_PHP中给源代码加密的几种方法
  7. 工业级光纤收发器如何正确使用和维护?
  8. Object之MemberwiseClone方法
  9. [html] 使用div+css进行布局有什么好处?
  10. HashMap 为什么会导致 CPU 100%?文章看不懂?来看这个视频吧!——面试突击 006 期...
  11. git push origin master 出错
  12. 揭开伟大架构师的秘密
  13. Linux下的C程序如何调用系统命令,并获取系统的输出信息到C程序中
  14. Atitit 人工智能 统计学 机器学习的相似性 一些文摘收集 没有人工智能这门功课,人工智能的本质是统计学和数学,就是通过机器对数据的识别、计算、归纳和学习,然后做出下一步判断和决策的科学
  15. 超级整理术--读后笔记
  16. 计算机软件工程专业研究生大学排名,软件工程研究生院校排名
  17. 龙之气息服务器维修,龙之气息转职NPC位置大全 转职NPC在哪找
  18. 作图,用ECharts就够了
  19. Markdown语法之html内嵌样式
  20. 【201903-1】小中大

热门文章

  1. pycharm中basemap的安装
  2. 计算机专业以后用autocad吗,浅谈计算机专业AutoCAD教学
  3. Android手机病毒“三宗罪”
  4. Android状态栏--实现状态栏全透明
  5. Android音视频分离和合成
  6. mysql数据库中有bond_price_[多选] 下列公允价值层次中,属于第三层输入值的有()。...
  7. 「视频直播技术详解」系列之三:编码和封装
  8. FPGA设计篇之流水线思想
  9. chrome 如何设置Google英文搜索
  10. dt /dt dd /dd dl/dl