码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 知识图谱(Knowledge Graph)- Neo4j 5.10.0 使用 - Java SpringBoot 操作 Neo4j


    合集 - Neo4j(8)
    1.知识图谱(Knowledge Graph)根本概念08-112.知识图谱(Knowledge Graph)- Neo4j 5.10.0 CentOS 安装08-143.知识图谱(Knowledge Graph)- Neo4j 5.10.0 Docker 安装08-154.知识图谱(Knowledge Graph)- Neo4j 5.10.0 使用 - CQL - 太极拳传承谱系表08-165.知识图谱(Knowledge Graph)- Neo4j 5.10.0 Desktop & GraphXR08-176.知识图谱(Knowledge Graph)- Neo4j 5.10.0 Desktop & GraphXR 连接自建数据库08-18
    7.知识图谱(Knowledge Graph)- Neo4j 5.10.0 使用 - Java SpringBoot 操作 Neo4j 08-22
    8. 知识图谱(Knowledge Graph)- Neo4j 5.10.0 使用 - Python 操作08-23
    收起

    上一篇使用了 CQL 实现了太极拳传承谱,这次使用JAVA SpringBoot 实现,只演示获取信息,源码连接在文章最后

    三要素
    在知识图谱中,通过三元组 <实体 × 关系 × 属性> 集合的形式来描述事物之间的关系:

    • 实体:又叫作本体,指客观存在并可相互区别的事物,可以是具体的人、事、物,也可以是抽象的概念或联系,实体是知识图谱中最基本的元素
    • 关系:在知识图谱中,边表示知识图谱中的关系,用来表示不同实体间的某种联系
    • 属性:知识图谱中的实体和关系都可以有各自的属性

    image

    image

    #输入查看数据库连接
    neo4j$ :server status
    

    Spring-Data-Neo4j 和 jpa 非常类似,另外:Neo4jClient 的用法见:https://github.com/neo4j-examples/movies-java-spring-data-neo4j

    添加POM引用

    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>2.7.0version>
        <relativePath/>
    parent>
    
    
    
    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-data-neo4jartifactId>
    dependency>
    

    配置 Neo4j 连接信息:
    application.yml

    server:
      port: 8080
    
    spring:
      profiles:
        active: dev
    
      neo4j:
        uri: neo4j://172.16.3.64:7687
        authentication:
          username: neo4j
          password: password
      data:
        neo4j:
          database: neo4j
    
    logging:
      level:
        org.springframework.data.neo4j: DEBUG
    
    

    实体 PersonNode.java

    package com.vipsoft.web.entity;
    
    import org.springframework.data.neo4j.core.schema.Id;
    import org.springframework.data.neo4j.core.schema.Node;
    import org.springframework.data.neo4j.core.schema.Property;
    
    @Node("Person")
    public class PersonNode {
    
        @Id
        private String name;
    
    
        @Property("generation")     //可以 Neo4j 属性映射
        private String generation;
    
        public PersonNode(String name, String generation) {
            this.name = name;
            this.generation = generation;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getGeneration() {
            return generation;
        }
    
        public void setGeneration(String generation) {
            this.generation = generation;
        }
    }
    

    PersonRepository.java

    package com.vipsoft.web.repository;
    
    import com.vipsoft.web.entity.PersonNode;
    import org.springframework.data.neo4j.repository.query.Query;
    import org.springframework.data.repository.Repository;
    import org.springframework.data.repository.query.Param;
    
    import java.util.List;
    
    /**
     * This repository is indirectly used in the {@code movies.spring.data.neo4j.api.MovieController} via a dedicated movie service.
     * It is not a public interface to indicate that access is either through the rest resources or through the service.
     *
     * @author Michael Hunger
     * @author Mark Angrish
     * @author Michael J. Simons
     */ 
    public interface PersonRepository extends Repository {
    
    	@Query("MATCH (p:Person) WHERE p.name CONTAINS $name RETURN p")
        List findSearchResults(@Param("name") String name);
    }
    
    

    http://localhost:2356/demo/person/陈长兴
    image

    源码地址:https://gitee.com/VipSoft/VipNeo4j/tree/master/Java

  • 相关阅读:
    1024程序员节|基于Springboot实现爱心捐赠管理系统
    安装 Ubuntu 桌面服务与谷歌浏览器
    RSA中PCKS1, PSS and OAEP的区别
    VUE3+mqtt封装,解决多页面使用需重复连接等问题
    C++基础语法——类和对象
    离职单干后才明白怎么做好外贸
    2022 年夏招 Java 面试题,看到必进。
    前端构建但没有更新
    Locust简单使用
    软件设计原则-依赖倒置原则讲解以及代码示例
  • 原文地址:https://www.cnblogs.com/vipsoft/p/17647850.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号