neo4j使用


neo4j我这里和分词结合使用

依赖

	 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-neo4j</artifactId>
        </dependency>
        
         <dependency>
            <groupId>org.neo4j</groupId>
            <artifactId>neo4j-ogm-http-driver</artifactId>
        </dependency>
        
        <dependency>
            <groupId>org.neo4j</groupId>
            <artifactId>neo4j-jdbc-driver</artifactId>
            <version>4.0.0</version>
        </dependency>

yml

spring:
  data:
    neo4j:
      uri: http://XXXXXX:7474
      username: XXXX
      password: XXXXX

entity


import lombok.Data;
import org.neo4j.ogm.annotation.GeneratedValue;
import org.neo4j.ogm.annotation.Id;
import org.neo4j.ogm.annotation.NodeEntity;


@NodeEntity
@Data
public class NodeGraph {

    @Id
    @GeneratedValue
    private Long id;

    /**
     * 节点名称
     */
    private String nodename;

    /**
     * 节点类型 无节点类型用0表示
     */
    private  Integer  type ;

    /**
     *  编号唯一的
     */
    private String nodecode;

    private  Boolean isExact =false ;
    /**
     * 系统id
     */
    private  String systemid;

}

查询(只做简单搭建)

复杂语句网上很多

import com.geovis.edu.knowledge.neo4j.entity.NodeGraph;
import org.springframework.data.neo4j.annotation.Query;
import org.springframework.data.neo4j.repository.Neo4jRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Component;
import java.util.List;


@Component
public interface NodeRepository extends Neo4jRepository<NodeGraph, Long> {
//返回List没有泛型
  @Query(value = "match (n) where n.name contains {name} and n.systemid={systemid}  return n ")
    List findAllByLike(@Param("name") String name, @Param("systemid") String systemid);
}

 /**
     * 创建关系
     * @param
     * @return
     */
    @Query("match (fu:Knowledge),(su:Knowledge) where fu.name={firstName} and su.name={secondName} and fu.systemid ={systemid} and su.systemid ={systemid} create p=(fu)-[r:relation]->(su) return p")
    List createRelation(@Param("firstName") String firstName, @Param("secondName") String secondName, @Param("systemid") String systemid);

删除

    @Query("match(n:Knowledge )  where n.systemid ={systemid}  detach   delete  n")
    void deleteAll(@Param("systemid") String systemid);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值