فهرست منبع

add like search for graph

allen 2 سال پیش
والد
کامیت
366ee22c18

+ 2 - 2
kgraph-admin/src/main/resources/application.yml

@@ -59,9 +59,9 @@ spring:
   servlet:
     multipart:
       # 单个文件大小
-      max-file-size:  10MB
+      max-file-size:  10000MB
       # 设置总上传的文件大小
-      max-request-size:  20MB
+      max-request-size:  20000MB
   # 服务模块
   devtools:
     restart:

+ 1 - 1
kgraph-common/src/main/java/com/kgraph/common/utils/file/FileUploadUtils.java

@@ -26,7 +26,7 @@ public class FileUploadUtils
     /**
      * 默认大小 50M
      */
-    public static final long DEFAULT_MAX_SIZE = 50 * 1024 * 1024;
+    public static final long DEFAULT_MAX_SIZE = 1024 * 1024 * 1024;
 
     /**
      * 默认的文件名最大长度 100

+ 7 - 0
kgraph-graph/src/main/java/com/kgraph/graph/neo4j/controller/KgController.java

@@ -77,6 +77,13 @@ public class KgController extends BaseController {
         return AjaxResult.success(graphVO);
     }
 
+    @GetMapping("/getRelationByLikeName")
+    public AjaxResult getRelationByLikeName(String name) {
+        // TODO length 的最大最小值,从数据字典获取
+        GraphVO graphVO = Neo4j2VOUtils.relation2GraphVO(kgService.getRelationByLikeName(name));
+        return AjaxResult.success(graphVO);
+    }
+
     @GetMapping("/getShortestRelationByName")
     public AjaxResult getShortestRelationByName(String firstName, String secondName) {
         GraphVO graphVO = Neo4j2VOUtils.relation2GraphVO(kgService.getShortestRelationByName(firstName, secondName));

+ 4 - 1
kgraph-graph/src/main/java/com/kgraph/graph/neo4j/mapper/RelationRepository.java

@@ -24,7 +24,7 @@ public interface RelationRepository extends Neo4jRepository<Neo4jRelation, Long>
     List<Neo4jRelation> getRelationByNameLength4(@Param("firstName") String firstName, @Param("secondName") String secondName);
     @Query("match data=(e1:Entity{name: $firstName})-[*..5]-(e2:Entity{name: $secondName}) return data")
     List<Neo4jRelation> getRelationByNameLength5(@Param("firstName") String firstName, @Param("secondName") String secondName);
-    @Query("match data=(e1:Entity{name: $firstName})-[*..5]-(e2:Entity{name: $secondName})  where ALL( n1 in nodes(data) where size([n2 in nodes(data) where id(n1) = id(n2)])=1 ) return data")
+    @Query("match data=(e1:Entity{name: $firstName})-[*]-(e2:Entity{name: $secondName})  where ALL( n1 in nodes(data) where size([n2 in nodes(data) where id(n1) = id(n2)])=1 ) return data")
     List<Neo4jRelation> getAllRelationByName(@Param("firstName") String firstName, @Param("secondName") String secondName);
 
     @Query("match data=allshortestpaths((e1:Entity{name: $firstName})-[*]-(e2:Entity{name: $secondName})) return data")
@@ -38,4 +38,7 @@ public interface RelationRepository extends Neo4jRepository<Neo4jRelation, Long>
 
     @Query(value = "match data=(e1:Entity)-[r:Relation{name:$0.name}]->(e2:Entity) return data", countQuery = "match data=(e1:Entity)-[r:Relation{name:$0.name}]->(e2:Entity) return count(data)")
     Page<Neo4jRelation> getPageListByName(RelationDTO dto, PageRequest page);
+
+    @Query("match data=(e1:Entity)-[r:Relation]-(e2:Entity) where e1.name =~ $name and e2.name =~ $name return data")
+    List<Neo4jRelation> getRelationByLikeName(@Param("name") String name);
 }

+ 2 - 0
kgraph-graph/src/main/java/com/kgraph/graph/neo4j/seavice/IKgService.java

@@ -20,4 +20,6 @@ public interface IKgService {
     String question(String question);
 
     String analysis(String question);
+
+    List<Neo4jRelation> getRelationByLikeName(String name);
 }

+ 5 - 0
kgraph-graph/src/main/java/com/kgraph/graph/neo4j/seavice/impl/KgServiceImpl.java

@@ -200,4 +200,9 @@ public class KgServiceImpl implements IKgService {
 
     }
 
+    @Override
+    public List<Neo4jRelation> getRelationByLikeName(String name) {
+        return relationRepository.getRelationByLikeName(".*" + name + ".*");
+    }
+
 }