Browse Source

更新图形数据库后台服务标准接口

MarkHuang 6 năm trước cách đây
mục cha
commit
f3e48d01fc

+ 1 - 1
graphdb/pom.xml

@@ -3,7 +3,7 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
 
-    <groupId>com.diagbot</groupId>
+    <groupId>org.diagbot</groupId>
     <artifactId>graphdb</artifactId>
     <version>0.0.1-SNAPSHOT</version>
     <packaging>jar</packaging>

+ 19 - 0
graphdb/src/main/java/org/diagbot/entity/node/Person.java

@@ -0,0 +1,19 @@
+package org.diagbot.entity.node;
+
+import org.diagbot.entity.node.base.BaseNode;
+import lombok.Getter;
+import lombok.Setter;
+import org.neo4j.ogm.annotation.NodeEntity;
+import org.neo4j.ogm.annotation.Property;
+
+@NodeEntity(label = "Person")
+@Getter
+@Setter
+public class Person extends BaseNode {
+
+    @Property(name = "name")
+    private String name;
+
+    @Property(name = "born")
+    private int born;
+}

+ 4 - 0
graphdb/src/main/java/org/diagbot/entity/node/base/BaseNode.java

@@ -5,6 +5,7 @@ import lombok.Setter;
 import org.neo4j.ogm.annotation.GeneratedValue;
 import org.neo4j.ogm.annotation.Id;
 import org.neo4j.ogm.annotation.Property;
+import org.springframework.web.bind.annotation.PathVariable;
 
 /**
  * @Description: 节点基础类
@@ -20,4 +21,7 @@ public class BaseNode {
 
     @Property(name = "name")
     private String name;
+
+    @Property(name = "label")
+    private String label;
 }

+ 23 - 0
graphdb/src/main/java/org/diagbot/entity/relation/TJ.java

@@ -0,0 +1,23 @@
+package org.diagbot.entity.relation;
+
+
+import org.diagbot.entity.node.Disease;
+import org.diagbot.entity.node.LIS;
+import org.diagbot.entity.relation.base.BaseRelation;
+import lombok.Getter;
+import lombok.Setter;
+import org.neo4j.ogm.annotation.EndNode;
+import org.neo4j.ogm.annotation.RelationshipEntity;
+import org.neo4j.ogm.annotation.StartNode;
+
+@RelationshipEntity(type = "推荐")
+@Getter
+@Setter
+public class TJ extends BaseRelation {
+    @StartNode
+    private Disease startNode;
+
+    @EndNode
+    private LIS endNode;
+
+}

+ 10 - 0
graphdb/src/main/java/org/diagbot/repository/BaseNodeRepository.java

@@ -4,8 +4,18 @@ import org.diagbot.entity.node.base.BaseNode;
 import org.springframework.data.neo4j.annotation.Query;
 import org.springframework.data.neo4j.repository.Neo4jRepository;
 
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Stream;
+
 public interface BaseNodeRepository extends Neo4jRepository<BaseNode, Long> {
     // update Node by Name
     @Query("MATCH (n) WHERE ID(n) = {0} SET n.name = {2} RETURN n")
     BaseNode updateNodeByName(int id, String old_name, String new_name);
+
+    // get All Node
+    @Query("MATCH (n) RETURN n.name as name, LABELS(n) as label")
+    List<Map<String, Object>> getAllNode();
+
+//    Stream<BaseNode> findAllBy();
 }

+ 3 - 0
graphdb/src/main/java/org/diagbot/service/KnowledgeService.java

@@ -35,6 +35,9 @@ public interface KnowledgeService {
     BaseNode updateNodeByName(AmendRelationVo amendRelationVo);
     List<Map<String, Object>> updateRelation(AmendRelationVo amendRelationVo);
 
+    // 获取所有节点
+    List<Map<String, Object>> getAllNode();
+
     // 获取高危疾病列表
     List<Map<String, Object>> findHighRiskDisease(QueryVo queryVo);
 

+ 8 - 0
graphdb/src/main/java/org/diagbot/service/impl/KnowledgeServiceImpl.java

@@ -1,5 +1,6 @@
 package org.diagbot.service.impl;
 
+import org.apache.commons.collections4.IterableUtils;
 import org.diagbot.entity.node.LIS;
 import org.diagbot.entity.node.Symptom;
 import org.diagbot.mapper.KnowledgeMapper;
@@ -21,6 +22,7 @@ import org.springframework.data.domain.Sort;
 import org.springframework.stereotype.Service;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 
 @Service
@@ -168,6 +170,12 @@ public class KnowledgeServiceImpl implements KnowledgeService {
         return path;
     }
 
+    @Override
+    public List<Map<String, Object>> getAllNode() {
+        List<Map<String, Object>> ndlist = baseNodeRepository.getAllNode();
+        return ndlist;
+    }
+
     @Override
     public List<Map<String, Object>> findHighRiskDisease(QueryVo queryVo) {
         List<Map<String, Object>> hrlist = diseaseRepository.findHighRiskDisease(queryVo.getDiseaselist());

+ 6 - 0
graphdb/src/main/java/org/diagbot/web/KnowledgeController.java

@@ -130,6 +130,12 @@ public class KnowledgeController {
         return knowledgeService.updateRelation(amendRelationVo);
     }
 
+    @RequestMapping("/getAllNode")
+    public List<Map<String, Object>> getAllNode() {
+        return knowledgeService.getAllNode();
+    }
+
+
     /**
      * 获取高危疾病列表
      **/