yuchengwei 5 месяцев назад
Родитель
Сommit
e3f63f352a

+ 149 - 4
src/main/java/com/qizhen/healsphere/repository/neo4j/BaseNodeRepository.java

@@ -1,9 +1,154 @@
 package com.qizhen.healsphere.repository.neo4j;
 
-import com.qizhen.healsphere.repository.neo4j.entity.Zz;
-import org.springframework.data.neo4j.repository.Neo4jRepository;
-import org.springframework.data.repository.CrudRepository;
+import org.neo4j.driver.types.Node;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.neo4j.core.Neo4jClient;
+import org.springframework.stereotype.Repository;
 
-public interface BaseNodeRepository extends Neo4jRepository<Zz, Long> {
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Optional;
 
+@Repository
+public class BaseNodeRepository {
+
+    @Autowired
+    private Neo4jClient neo4jClient;
+
+    public BaseNodeRepository(Neo4jClient neo4jClient) {
+        this.neo4jClient = neo4jClient;
+    }
+
+    public Map<String,Object> findNode(String label,String name) {
+        String query = String.format("MATCH (n:`%s`) WHERE n.name = $name RETURN n", label);
+        Optional<Map> optionalMap = neo4jClient.query(query)
+                .bind(name).to("name")
+                .fetchAs(Map.class)
+                .mappedBy((typeSystem, record) -> {
+                    Node node = record.get("n").asNode();
+
+                    Map<String, Object> result = new HashMap<>();
+                    result.put("id", node.id());
+                    result.put("labels", node.labels()); // 获取节点的标签
+                    result.put("properties", node.asMap()); // 获取节点的属性
+
+                    return result;
+                }).one();
+        return (Map<String, Object>) optionalMap.orElse(null);
+
+    }
+
+    public Map<String, Object> createNode(String label, Map<String, Object> properties) {
+        StringBuilder createClause = new StringBuilder();
+        properties.forEach((key, value) -> createClause.append(key).append(": $").append(key).append(", "));
+
+        // 移除最后的逗号
+        if (createClause.length() > 0) {
+            createClause.setLength(createClause.length() - 2);
+        }
+
+        String query = String.format("CREATE (n:`%s` { %s }) RETURN n", label, createClause);
+
+        return (Map<String, Object>)neo4jClient.query(query)
+                .bindAll(properties)
+                .fetchAs(Map.class).mappedBy((typeSystem, record) -> {
+            Node node = record.get("n").asNode();
+
+            Map<String, Object> result = new HashMap<>();
+            result.put("id", node.id());
+            result.put("labels", node.labels()); // 获取节点的标签
+            result.put("properties", node.asMap()); // 获取节点的属性
+
+            return result;
+        }).one().orElse(null);
+    }
+
+    public void updateNode(String label, Long nodeId, Map<String, Object> properties) {
+        StringBuilder setClause = new StringBuilder();
+        properties.forEach((key, value) -> setClause.append("n.").append(key).append(" = $").append(key).append(", "));
+
+        // 移除最后的逗号
+        if (setClause.length() > 0) {
+            setClause.setLength(setClause.length() - 2);
+        }
+
+        String query = String.format("MATCH (n:`%s`) WHERE id(n) = $nodeId SET %s RETURN n", label, setClause);
+
+        neo4jClient.query(query)
+                .bindAll(properties)
+                .bind(nodeId).to("nodeId")
+                .run();
+    }
+
+    public void deleteNode(String label, Long nodeId) {
+        String query = String.format("MATCH (n:`%s`) WHERE id(n) = $nodeId DELETE n", label);
+
+        neo4jClient.query(query)
+                .bind(nodeId).to("nodeId")
+                .run();
+    }
+
+    public void createRelationship(String startLabel, Long startId, String endLabel, Long endId, String relationshipType, Map<String, Object> properties) {
+        StringBuilder setClause = new StringBuilder();
+        properties.forEach((key, value) -> setClause.append("r.").append(key).append(" = $").append(key).append(", "));
+
+        if (setClause.length() > 0) {
+            setClause.setLength(setClause.length() - 2);
+        }
+
+        String query = String.format(
+                "MATCH (a:`%s`), (b:`%s`) WHERE id(a) = $startId AND id(b) = $endId " +
+                        "CREATE (a)-[r:`%s`]->(b) " +
+                        "SET %s RETURN r",
+                startLabel, endLabel, relationshipType, setClause
+        );
+
+        neo4jClient.query(query)
+                .bind(startId).to("startId")
+                .bind(endId).to("endId")
+                .bindAll(properties)
+                .run();
+    }
+
+    public void deleteRelationship(String startLabel, Long startId, String endLabel, Long endId, String relationshipType) {
+        String query = String.format(
+                "MATCH (a:`%s`)-[r:`%s`]->(b:`%s`) WHERE id(a) = $startId AND id(b) = $endId DELETE r",
+                startLabel, relationshipType, endLabel
+        );
+
+        neo4jClient.query(query)
+                .bind(startId).to("startId")
+                .bind(endId).to("endId")
+                .run();
+    }
+
+
+
+
+
+//    public List<Map<String, Object>> findByDynamicLabel(String label) {
+//        // 动态拼接 Cypher 查询字符串
+//        String query = "MATCH (n:`" + label + "`) RETURN n";
+//
+//        // 执行查询,返回结果
+//        return session.query(query, Map.of()).queryResults();
+//    }
+
+
+
+
+//    @Query("MATCH (n:`{0}`) RETURN n")
+//    List<BaseNode> findByDynamicLabel(@Param("0") String label);
+//
+//    @Transactional
+//    @Query("CREATE (n:`{0}` {props}) RETURN n")
+//    BaseNode createNodeWithDynamicLabel(@Param("0") String label, @Param("props") Map<String, Object> properties);
+//
+//    @Transactional
+//    @Query("MATCH (n:`{0}`) WHERE id(n) = {1} SET n += {props} RETURN n")
+//    BaseNode updateNodeWithDynamicLabel(@Param("0") String label, @Param("1") Long nodeId, @Param("props") Map<String, Object> properties);
+//
+//    @Transactional
+//    @Query("MATCH (n:`{0}`) WHERE id(n) = {1} DELETE n")
+//    void deleteNodeWithDynamicLabel(@Param("0") String label, @Param("1") Long nodeId);
 }

+ 9 - 0
src/main/java/com/qizhen/healsphere/service/BaseNodeService.java

@@ -0,0 +1,9 @@
+package com.qizhen.healsphere.service;
+
+import java.util.Map;
+
+public interface BaseNodeService {
+
+
+    public Map<String,Object> findNode(String label, String name);
+}

+ 20 - 0
src/main/java/com/qizhen/healsphere/service/impl/BaseNodeServiceImpl.java

@@ -0,0 +1,20 @@
+package com.qizhen.healsphere.service.impl;
+
+import com.qizhen.healsphere.repository.neo4j.BaseNodeRepository;
+import com.qizhen.healsphere.service.BaseNodeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+@Service
+public class BaseNodeServiceImpl implements BaseNodeService {
+
+    @Autowired
+    BaseNodeRepository nodeRepository;
+
+    @Override
+    public Map<String, Object> findNode(String label, String name) {
+        return nodeRepository.findNode(label, name);
+    }
+}

+ 27 - 0
src/main/java/com/qizhen/healsphere/web/BaseNodeController.java

@@ -0,0 +1,27 @@
+package com.qizhen.healsphere.web;
+
+import com.qizhen.healsphere.service.BaseNodeService;
+import com.qizhen.healsphere.web.dto.RespDTO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+@Controller
+@RequestMapping("/base")
+public class BaseNodeController {
+
+    @Autowired
+    BaseNodeService baseNodeService;
+
+    @RequestMapping(value = "/findNode",method = RequestMethod.GET)
+    @ResponseBody
+    public RespDTO<Map<String,Object>> findNode(@RequestParam("label") String label,@RequestParam("name") String name) {
+
+        Map<String, Object> node = baseNodeService.findNode(label, name);
+        return RespDTO.onSuc(node);
+    }
+
+
+}

+ 36 - 338
src/test/java/com/qizhen/healsphere/DiseaseTests.java

@@ -1,385 +1,83 @@
 package com.qizhen.healsphere;
 
-import cn.hutool.json.JSONArray;
-import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
-import com.qizhen.healsphere.repository.neo4j.*;
-import com.qizhen.healsphere.repository.neo4j.entity.*;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.ss.usermodel.Workbook;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import com.qizhen.healsphere.repository.neo4j.BaseNodeRepository;
 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.context.annotation.ComponentScan;
-import org.springframework.data.neo4j.core.Neo4jTemplate;
-import org.springframework.stereotype.Component;
 import org.springframework.test.context.junit4.SpringRunner;
 
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-import java.util.HashSet;
-import java.util.Set;
+import java.util.HashMap;
+import java.util.Map;
 
 @RunWith(SpringRunner.class)
 @ComponentScan(basePackages = {"com.qizhen.healsphere.model","com.qizhen.healsphere.repository"})
 @SpringBootTest
 public class DiseaseTests {
-    @Autowired(required = false)
-    DiseaseRepository diseaseRepository;
-    @Autowired(required = false)
-    ZbyyRepository zbyyRepository;
-    @Autowired(required = false)
-    ZczzbfbzRepository zczzbfbzRepository;
-    @Autowired(required = false)
-    ZdbzRepository zdbzRepository;
-    @Autowired(required = false)
-    ZdxgjcRepository zdxgjcRepository;
-    @Autowired(required = false)
-    ZlcsRepository zlcsRepository;
-    @Autowired(required = false)
-    ZlczRepository zlczRepository;
-    @Autowired(required = false)
-    ZlfaRepository zlfaRepository;
-    @Autowired(required = false)
-    ZlfsRepository zlfsRepository;
-    @Autowired(required = false)
-    ZlmbRepository zlmbRepository;
-    @Autowired(required = false)
-    ZlqxRepository zlqxRepository;
-    @Autowired(required = false)
-    ZlRepository zlRepository;
-    @Autowired(required = false)
-    ZlxgjcRepository zlxgjcRepository;
-    @Autowired(required = false)
-    ZlyjRepository zlyjRepository;
-    @Autowired(required = false)
-    ZlywRepository zlywRepository;
-    @Autowired(required = false)
-    ZlyzRepository zlyzRepository;
-    @Autowired(required = false)
-    ZzRepository zzRepository;
-
     @Autowired
-    Neo4jTemplate neo4jTemplate;
+    BaseNodeRepository baseNodeRepository;
 
 
     @Test
     public void contextLoads() {}
 
     @Test
-    public void testSaveDiseaseFromExcel() {
-
-        String urlExcelPath = "D:\\neo4j需要处理的数据\\心血管科.xlsx"; // 包含URL的Excel文件路径
-        // 读取URL并检查文章内容
-        try (InputStream urlInputStream = Files.newInputStream(Paths.get(urlExcelPath))) {
-            Workbook urlWorkbook = new XSSFWorkbook(urlInputStream);
-            Sheet urlSheet = urlWorkbook.getSheetAt(0);
-
-            // 创建新列来存储包含的疾病名称和ID
-            for (int rowNum = 1; rowNum <= urlSheet.getLastRowNum(); rowNum++) {
-//                if (rowNum != 17){
-//                    continue;
-//                }
-                Row row = urlSheet.getRow(rowNum);
-                String diseaseName = row.getCell(0).getStringCellValue().trim();
-
-                String propertyName = row.getCell(1).getStringCellValue().trim();
-                String propertyValue = row.getCell(2).getStringCellValue().replace("\\","").trim();
-                String icd10Value = row.getCell(4).getStringCellValue().trim();
-
-                try {
-                    JSONArray jsonArray = new JSONArray(icd10Value);
-                    JSONObject icd10Obj = JSONUtil.parseObj(jsonArray.get(0));
-
-                    Disease disease = diseaseRepository.findByName(diseaseName);
-                    if (disease == null) {
-                        disease = new Disease(diseaseName,icd10Obj.getStr("code"));
-                    }
-
-                    if ("诊疗操作".equals(propertyName)) {
-                        Set<Zlcz> zlczSet = new HashSet<>();
-                        JSONArray propertyArray = new JSONArray(propertyValue);
-                        for (Object object : propertyArray) {
-                            JSONObject zlczObj = JSONUtil.parseObj(object);
-                            Zlcz zlcz = new Zlcz(zlczObj.getStr("name"),zlczObj.getStr("description"));
-                            zlczSet.add(zlcz);
-                            disease.addZlcz(zlcz);
-                        }
-                        zlczRepository.saveAll(zlczSet);
-                    }
-
-                    if ("治疗方案".equals(propertyName)) {
-                        Set<Zlfa> zlfaSet = new HashSet<>();
-                        JSONArray propertyArray = new JSONArray(propertyValue);
-                        for (Object object : propertyArray) {
-                            JSONObject zlfaObj = JSONUtil.parseObj(object);
-                            Zlfa zlfa = new Zlfa(zlfaObj.getStr("name"),zlfaObj.getStr("description"));
-                            zlfaSet.add(zlfa);
-                            disease.addZlfa(zlfa);
-                        }
-                        zlfaRepository.saveAll(zlfaSet);
-                    }
-
-                    if ("诊断标准".equals(propertyName)) {
-                        Set<Zdbz> zdbzSet = new HashSet<>();
-                        JSONArray propertyArray = new JSONArray(propertyValue);
-                        for (Object object : propertyArray) {
-                            JSONObject zdbzObj = JSONUtil.parseObj(object);
-                            Zdbz zdbz = new Zdbz(zdbzObj.getStr("name"),zdbzObj.getStr("description"));
-                            zdbzSet.add(zdbz);
-                            disease.addZdbz(zdbz);
-                        }
-                        zdbzRepository.saveAll(zdbzSet);
-                    }
-
-                    if ("治疗目标".equals(propertyName)) {
-                        Set<Zlmb> zlmbSet = new HashSet<>();
-                        JSONArray propertyArray = new JSONArray(propertyValue);
-                        for (Object object : propertyArray) {
-                            JSONObject zlmbObj = JSONUtil.parseObj(object);
-                            Zlmb zlmb = new Zlmb(zlmbObj.getStr("name"),zlmbObj.getStr("description"));
-                            zlmbSet.add(zlmb);
-                            disease.addZlmb(zlmb);
-                        }
-                        zlmbRepository.saveAll(zlmbSet);
-                    }
-
-                    if ("治疗方式".equals(propertyName)) {
-                        Set<Zlfs> zlfsSet = new HashSet<>();
-                        JSONArray propertyArray = new JSONArray(propertyValue);
-                        for (Object object : propertyArray) {
-                            JSONObject zlfsObj = JSONUtil.parseObj(object);
-                            Zlfs zlfs = new Zlfs(zlfsObj.getStr("name"),zlfsObj.getStr("description"));
-                            zlfsSet.add(zlfs);
-                            disease.addZlfs(zlfs);
-                        }
-                        zlfsRepository.saveAll(zlfsSet);
-                    }
-
-                    if ("治疗相关检查".equals(propertyName)) {
-                        Set<Zlxgjc> zlxhjcSet = new HashSet<>();
-                        JSONArray propertyArray = new JSONArray(propertyValue);
-                        for (Object object : propertyArray) {
-                            JSONObject zlxgjcObj = JSONUtil.parseObj(object);
-                            Zlxgjc zlxgjc = new Zlxgjc(zlxgjcObj.getStr("name"),zlxgjcObj.getStr("description"));
-                            zlxhjcSet.add(zlxgjc);
-                            disease.addZlxgjc(zlxgjc);
-                        }
-                        zlxgjcRepository.saveAll(zlxhjcSet);
-                    }
-
-                    if ("致病原因".equals(propertyName)) {
-                        Set<Zbyy> zbyySet = new HashSet<>();
-                        JSONArray propertyArray = new JSONArray(propertyValue);
-                        for (Object object : propertyArray) {
-                            JSONObject zbyyObj = JSONUtil.parseObj(object);
-                            Zbyy zbyy = new Zbyy(zbyyObj.getStr("name"),zbyyObj.getStr("description"));
-                            zbyySet.add(zbyy);
-                            disease.addZbyy(zbyy);
-                        }
-                        zbyyRepository.saveAll(zbyySet);
-                    }
-
-                    if ("治疗原则".equals(propertyName)) {
-                        Set<Zlyz> zlyzSet = new HashSet<>();
-                        JSONArray propertyArray = new JSONArray(propertyValue);
-                        for (Object object : propertyArray) {
-                            JSONObject zlyzObj = JSONUtil.parseObj(object);
-                            Zlyz zlyz = new Zlyz(zlyzObj.getStr("name"),zlyzObj.getStr("description"));
-                            zlyzSet.add(zlyz);
-                            disease.addZlyz(zlyz);
-                        }
-                        zlyzRepository.saveAll(zlyzSet);
-                    }
-
-                    if ("诊疗依据".equals(propertyName)) {
-                        Set<Zlyj> zlyjSet = new HashSet<>();
-                        JSONArray propertyArray = new JSONArray(propertyValue);
-                        for (Object object : propertyArray) {
-                            JSONObject zlyjObj = JSONUtil.parseObj(object);
-                            Zlyj zlyj = new Zlyj(zlyjObj.getStr("name"),zlyjObj.getStr("description"));
-                            zlyjSet.add(zlyj);
-                            disease.addZlyj(zlyj);
-                        }
-                        zlyjRepository.saveAll(zlyjSet);
-                    }
-
-                    if ("治疗场所".equals(propertyName)) {
-                        Set<Zlcs> zlcsSet = new HashSet<>();
-                        JSONArray propertyArray = new JSONArray(propertyValue);
-                        for (Object object : propertyArray) {
-                            JSONObject zlcsObj = JSONUtil.parseObj(object);
-                            Zlcs zlcs = new Zlcs(zlcsObj.getStr("name"),zlcsObj.getStr("description"));
-                            zlcsSet.add(zlcs);
-                            disease.addZlcs(zlcs);
-                        }
-                        zlcsRepository.saveAll(zlcsSet);
-                    }
+    public void testCrudNodeDemo() {
 
-                    if ("子类".equals(propertyName)) {
-                        Set<Zl> zlSet = new HashSet<>();
-                        JSONArray propertyArray = new JSONArray(propertyValue);
-                        for (Object object : propertyArray) {
-                            JSONObject zlObj = JSONUtil.parseObj(object);
-                            Zl zl = new Zl(zlObj.getStr("name"),zlObj.getStr("description"));
-                            zlSet.add(zl);
-                            disease.addZl(zl);
-                        }
-                        zlRepository.saveAll(zlSet);
-                    }
+        Map<String,Object> map = new HashMap<>();
+        map.put("name","糖尿病");
+        map.put("desc","这属于一种慢性病,尿液含糖量高");
+        map.put("诱因","吃的糖太多了");
+        map.put("治疗方式","打胰岛素");
+        String label = "疾病名称";
+        Map<String, Object> node = baseNodeRepository.createNode(label, map);
+        System.out.println(JSONUtil.toJsonStr(node));
 
-                    if ("治疗器械".equals(propertyName)) {
-                        Set<Zlqx> zlqxSet = new HashSet<>();
-                        JSONArray propertyArray = new JSONArray(propertyValue);
-                        for (Object object : propertyArray) {
-                            JSONObject zlqxObj = JSONUtil.parseObj(object);
-                            Zlqx zlqx = new Zlqx(zlqxObj.getStr("name"),zlqxObj.getStr("description"));
-                            zlqxSet.add(zlqx);
-                            disease.addZlqx(zlqx);
-                        }
-                        zlqxRepository.saveAll(zlqxSet);
-                    }
+        Map<String,Object> map1 = new HashMap<>();
+        map1.put("name","尿液泡沫多");
+        map1.put("desc","常见于肾脏不好的患者");
+        String label1 = "主要症状";
+        Map<String, Object> node1 = baseNodeRepository.createNode(label1, map1);
+        System.out.println(JSONUtil.toJsonStr(node1));
 
-                    if ("治疗药物".equals(propertyName)) {
-                        Set<Zlyw> zlywSet = new HashSet<>();
-                        JSONArray propertyArray = new JSONArray(propertyValue);
-                        for (Object object : propertyArray) {
-                            JSONObject zlywObj = JSONUtil.parseObj(object);
-                            Zlyw zlyw = new Zlyw(zlywObj.getStr("name"),zlywObj.getStr("description"));
-                            zlywSet.add(zlyw);
-                            disease.addZlyw(zlyw);
-                        }
-                        zlywRepository.saveAll(zlywSet);
-                    }
+//        Map<String,Object> list = baseNodeRepository.findNode(label, "糖尿病");
+//        System.out.println(JSONUtil.toJsonStr(list));
 
-                    if ("转出重症病房标准".equals(propertyName)) {
-                        Set<Zczzbfbz> zczzbfbzSet = new HashSet<>();
-                        JSONArray propertyArray = new JSONArray(propertyValue);
-                        for (Object object : propertyArray) {
-                            JSONObject zczzbfbzObj = JSONUtil.parseObj(object);
-                            Zczzbfbz zczzbfbz = new Zczzbfbz(zczzbfbzObj.getStr("name"),zczzbfbzObj.getStr("description"));
-                            zczzbfbzSet.add(zczzbfbz);
-                            disease.addZczzbfbz(zczzbfbz);
-                        }
-                        zczzbfbzRepository.saveAll(zczzbfbzSet);
-                    }
+//        Long id = 24L;
+//        baseNodeRepository.updateNode(label,id,map);
 
-                    if ("诊断相关检查".equals(propertyName)) {
-                        Set<Zdxgjc> zdxgjcSet = new HashSet<>();
-                        JSONArray propertyArray = new JSONArray(propertyValue);
-                        for (Object object : propertyArray) {
-                            JSONObject zdxgjcObj = JSONUtil.parseObj(object);
-                            Zdxgjc zdxgjc = new Zdxgjc(zdxgjcObj.getStr("name"),zdxgjcObj.getStr("description"));
-                            zdxgjcSet.add(zdxgjc);
-                            disease.addZdxgjc(zdxgjc);
-                        }
-                        zdxgjcRepository.saveAll(zdxgjcSet);
-                    }
+//        list = baseNodeRepository.findNode(label, "糖尿病");
+//        System.out.println(JSONUtil.toJsonStr(list));
 
-                    if ("症状".equals(propertyName)) {
-                        Set<Zz> zzSet = new HashSet<>();
-                        JSONArray propertyArray = new JSONArray(propertyValue);
-                        for (Object object : propertyArray) {
-                            JSONObject zzObj = JSONUtil.parseObj(object);
-                            Zz zz = new Zz(zzObj.getStr("name"),zzObj.getStr("description"));
-                            zzSet.add(zz);
-                            disease.addZz(zz);
-                        }
-                        zzRepository.saveAll(zzSet);
-                    }
-                    diseaseRepository.save(disease);
-                }catch (Exception e){
-                    System.out.println("当前内容处理报错,行号:" + rowNum + ",diseaseName=" + diseaseName + ",propertyName="+propertyName+",propertyValue="+propertyValue+",icd10Value="+icd10Value);
-                    e.printStackTrace();
-                    continue;
-                }
-            }
+//        baseNodeRepository.deleteNode(label,id);
 
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-
-    }
-
-    @Test
-    public void deleteAll() {
-
-        // 调用各个Repository的deleteAll方法
-        diseaseRepository.deleteAll();
-        zbyyRepository.deleteAll();
-        zczzbfbzRepository.deleteAll();
-        zdbzRepository.deleteAll();
-        zdxgjcRepository.deleteAll();
-        zlcsRepository.deleteAll();
-        zlczRepository.deleteAll();
-        zlfaRepository.deleteAll();
-        zlfsRepository.deleteAll();
-        zlmbRepository.deleteAll();
-        zlqxRepository.deleteAll();
-        zlRepository.deleteAll();
-        zlxgjcRepository.deleteAll();
-        zlyjRepository.deleteAll();
-        zlywRepository.deleteAll();
-        zlyzRepository.deleteAll();
-        zzRepository.deleteAll();
-        System.out.println("所有数据删除成功!");
-
-
-    }
 
 
-    @Test
-    public void testSaveDisease() {
-
-        diseaseRepository.deleteAll();
-        Disease disease = new Disease("高血压","l10");
-
-        diseaseRepository.save(disease);
-
     }
 
     @Test
-    public void testSaveZz() {
+    public void testCrudRelationshipDemo() {
 
-//        diseaseRepository.deleteAll();
-        Zz zz1 = new Zz("头晕","111");
-        Zz zz2 = new Zz("目眩","112");
+        String startLabel = "疾病名称";
+        Long startId = 1L;
 
-        zzRepository.save(zz1);
-        zzRepository.save(zz2);
+        String endLabel = "主要症状";
+        Long endId = 2L;
 
-        Disease disease = diseaseRepository.findByName("高血压");
-        disease.addZz(zz1);
-        disease.addZz(zz2);
-        diseaseRepository.save(disease);
+        String relationShipType = "疾病相关主要症状";
 
-    }
+        Map<String,Object> map = new HashMap<>();
 
-    @Test
-    public void testSaveZdbz() {
+        map.put("描述","这是疾病和症状的关系");
 
-        Zdbz zz1 = new Zdbz("收缩压和舒张压标准","收缩压(高压)≥140mmHg,或舒张压(低压)≥90mmHg");
-        Zdbz zz2 = new Zdbz("药物影响","患者在服用降压药物后,虽然血压可能会降至正常范围,但仍应诊断为高血压");
 
-        zdbzRepository.save(zz1);
-        zdbzRepository.save(zz2);
+//        baseNodeRepository.createRelationship(startLabel,startId,endLabel,endId,relationShipType,map);
 
-        Disease disease = diseaseRepository.findByName("高血压");
-        disease.addZdbz(zz1);
-        disease.addZdbz(zz2);
-        diseaseRepository.save(disease);
 
-    }
+        baseNodeRepository.deleteRelationship(startLabel,startId,endLabel,endId,relationShipType);
 
-    @Test
-    public void testFindDisease() {
-        Disease disease = diseaseRepository.findByName("高血压");
-        System.out.println(JSONUtil.toJsonStr(disease));
 
     }