CN114385864A - Graph searching method, device, equipment and storage medium - Google Patents

Graph searching method, device, equipment and storage medium Download PDF

Info

Publication number
CN114385864A
CN114385864A CN202111627096.0A CN202111627096A CN114385864A CN 114385864 A CN114385864 A CN 114385864A CN 202111627096 A CN202111627096 A CN 202111627096A CN 114385864 A CN114385864 A CN 114385864A
Authority
CN
China
Prior art keywords
vertex
search
graph
layer number
reverse
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111627096.0A
Other languages
Chinese (zh)
Inventor
崖飞虎
周可
邸帅
卢道和
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WeBank Co Ltd
Original Assignee
WeBank Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN202111627096.0A priority Critical patent/CN114385864A/en
Publication of CN114385864A publication Critical patent/CN114385864A/en
Priority to PCT/CN2022/119014 priority patent/WO2023124253A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9038Presentation of query results

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The application provides a graph searching method, a graph searching device, graph searching equipment and a storage medium, wherein the method comprises the following steps: receiving a search vertex and a selected search mode input at a search entry of a front-end page; wherein, the searching vertex is a point in the directed acyclic graph; determining an adaptation algorithm corresponding to the search mode, executing the adaptation algorithm, and searching based on the search vertex to obtain a search result; and displaying the search result through the visual plug-in.

Description

Graph searching method, device, equipment and storage medium
Technical Field
The embodiment of the application relates to the technical field of data processing of financial technology (Fintech), and relates to but is not limited to a graph searching method, a graph searching device, graph searching equipment and a storage medium.
Background
With the development of computer computing, more and more technologies are applied in the financial field, and the traditional financial industry is gradually changing to financial technology (Fintech), but higher requirements are also put forward on the technologies due to the requirements of the financial industry on safety and real-time performance.
In the field of financial science and technology, enterprises have various graph searching scenes, such as data relationship search, application relationship search and the like, generally, graph model data volume of the enterprises is very huge, at present, complex graph searching can only be realized through a back-end offline algorithm, and a real-time returning and visual graph display scheme does not exist.
Disclosure of Invention
The embodiment of the application provides a graph searching method, a graph searching device, graph searching equipment and a storage medium, and aims to solve the problems that complex graph searching in the related art can only be realized through a back-end offline algorithm and a real-time returning and visual graph display scheme does not exist.
The technical scheme of the embodiment of the application is realized as follows:
the embodiment of the application provides a graph searching method, which comprises the following steps:
receiving a search vertex and a selected search mode input at a search entry of a front-end page; wherein the search vertex is a point in a directed acyclic graph;
determining an adaptation algorithm corresponding to the search mode, executing the adaptation algorithm, and searching based on the search vertex to obtain a search result;
and displaying the search result through a visual plug-in.
An embodiment of the present application provides a graph search apparatus, including:
the display module is used for displaying the search entry of the front-end page;
the receiving module is used for receiving the search vertex input at the search entrance and the selected search mode; wherein the search vertex is a point in a directed acyclic graph;
the processing module is used for determining an adaptation algorithm corresponding to the search mode and executing the adaptation algorithm to search based on the search vertex to obtain a search result;
and the display module is used for displaying the search result through a visual plug-in.
An embodiment of the present application provides a graph search device, including:
a memory for storing executable instructions; a processor, when executing executable instructions stored in the memory, implements the method described above.
The embodiment of the application provides a storage medium, which stores executable instructions and is used for causing a processor to implement the method when executed.
The embodiment of the application has the following beneficial effects:
receiving a search vertex and a selected search mode input at a search entry of a front page; wherein, the searching vertex is a point in the directed acyclic graph; determining an adaptation algorithm corresponding to the search mode, executing the adaptation algorithm, and searching based on the search vertex to obtain a search result; and displaying the search result through the visual plug-in. The method solves the problems that the complex search of the graph in the related technology can only be realized through a back-end off-line algorithm and does not have a real-time return and visual graph display scheme, and supports a whole set of scheme of On-line Analytical Processing (OLAP) complex scene search of a super-large scale data set and visual display of various graph models.
Drawings
FIG. 1 is an alternative architecture diagram of a server provided by an embodiment of the present application;
FIG. 2 is a first flowchart illustrating a graph searching method according to an embodiment of the present disclosure;
FIG. 3 is a schematic diagram of an architecture of a graph visualization analysis system provided by an embodiment of the present application;
fig. 4 is a flowchart illustrating a second graph searching method according to an embodiment of the present application;
FIG. 5 is a diagram of a directed acyclic graph G and a graph of interval labels of vertices provided in an embodiment of the present application;
fig. 6 is a schematic diagram of forward and reverse extent layers and forward and reverse topology layers of a directed acyclic graph G and vertices provided in the embodiment of the present application.
Detailed Description
In order to make the objectives, technical solutions and advantages of the present application clearer, the present application will be described in further detail with reference to the attached drawings, the described embodiments should not be considered as limiting the present application, and all other embodiments obtained by a person of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
In the following description, reference is made to "some embodiments" which describe a subset of all possible embodiments, but it is understood that "some embodiments" may be the same subset or different subsets of all possible embodiments, and may be combined with each other without conflict. Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiments of the present application belong. The terminology used in the embodiments of the present application is for the purpose of describing the embodiments of the present application only and is not intended to be limiting of the present application.
An exemplary application of the graph search device provided in the embodiment of the present application is described below, and the graph search device provided in the embodiment of the present application may be implemented as any terminal having an on-screen display function, such as a notebook computer, a tablet computer, a desktop computer, a mobile device (e.g., a mobile phone, a portable music player, a personal digital assistant, a dedicated messaging device, a portable game device), an intelligent robot, or may be implemented as a server. Next, an exemplary application when the graph search device is implemented as a server will be explained.
Referring to fig. 1, fig. 1 is a schematic structural diagram of a server 100 provided in an embodiment of the present application, where the server 100 shown in fig. 1 includes: at least one processor 110, at least one network interface 120, a user interface 130, and memory 150. The various components in server 100 are coupled together by a bus system 140. It is understood that the bus system 140 is used to enable connected communication between these components. The bus system 140 includes a power bus, a control bus, and a status signal bus in addition to a data bus. For clarity of illustration, however, the various buses are labeled as bus system 140 in fig. 1.
The Processor 110 may be an integrated circuit chip having Signal processing capabilities, such as a general purpose Processor, a Digital Signal Processor (DSP), or other programmable logic device, discrete gate or transistor logic device, discrete hardware components, or the like, wherein the general purpose Processor may be a microprocessor or any conventional Processor, or the like.
The user interface 130 includes one or more output devices 131, including one or more speakers and/or one or more visual display screens, that enable the presentation of media content. The user interface 130 also includes one or more input devices 132 including user interface components that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, other input buttons and controls.
The memory 150 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid state memory, hard disk drives, optical disk drives, and the like. Memory 150 optionally includes one or more storage devices physically located remotely from processor 110. The memory 150 includes volatile memory or nonvolatile memory, and may include both volatile and nonvolatile memory. The nonvolatile Memory may be a Read Only Memory (ROM), and the volatile Memory may be a Random Access Memory (RAM). The memory 150 described in embodiments herein is intended to comprise any suitable type of memory. In some embodiments, memory 150 is capable of storing data to support various operations, examples of which include programs, modules, and data structures, or subsets or supersets thereof, as exemplified below.
An operating system 151 including system programs for processing various basic system services and performing hardware-related tasks, such as a framework layer, a core library layer, a driver layer, etc., for implementing various basic services and processing hardware-based tasks;
a network communication module 152 for communicating to other computing devices via one or more (wired or wireless) network interfaces 120, exemplary network interfaces 120 including: bluetooth, wireless-compatibility authentication (Wi-Fi), and Universal Serial Bus (USB), etc.;
an input processing module 153 for detecting one or more user inputs or interactions from one of the one or more input devices 132 and translating the detected inputs or interactions.
In some embodiments, the apparatus provided by the embodiments of the present application may be implemented in software, fig. 1 shows a graph search apparatus 154 stored in the memory 150, and the graph search apparatus 154 may be a graph search apparatus in the server 100, which may be software in the form of programs and plug-ins, and includes the following software modules: display module 1541, receiving module 1542, processing module 1543, which are logical and thus can be arbitrarily combined or further divided according to the functions implemented. The functions of the respective modules will be explained below.
In other embodiments, the apparatus provided in the embodiments of the present Application may be implemented in hardware, and for example, the apparatus provided in the embodiments of the present Application may be a processor in the form of a hardware decoding processor, which is programmed to execute the graph search method provided in the embodiments of the present Application, for example, the processor in the form of the hardware decoding processor may be one or more Application Specific Integrated Circuits (ASICs), DSPs, Programmable Logic Devices (PLDs), Complex Programmable Logic Devices (CPLDs), Field-Programmable Gate arrays (FPGAs), or other electronic components.
The graph search method provided by the embodiment of the present application will be described below in conjunction with an exemplary application and implementation of the server 100 provided by the embodiment of the present application. Referring to fig. 2, fig. 2 is an alternative flow chart diagram of a graph searching method provided in the embodiment of the present application, which will be described in conjunction with the steps shown in fig. 2,
in step S201, a search vertex and a selected search pattern input at a search entry of a front page are received.
Wherein the search vertex is a point in the directed acyclic graph.
In this embodiment of the present application, a Directed Acyclic Graph (DAG) is a data set composed of vertices and edges, where a vertex represents an entity and an edge represents a relationship between the entities, where G ═ V, E represents a Directed acyclic graph, V represents a set of vertices in a graph G, and E represents a set of edges in a graph G.
In the embodiment of the application, in the searching process, the number of input searching vertexes is greater than or equal to 1. Under the condition that the number of the search vertexes is multiple, the search mode comprises a mode corresponding to reachability analysis and a mode corresponding to path search between two points; in the case where the number of search vertices is single, the search pattern includes a pattern corresponding to a K-step search using a single search vertex as a specific vertex. Wherein, the accessibility means: any two vertices u and v in the figure indicate that vertex u can reach vertex v if there is a path from u to v. The path refers to: one path from vertex u to vertex v is a sequence of vertices (u, u1, …, v) starting from vertex u, and ending from vertex u to vertex v.
In the embodiment of the application, in the searching process, the graph database used for the query and the graph model storage may be an open-source distributed graph database, such as a nebuligraph, which supports millisecond-level query of a very large-scale data set. When searching is carried out at a search entry of a front-end page, the search can be realized by a search engine of the front-end page, and the search engine can be a distributed full-text search engine, such as an elastic search engine, and supports word segmentation, indexing and quick retrieval of mass data.
In practical application, enterprises have various scenarios of graph search, including but not limited to data lineage search and application lineage search. In the face of the situation that the data volume of the graph model of the enterprise is huge, the embodiment of the application provides a searching and visualization platform, the visualization platform presents a front-end page to a user, and the user can perform various searches related to the graph on the platform.
Step S202, determining an adaptation algorithm corresponding to the search mode, executing the adaptation algorithm, and searching based on the search vertex to obtain a search result.
In the embodiment of the application, corresponding adaptation algorithms are different when the selected search modes are different; the adaptation algorithm in the application is a search method adopted in the process of searching for an input search fixed point. It should be noted that, in the embodiment of the present application, the adaptation algorithm is an algorithm design performed on a graph model in a graph database, and relates to an operation on the graph model; in the algorithm implementation process, the method and the device disassemble the operation of the algorithm on the graph into basic graph semantic operations, such as checking the attribute of a vertex, acquiring adjacent vertices, and acquiring the most basic graph semantic operations of edges between two points, namely, the operation of the adaptive algorithm on a graph database is decomposed into basic graph semantic atomic operations in the search process, so that the complexity of the graph operation is reduced; the method has the advantages that the elastic search is adopted for searching, all algorithm characteristics are indexed, the index is utilized, only one-time retrieval is needed, the searching result can be obtained, and the stability of the whole service is improved.
In some embodiments of the present application, when performing an adaptation algorithm to perform a Search based on a Search vertex, a breadth First traversal mode (BFS) may be used to process vertices according to a hierarchy, where a vertex closest to a starting point is visited First, and vertices in a graph are traversed sequentially according to a distance order.
And step S203, displaying the search result through the visual plug-in.
In the embodiment of the present application, the visualization plug-in includes, but is not limited to, a cysscape. The visualization plug-in can flexibly assemble the visualization structural bodies packaged at the rear ends into the visualization graphs of various drawings, and perform rendering and color matching. In some embodiments, the visualization plug-in may flexibly assemble the visualization construct into various figures by: taking the input search vertex as a root node, and then outwards expanding layer by layer to construct a whole complete graph relation link; specifically, all vertexes of the structure and edges between every two fixed points are collected, and then the visual plug-in takes the input search vertex as a root node and constructs a complete graph layer by layer outwards.
In practical application, after a user can perform various searches on the platform about the graph, further, the platform can return the search result in real time through the visualization plug-in, and perform visual graphical presentation on the search result. Therefore, the graph searching method is suitable for various OLAP searching scenes of the graph, such as reachability analysis, two-point link searching and k-step searching, and in the searching process, various searching conditions are flexibly configured through the searching entry of the front-end page, so that the results of various graph models are visually displayed.
Therefore, by establishing a complete set of complete graph analysis visualization framework, the method can support a user to complete different types of graph relation data (blood-related data, wind control data and the like) on a front-end World Wide Web (WEB) page and configure different condition queries under different search scenes, and realize visualization search.
According to the graph searching method provided by the embodiment of the application, a searching vertex and a selected searching mode input at a searching inlet of a front-end page are received; wherein, the searching vertex is a point in the directed acyclic graph; determining an adaptation algorithm corresponding to the search mode, executing the adaptation algorithm, and searching based on the search vertex to obtain a search result; displaying the search result through a visual plug-in; the method solves the problems that the complex search of the graph in the related technology can only be realized through a back-end off-line algorithm, and a real-time return and visual graph display scheme does not exist, and supports a whole set of scheme of OLAP complex scene search and visual display of various graph models.
Further, in a graph search scenario, the present application provides an architecture diagram of graph search, as shown in fig. 3, the architecture of graph search may become a graph visualization analysis system, where the graph visualization analysis system includes two major parts, namely a front-end WEB service and a graph analysis engine, where the front-end WEB service includes the following components: front-end search entry and cysscape. Here, the front-end search entry is a search entry of the front-end page, supports search modes such as reachability of the graph, a path between two points, and K-step search of a specific vertex, and various search conditions can be configured. JS visual plug-in is used as the visual plug-in of the front-end graph, and the visual structural body packaged at the rear end can be flexibly assembled into visual graphs of various graphs and is subjected to color rendering and matching. Wherein, the graph analysis engine comprises the following components: an Application Programming Interface (API), a standardized template, an adapter, and a policy factory, an algorithm library, and a graph atomic semantic operations layer. Here, the graph analysis engine corresponding to the API provides graph analysis functions of various scenarios through the spring boot micro service. The standardized template is a standardized template for graph analysis, and standardized steps from an API to the final packaging process are established. The standardization step is that root nodes are added- > an adaptation algorithm strategy- > a search algorithm is executed- > an adaptation packing strategy- > a packing method is executed- > a packing structure body is returned. The adapter and the strategy factory can adapt different algorithm strategies and packaging strategies according to various search modes and conditions input by the front end. The algorithm library is used as an independently developed high-performance search algorithm integrated algorithm library, and supports search modes such as reachability analysis, path search between two points, K-step search of a specific vertex and the like. The elastic search is used for indexing various features of the vertex, such as degree, label interval, breadth layer number, and topology layer number. The graph atom semantic operation layer is to decompose various algorithms in the algorithm library into semantic minimum atom operations, such as checking vertex attributes, acquiring adjacent vertices, acquiring edges between two points, and the like. The graph model is stored and queried using a nebugraph database.
Further, with reference to the architecture of graph search shown in fig. 3 and with reference to fig. 4, the graph search process of the present application is divided into three stages for description:
first phase, search pattern and algorithmic relationships: various search modes input by the front end determine a specific algorithm of back-end adaptation, namely the adaptation algorithm, for example, whether the front end searches two application vertexes to have a blood relationship or not, the algorithm adapter can automatically match the reachability analysis strategy, and the reachability analysis algorithm is called.
Second stage, search condition and pruning strategy relation: the searching conditions configured at the front end can be configured into different condition classes according to the searching mode, and the searching results are pruned; for example, in the K-step search process, a 10-degree upstream dependency table of a certain table is searched, a time interval condition is configured, and pruning can be performed according to the time condition when BFS search is used. Here, pruning refers to removing vertices and edges that do not meet the condition during the graph traversal process, thereby improving the time and space efficiency of the traversal algorithm.
A third stage of returning a structural body, namely a json structural body of which the search result needs to be packed into a vertex and an edge, wherein a vertex set is an unnecessary set of vertices on all paths, an edge is a directed edge set between two adjacent vertices, and a CYSOSCAPE.JS plug-in can automatically assemble and render the returned structural body; the specific assembling process is to add the input nodes to the root nodes, and then outwards expand from the edge layers of the upper and lower streams of the root nodes to construct a complete graph relation link.
The following further explains the flow of graph search of the present application:
in other embodiments of the present application, the search vertex includes vertex u and vertex v, and the adaptation algorithm is executed in step S202 to perform search based on the search vertex to obtain a search result, which may be implemented by the following steps:
a11, executing an adaptation algorithm to judge whether the vertex u and the vertex v meet the reachable condition based on a recursive calling mode;
a12, if the reachable condition is met between the vertex u and the vertex v, executing search based on the relation between the out-degree outDeg (u, G) of the vertex u and the in-degree inDeg (v, G) of the vertex v to obtain a search result, wherein G represents a directed acyclic graph.
In the embodiment of the present application, the vertex degrees refers to the number of vertices adjacent to the vertex. In the directed graph, the vertex degrees are the sum of the vertex out-degrees and in-degrees. The in degree of u, i.e. the number of vertices pointing to u, is identified by inDeg (u, G), and the out degree of u, i.e. the number of vertices pointing to u, is identified by outDeg (u, G).
In other embodiments of the present application, in a11, determining whether the vertex u and the vertex v satisfy the reachable condition may be implemented by the following steps:
a111, judging the interval label relation of the vertex u and the vertex v;
a112, judging the relation between the forward breadth layer number and the reverse breadth layer number of the vertex u and the vertex v;
a113, judging the relation between the forward topological layer number and the reverse topological layer number of the vertex u and the vertex v;
and A114, determining whether the vertex u and the vertex v meet the reachable condition or not based on at least one of the interval label relationship, the forward breadth layer number and reverse breadth layer number relationship and the forward topology layer number and reverse topology layer number relationship.
In some scenarios, see FIG. 5, there are two interval labels per vertex in graph G, e.g., the first interval label with vertex v for vertex v
Figure BDA0003439933020000091
And a second interval label of vertex v
Figure BDA0003439933020000092
Wherein,
Figure BDA0003439933020000093
and
Figure BDA0003439933020000094
wherein
Figure BDA0003439933020000095
Indicates a starting value of the i-th interval,
Figure BDA0003439933020000096
an end value of the ith interval is identified, where i is 1, 2. First interval label of vertex v
Figure BDA0003439933020000097
Interval start value for a label obtained during a forward traversal of a child vertex of vertex v during a pre-ordered traversal of vertex v
Figure BDA0003439933020000098
Including the minimum value of the start value and the end value of the child vertex for the current vertex
Figure BDA0003439933020000099
Accessing the sequential value of v for subsequent traversal; second interval label
Figure BDA00034399330200000910
Traversing the labels according to the reverse order of the child vertexes when performing the first-order traversal on the vertex v for the second time, and the same
Figure BDA00034399330200000911
For the minimum of the starting values of the child vertices contained in the current vertex,
Figure BDA00034399330200000912
the sequential value of vertex v is visited for subsequent traversals. In FIG. 5
Figure BDA00034399330200000913
Is the first numerical value inside the first middle bracket,
Figure BDA00034399330200000914
a second number within the first middle bracket; e.g. for vertex 1
Figure BDA00034399330200000915
Is a number of 1 s, and the number of the main chain is,
Figure BDA00034399330200000916
is 10.
Figure BDA00034399330200000917
The first number inside the second middle bracket,
Figure BDA00034399330200000918
a second number within a second middle bracket; for example for roofsPoint 1 corresponds to
Figure BDA0003439933020000101
Is a number of 1 s, and the number of the main chain is,
Figure BDA0003439933020000102
is 10.
Further, referring to fig. 6, for the directed graph G shown in fig. 5, the forward extent layer number and the reverse extent layer number of the vertex v are defined, where the forward extent layer number of each vertex in fig. 5 is a value before the comma before the division number in fig. 6, and the reverse extent layer number is a value after the comma, for example, the forward extent layer number is 1 and the reverse extent layer number is 6 for the vertex 1. The number of forward breadth layers is specifically defined as follows:
Figure BDA0003439933020000103
inN (v, G) identifies the degree of approach of the vertex v, the number of vertex forward extent layers with the degree of approach of 0 is 1, otherwise, the number of forward extent layers is equal to the minimum value after the number of all the degree of approach vertex forward extent layers of the vertex +1, namely the number of vertex v forward extent layers is equal to the number of layers +1 of the v parent node in the process of preferentially extending the graph G.
The reverse breadth level numbers rebre (v) of the vertex v are obtained by inverting all the directed edges of the graph G and then performing the same calculation.
Referring to fig. 6, for the directed graph G shown in fig. 5, a forward topology layer number and a reverse topology layer number of the vertex v are defined, where the forward topology layer number of each vertex in fig. 5 is a value before a comma after the graph is cut in fig. 6, and the reverse topology layer number is a value after the comma, for example, the forward topology layer number is 1 and the reverse topology layer number is 1 for the vertex 1. The number of forward topology layers is specifically defined as follows:
Figure BDA0003439933020000104
the vertex forward topology layer number with the in-degree of 0 is 1, otherwise, the forward topology layer number is equal to the maximum value after all the in-degree vertex forward topology layer numbers of the vertex +1, namely the vertex v forward topology layer number is equal to the traversal sequence value when the vertex with the in-degree of 0 is subjected to the sequencing-before traversal;
the reverse topology layer number is specifically defined as follows:
Figure BDA0003439933020000105
and the vertex reverse topology layer number with the out degree of 0 is the length of the longest path of the current graph, and the reverse topology layer numbers of other vertexes v are the minimum values after all out degree vertex reverse topology layer numbers of v are-1.
In other embodiments of the present application, a111 determines the interval label relationship between vertex u and vertex v, and may be implemented by the following steps: judging the first interval label of the vertex v
Figure BDA0003439933020000111
Whether or not to label at the first interval of vertex u
Figure BDA0003439933020000112
Within, and a second interval label for vertex v
Figure BDA0003439933020000113
Whether it is the second interval label of vertex u
Figure BDA0003439933020000114
Within;
the first interval label of each vertex is a label obtained by traversing the child vertexes of each vertex in the forward direction when the first-order traversal is performed on each vertex, and the second interval label of each vertex is a label obtained by traversing each vertex in the reverse order of the child vertexes when the first-order traversal is performed on each vertex for the second time;
wherein, whether the reachable condition is satisfied between the vertex u and the vertex v includes: if it is
Figure BDA0003439933020000115
In that
Figure BDA0003439933020000116
In and
Figure BDA0003439933020000117
in that
Figure BDA0003439933020000118
Within, it is determined that an achievable condition is satisfied between vertex u and vertex v.
That is, in the embodiment of the present application, for any two vertices u and v in a given directed acyclic graph G, if any
Figure BDA0003439933020000119
Or
Figure BDA00034399330200001110
Then u- > v is not reachable.
In other embodiments of the present application, a112 determines a relationship between the forward extent layer number and the reverse extent layer number of the vertex u and the vertex v, and may be implemented by the following steps:
judging whether the forward breadth layer number bre (v) of the vertex v is larger than the forward breadth layer number bre (u) of the vertex u;
judging whether the reverse breadth layer number rebre (u) of the vertex u is larger than the reverse breadth layer number febre (v) of the vertex v;
wherein, whether the reachable condition is satisfied between the vertex u and the vertex v includes: if bre (v) ≦ bre (u) and rebre (u) ≦ rebre (v), it is determined that the reachable condition between vertex u and vertex v is satisfied.
That is, in the embodiment of the present application, for any two vertices u and v in the directed acyclic graph G, br (v) -br (u) > 0 or rebre (u) -rebre (v) > 0, u- > v is unreachable.
In other embodiments of the present application, a113 determines a relationship between the number of forward topology layers and the number of reverse topology layers of the vertex u and the vertex v, and may be implemented by the following steps:
judging whether the forward topological layer number topo (u) of the vertex u is smaller than the forward topological layer number topo (v) of the vertex v;
judging whether the reverse topological layer number retopo (u) of the vertex u is smaller than the reverse topological layer number retopo (v) of the vertex v;
wherein, whether the reachable condition is satisfied between the vertex u and the vertex v includes: topo (u) < topo (v) or retopo (u) < retopo (v), and determining that the reachable condition is satisfied between vertex u and vertex v.
That is, in the embodiment of the present application, for any two vertices u and v in a given directed acyclic graph G, if topo (u) > (topo) (v) or retopo (u) > (retopo (v), u- > v is not reachable.
In other embodiments of the present application, when the search pattern includes a pattern corresponding to reachability analysis, a11 executes an adaptation algorithm to determine whether the reachable condition between vertex u and vertex v is satisfied based on a recursive calling manner, including the following steps:
determining vertex u of recursive call inputiAnd vertex viWhether they are equal; wherein the vertex uiSet of child nodes belonging to vertex u and vertex u, vertex viA set of parent nodes belonging to v and v;
here, if ui=viThen vertex u and vertex v are reachable, the recursion terminates, where uiSet of child nodes belonging to vertex u and vertex u, viBelongs to vertex v and a set of parent nodes of vertex v.
However, if the vertex uiIs not equal to vertex viAnd judging whether the reachable condition is met between the vertex u and the vertex v or not based on a recursive calling mode.
In the process of judging whether the reachable condition is met, the following three scenes exist, and the unreachable condition is confirmed:
section label for judging vertex v
Figure BDA0003439933020000121
And
Figure BDA0003439933020000122
and if the distance is within the interval label of the vertex u, the distance is not reachable any more, and the traversal is stopped.
Judging the relation between the forward breadth level and the reverse breadth level of the vertexes v and u, if bre (v) -bre (u) > 0 or bre (u) -rebre (v) > 0, the vertex v and u cannot be reached, and stopping traversing.
And judging the relation between the forward topological layer number and the reverse topological layer number of the vertexes v and u, and stopping traversing if topo (u) is more than or equal to topo (v) or retepo (u) is more than or equal to retepo (v).
Further, in the case of the reachability analysis corresponding to the pattern, a bidirectional search method is adopted to perform a search based on the relationship between the out-degree outDeg (u, G) of the vertex u and the in-degree inDeg (v, G) of the vertex v in a12, so as to obtain a search result, and the method includes the following steps:
if outDeg (u, G) is less than or equal to inDeg (v, G), each vertex u in the adjacent child node set of the vertex uiPerforming recursive calling on the vertex v to obtain a search result;
if outDeg (u, G) > inDeg (v, G), for each vertex v in all parent node sets for vertex u and vertex viAnd executing recursive calling to obtain a search result.
In practical applications, in the case where the search pattern includes a pattern corresponding to reachability analysis, the offline calculation job updates the algorithm characteristics each day for reachability algorithm implementation: computing interval labels for all vertices of a graph model using a spark engine
Figure BDA0003439933020000131
And
Figure BDA0003439933020000132
and forward breadth layer numbers bre (v), reverse breadth layer numbers rebre (v), forward topology layer numbers topo (v), reverse topology layer numbers rebopo (v) of all tags; all vertex features are then upsert into the elasticsearch index.
The indexing structure of the vertex features of the flash search is as follows:
Figure BDA0003439933020000133
performing recursive call of a bidirectional search pruning algorithm by adopting online OLAP analysis, decomposing the operation of the algorithm on the graph into basic atomic semantic layer operation, and calling a nebugraph client to perform graph semantic atomic query; according to the algorithm, pruning is carried out according to the interval label, the number of breadth layers and the number of topological layers, and when the bidirectional search direction is selected according to the degree of the vertex, the elastic search is only searched once, all characteristic values of the upper table of the target vertex are searched out, and calculation is carried out. According to the method and the device, the analysis delay of the OLAP of the large-scale image data set is greatly reduced by integrating the bidirectional pruning search algorithm. And in the adaptive algorithm implementation process, all the operations on the graph are decomposed into atomic semantic operations of the graph, and the features of all dimensions are indexed into a high-performance distributed search engine through daily offline batch feature engineering calculation, so that the high efficiency and stability of algorithm implementation are ensured.
The following steps of the path search algorithm between two points are consistent with the steps of the reachability algorithm, and only the complete link needs to be recorded through the linked list in the traversal process, that is, the vertex u and the vertex v are input, and all links between the vertex u and the vertex v are searched.
In other embodiments of the present application, the search mode includes a mode corresponding to path search between two points, and a11 executes an adaptation algorithm to determine whether the reachable condition between vertex u and vertex v is satisfied based on a recursive call mode, including the following steps:
creating a linked list v1 and a linked list v 2; adding a vertex u to the linked list v1 as a head node, and adding a vertex v to the linked list v2 as a head node;
determining vertex u of recursive call inputiAnd vertex viWhether they are equal; wherein the vertex uiSet of child nodes belonging to vertex u and vertex u, vertex viA set of parent nodes belonging to v and v;
if ui=viThen vertex u and vertex v are reachable, the recursion terminates, where uiSet of child nodes belonging to vertex u and vertex u, viBelongs to vertex v and a set of parent nodes of vertex v. And (3) inverting the link2 linked list, removing tail nodes from the link1 linked list, splicing the link1 linked list with the link2 linked list, and returning to the spliced linked list set.
However, if the vertex uiIs not equal to vertex viAnd judging whether the reachable condition is met between the vertex u and the vertex v or not based on a recursive calling mode.
Further, in the case of searching for a corresponding mode between two points, a bidirectional search method is adopted to perform a search based on a relationship between an out-degree outDeg (u, G) of a vertex u and an in-degree inDeg (v, G) of a vertex v in a12, so as to obtain a search result, including the following steps:
if outDeg (u, G) is less than or equal to inDeg (v, G), each vertex u in the adjacent child node set of the vertex uiAnd the vertex v executes recursive calling, clones the current out-degree vertex linked list and adds uiObtaining search results of all links between the vertex u and the vertex v for the tail node;
if outDeg (u, G)>InDeg (v, G), for each vertex v in all parent node sets for vertex u and vertex viPerforming recursive calls, cloning the current in-degree vertex linked list and adding viFor the tail node, the search results for all links between vertex u and vertex v are obtained.
In other embodiments of the present application, the search mode includes a mode corresponding to K-step search, and when breadth-first search is adopted, and a neighboring level node of a vertex is searched in breadth-first search, the search mode can be used for one-time search in batch; by combining the search conditions, when an adjacent fixed point is searched out, pruning is carried out by using the search conditions, the search speed can be greatly increased, and the search result can be quickly obtained.
Continuing with the exemplary structure of the graph search apparatus 154 implemented as a software module provided in the embodiments of the present application, in some embodiments, as shown in fig. 1, the software module stored in the graph search apparatus 154 of the memory 150 may be a graph search apparatus in the server 100, including:
a display module 1541, configured to display a search entry of a front-end page;
a receiving module 1542, configured to receive a search vertex and a selected search pattern input at a search entry; wherein, the searching vertex is a point in the directed acyclic graph;
the processing module 1543 is configured to determine an adaptation algorithm corresponding to the search mode, and execute the adaptation algorithm to perform a search based on the search vertex to obtain a search result;
and the display module 1541 is used for displaying the search result through the visual plug-in.
In some embodiments, the vertex search module 1543 is configured to execute an adaptation algorithm to determine whether a reachable condition between the vertex u and the vertex v is satisfied based on a recursive call; and if the vertex u and the vertex v meet the reachable condition, executing search based on the relation between the out-degree outDeg (u, G) of the vertex u and the in-degree inDeg (v, G) of the vertex v to obtain a search result, wherein G represents the directed acyclic graph.
In some embodiments, processing module 1543 configured to determine an inter-zone label relationship for vertex u and vertex v; judging the relation between the forward breadth layer number and the reverse breadth layer number of the vertex u and the vertex v; judging the relation between the forward topological layer number and the reverse topological layer number of the vertex u and the vertex v; and determining whether the vertex u and the vertex v meet the reachable condition or not based on at least one of the interval label relationship, the relationship between the forward breadth layer number and the reverse breadth layer number and the relationship between the forward topology layer number and the reverse topology layer number.
In some embodiments, processing module 1543 is configured to determine a first interval label for vertex v
Figure BDA0003439933020000151
Whether or not to label at the first interval of vertex u
Figure BDA0003439933020000152
Within, and a second interval label for vertex v
Figure BDA0003439933020000153
Whether it is the second interval label of vertex u
Figure BDA0003439933020000154
Within; the first interval label of each vertex is the positive direction of the child vertex of each vertex when the first-order traversal is carried out on each vertex;
the second interval label of each vertex is a label obtained by traversing each vertex according to the reverse order sequence of the child vertices when the vertex is traversed in the first order for the second time; wherein, whether the reachable condition is satisfied between the vertex u and the vertex v includes: if it is
Figure BDA0003439933020000161
In that
Figure BDA0003439933020000162
In and
Figure BDA0003439933020000163
in that
Figure BDA0003439933020000164
Within, it is determined that an achievable condition is satisfied between vertex u and vertex v.
In some embodiments, the processing module 1543 is configured to determine whether a difference between the forward extent layer number bre (v) of the vertex v minus the forward extent layer number bre (u) of the vertex u is greater than 0;
judging whether the difference value of the reverse breadth layer number rebre (u) of the vertex u minus the reverse breadth layer number rebre (v) of the vertex v is larger than 0;
wherein, whether the reachable condition is satisfied between the vertex u and the vertex v includes: if bre (v) -bre (u) < 0 and rebre (u) -rebre (v) < 0, it is determined that the reachable condition between vertex u and vertex v is satisfied.
In some embodiments, the processing module 1543 is configured to determine whether the forward topological layer number topo (u) of the vertex u is less than the forward topological layer number topo (v) of the vertex v;
judging whether the reverse topological layer number retopo (u) of the vertex u is smaller than the reverse topological layer number retopo (v) of the vertex v;
wherein, whether the reachable condition is satisfied between the vertex u and the vertex v includes: topo (u) < topo (v) or retopo (u) < retopo (v), and determining that the reachable condition is satisfied between vertex u and vertex v.
In some embodiments, the search pattern includes a pattern corresponding to a reachability analysis, and the processing module 1543 is configured to determine a recursive call inputVertex u of the inletiAnd vertex viWhether they are equal; wherein the vertex uiSet of child nodes belonging to vertex u and vertex u, vertex viA set of parent nodes belonging to v and v; if the vertex u isiIs not equal to vertex viAnd judging whether the reachable condition is met between the vertex u and the vertex v or not based on a recursive calling mode.
In some embodiments, the processing module 1543 is configured to apply to each vertex u in the set of adjacent children for vertex u if outDeg (u, G) ≦ inDeg (v, G)iPerforming recursive calling on the vertex v to obtain a search result;
if outDeg (u, G) > inDeg (v, G), for each vertex v in all parent node sets for vertex u and vertex viAnd executing recursive calling to obtain a search result.
In some embodiments, the search patterns include patterns corresponding to path searches between two points, processing module 1543 for creating linked list v1 and linked list v 2; adding a vertex u to the linked list v1 as a head node, and adding a vertex v to the linked list v2 as a head node;
determining vertex u of recursive call inputiAnd vertex viWhether they are equal; wherein the vertex uiSet of child nodes belonging to vertex u and vertex u, vertex viA set of parent nodes belonging to v and v;
if the vertex u isiIs not equal to vertex viAnd judging whether the reachable condition is met between the vertex u and the vertex v or not based on a recursive calling mode.
In some embodiments, the processing module 1543 is configured to apply to each vertex u in the set of adjacent children for vertex u if outDeg (u, G) ≦ inDeg (v, G)iAnd the vertex v executes recursive calling, clones the current out-degree vertex linked list and adds uiObtaining search results of all links between the vertex u and the vertex v for the tail node;
if outDeg (u, G) > inDeg (v, G), for each vertex v in all parent node sets for vertex u and vertex viPerforming recursive calls, cloning the current in-degree vertex linked list and adding viFor the tail node, the search results for all links between vertex u and vertex v are obtained.
The graph searching device provided by the embodiment of the application receives a searching vertex and a selected searching mode which are input at a searching inlet of a front-end page; wherein, the searching vertex is a point in the directed acyclic graph; determining an adaptation algorithm corresponding to the search mode, executing the adaptation algorithm, and searching based on the search vertex to obtain a search result; displaying the search result through a visual plug-in; the method solves the problems that the complex search of the graph in the related technology can only be realized through a back-end off-line algorithm, and a real-time return and visual graph display scheme does not exist, and supports a whole set of scheme of OLAP complex scene search and visual display of various graph models.
It should be noted that the description of the apparatus in the embodiment of the present application is similar to the description of the method embodiment, and has similar beneficial effects to the method embodiment, and therefore, the description is not repeated. For technical details not disclosed in the embodiments of the apparatus, reference is made to the description of the embodiments of the method of the present application for understanding.
Embodiments of the present application provide a storage medium having stored therein executable instructions, which when executed by a processor, will cause the processor to perform a method provided by embodiments of the present application, for example, the method as shown in fig. 2.
The storage medium provided by the embodiment of the application receives a search vertex and a selected search mode which are input at a search entry of a front-end page; wherein, the searching vertex is a point in the directed acyclic graph; determining an adaptation algorithm corresponding to the search mode, executing the adaptation algorithm, and searching based on the search vertex to obtain a search result; displaying the search result through a visual plug-in; the method solves the problems that the complex search of the graph in the related technology can only be realized through a back-end off-line algorithm, and a real-time return and visual graph display scheme does not exist, and supports a whole set of scheme of OLAP complex scene search and visual display of various graph models.
In some embodiments, the storage medium may be a computer-readable storage medium, such as a Ferroelectric Random Access Memory (FRAM), a Read Only Memory (ROM), a Programmable Read Only Memory (PROM), an Erasable Programmable Read Only Memory (EPROM), a charged Erasable Programmable Read Only Memory (EEPROM), a flash Memory, a magnetic surface Memory, an optical disc, or a Compact disc Read Only Memory (CD-ROM), among other memories; or may be various devices including one or any combination of the above memories.
In some embodiments, executable instructions may be written in any form of programming language (including compiled or interpreted languages), in the form of programs, software modules, scripts or code, and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
By way of example, executable instructions may correspond, but do not necessarily have to correspond, to files in a file system, and may be stored in a portion of a file that holds other programs or data, such as in one or more scripts in a hypertext Markup Language (hypertext Markup Language) document, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code). By way of example, executable instructions may be deployed to be executed on one computing device or on multiple computing devices at one site or distributed across multiple sites and interconnected by a communication network.
The above description is only an example of the present application, and is not intended to limit the scope of the present application. Any modification, equivalent replacement, and improvement made within the spirit and scope of the present application are included in the protection scope of the present application.

Claims (13)

1. A graph search method, comprising:
receiving a search vertex and a selected search mode input at a search entry of a front-end page; wherein the search vertex is a point in a directed acyclic graph;
determining an adaptation algorithm corresponding to the search mode, executing the adaptation algorithm, and searching based on the search vertex to obtain a search result;
and displaying the search result through a visual plug-in.
2. The method of claim 1, wherein the search vertex comprises a vertex u and a vertex v, and wherein executing the adaptation algorithm searches based on the search vertex to obtain a search result comprises:
executing the adaptive algorithm to judge whether the vertex u and the vertex v meet the reachable condition based on a recursive calling mode;
if the reachable condition is met between the vertex u and the vertex v, executing search based on the relation between the out-degree outDeg (u, G) of the vertex u and the in-degree inDeg (v, G) of the vertex v to obtain the search result, wherein G represents the directed acyclic graph.
3. The method of claim 2, wherein determining whether the reachable condition between vertex u and vertex v is satisfied comprises:
judging the interval label relationship between the vertex u and the vertex v;
judging the relation between the forward breadth layer number and the reverse breadth layer number of the vertex u and the vertex v;
judging the relation between the forward topological layer number and the reverse topological layer number of the vertex u and the vertex v;
and determining whether the vertex u and the vertex v meet the reachable condition or not based on the interval label relationship, the relationship between the forward breadth layer number and the reverse breadth layer number and at least one of the relationship between the forward topology layer number and the reverse topology layer number.
4. The method of claim 3, wherein said determining an interval label relationship of said vertex u and said vertex v comprises;
judging the first interval label of the vertex v
Figure FDA0003439933010000011
Whether or not to label at the first interval of the vertex u
Figure FDA0003439933010000021
Within, and a second interval label for said vertex v
Figure FDA0003439933010000022
Whether or not to label at the second interval of the vertex u
Figure FDA0003439933010000023
Within; the first interval label of each vertex is a label obtained by forward traversal of a child vertex of each vertex when the first-order traversal is performed on each vertex, and the second interval label of each vertex is a label obtained by traversal according to the reverse order of the child vertices when the first-order traversal is performed on each vertex for the second time;
wherein whether the reachable condition is satisfied between the vertex u and the vertex v comprises: if it is as described
Figure FDA0003439933010000024
In the above-mentioned
Figure FDA0003439933010000025
Therein and said
Figure FDA0003439933010000026
In the above-mentioned
Figure FDA0003439933010000027
And determining that the reachable condition is satisfied between the vertex u and the vertex v.
5. The method of claim 3, wherein the determining the relationship between the forward extent level and the reverse extent level for the vertex u and the vertex v comprises:
judging whether the forward breadth layer number bre (v) of the vertex v is larger than the forward breadth layer number bre (u) of the vertex u;
judging whether the reverse breadth level number rebre (u) of the vertex u is larger than the reverse breadth level number rebre (v) of the vertex v;
wherein whether the reachable condition is satisfied between the vertex u and the vertex v comprises: if bre (v) ≦ bre (u) and rebre (u) ≦ rebre (v), determining that an achievable condition is satisfied between the vertex u and the vertex v.
6. The method according to claim 3, wherein the determining the relation between the number of forward topology layers and the number of reverse topology layers of the vertex u and the vertex v comprises:
judging whether the forward topological layer number topo (u) of the vertex u is smaller than the forward topological layer number topo (v) of the vertex v;
judging whether the reverse topological layer number retopo (u) of the vertex u is smaller than the reverse topological layer number retopo (v) of the vertex v;
wherein whether the reachable condition is satisfied between the vertex u and the vertex v comprises: topo (u) < topo (v) or retopo (u) < retopo (v), determining that an achievable condition is satisfied between the vertex u and the vertex v.
7. The method of claim 2, wherein the search pattern comprises a pattern corresponding to reachability analysis, and wherein executing the adaptation algorithm to determine whether the reachability condition between the vertex u and the vertex v is satisfied based on a recursive call comprises:
determining vertex u of recursive call inputiAnd vertex viWhether they are equal; wherein the vertex uiSet of child nodes belonging to said vertex u and said vertex u, said vertex viA set of parent nodes belonging to said v and said v;
if the vertex u isiIs not equal to the vertex viAnd judging whether the vertex u and the vertex v meet the reachable condition or not based on a recursive calling mode.
8. The method of claim 7, wherein the performing a search based on a relationship between the out degree outDeg (u, G) of the vertex u and the in degree inDeg (v, G) of the vertex v, resulting in the search result, comprises:
if outDeg (u, G) is less than or equal to inDeg (v, G), for each vertex u in the vertex u's adjacent child node setiAnd the vertex v executes recursive calling to obtain the search result;
if outDeg (u, G)>inDeg (v, G) for each vertex v in all parent sets of vertices u and viAnd executing recursive calling to obtain the search result.
9. The method of claim 2, wherein the search pattern comprises a pattern corresponding to a path search between two points, and wherein the executing the adaptation algorithm determines whether a reachable condition between the vertex u and the vertex v is satisfied based on a recursive call mode, comprising:
creating a linked list v1 and a linked list v 2; adding the vertex u to the linked list v1 as a head node, and adding the vertex v to the linked list v2 as a head node;
determining vertex u of recursive call inputiAnd vertex viWhether they are equal; wherein the vertex uiSet of child nodes belonging to said vertex u and said vertex u, said vertex viA set of parent nodes belonging to said v and said v;
if the vertex u isiIs not equal to the vertex viAnd judging whether the vertex u and the vertex v meet the reachable condition or not based on a recursive calling mode.
10. The method of claim 9, wherein the performing a search based on a relationship between the out degree outDeg (u, G) of the vertex u and the in degree inDeg (v, G) of the vertex v, resulting in the search result comprises:
if outDeg (u, G) is less than or equal to inDeg (v, G), for each vertex u in the vertex u's adjacent child node setiAnd the vertex v executes recursive calling, clones the current out-degree vertex linked list and adds uiObtaining search results of all links between the vertex u and the vertex v for the tail node;
if outDeg (u, G)>inDeg (v, G) for each vertex v in all parent sets of vertices u and viPerforming recursive calls, cloning the current in-degree vertex linked list and adding viAnd obtaining the search results of all links between the vertex u and the vertex v for the tail node.
11. A graph search apparatus, comprising:
the display module is used for displaying the search entry of the front-end page;
the receiving module is used for receiving the search vertex input at the search entrance and the selected search mode; wherein the search vertex is a point in a directed acyclic graph;
the processing module is used for determining an adaptation algorithm corresponding to the search mode and executing the adaptation algorithm to search based on the search vertex to obtain a search result;
and the display module is used for displaying the search result through a visual plug-in.
12. A graph search device, comprising:
a memory for storing executable instructions; a processor for implementing the method of any one of claims 1 to 10 when executing executable instructions stored in the memory.
13. A storage medium having stored thereon executable instructions for causing a processor to perform the method of any one of claims 1 to 10 when executed.
CN202111627096.0A 2021-12-28 2021-12-28 Graph searching method, device, equipment and storage medium Pending CN114385864A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111627096.0A CN114385864A (en) 2021-12-28 2021-12-28 Graph searching method, device, equipment and storage medium
PCT/CN2022/119014 WO2023124253A1 (en) 2021-12-28 2022-09-15 Graph search method and apparatus, device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111627096.0A CN114385864A (en) 2021-12-28 2021-12-28 Graph searching method, device, equipment and storage medium

Publications (1)

Publication Number Publication Date
CN114385864A true CN114385864A (en) 2022-04-22

Family

ID=81197944

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111627096.0A Pending CN114385864A (en) 2021-12-28 2021-12-28 Graph searching method, device, equipment and storage medium

Country Status (2)

Country Link
CN (1) CN114385864A (en)
WO (1) WO2023124253A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023124253A1 (en) * 2021-12-28 2023-07-06 深圳前海微众银行股份有限公司 Graph search method and apparatus, device and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10810257B2 (en) * 2015-08-27 2020-10-20 Oracle International Corporation Fast processing of path-finding queries in large graph databases
CN110377795A (en) * 2019-06-27 2019-10-25 浙江大学 A kind of distributed temporal diagram accessibility inquiry processing method based on Blogel
US11227018B2 (en) * 2019-06-27 2022-01-18 International Business Machines Corporation Auto generating reasoning query on a knowledge graph
CN112507135B (en) * 2020-12-17 2021-11-16 深圳市一号互联科技有限公司 Knowledge graph query template construction method, device, system and storage medium
CN114385864A (en) * 2021-12-28 2022-04-22 深圳前海微众银行股份有限公司 Graph searching method, device, equipment and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023124253A1 (en) * 2021-12-28 2023-07-06 深圳前海微众银行股份有限公司 Graph search method and apparatus, device and storage medium

Also Published As

Publication number Publication date
WO2023124253A1 (en) 2023-07-06

Similar Documents

Publication Publication Date Title
CN108733713B (en) Data query method and device in data warehouse
CN112650766B (en) Database data operation method, system and server
CN115617327A (en) Low code page building system, method and computer readable storage medium
US20230177363A1 (en) Generation of query templates for knowledge-graph based question answering system
CN102982095B (en) A kind of body automatic creation system based on thesaurus and method thereof
CN113986241B (en) Configuration method and device of business rules based on knowledge graph
CN112988123B (en) DDD-oriented software design method and system
WO2015192090A1 (en) System and method for utilizing a logical graphical model for scenario analysis
CN114385864A (en) Graph searching method, device, equipment and storage medium
CN116755669A (en) Low code development method and tool based on DSL language operation model
CN114201397A (en) Interface test modeling method and device, electronic equipment and storage medium
CN109408322A (en) A kind of automatic business process implementation method of cloud platform
CN115826937B (en) Digital twin industrial software platform makeTain
CN111475602A (en) Multi-version knowledge graph storage method and device, storage medium and electronic equipment
CN115757174A (en) Database difference detection method and device
CN115599362A (en) Data processing task construction method, commodity data processing method and equipment
CN111984257B (en) Solid modeling customized extension method and device
CN111159203B (en) Data association analysis method, platform, electronic equipment and storage medium
CN114218265A (en) Processing method and device of offline model, storage medium and processor
CN115757083A (en) Distributed database detection method and device
CN114625705B (en) Method and device for automatically generating UI (user interface) resources in development engine
CN115292194B (en) Method for debugging flow, electronic equipment and computer readable storage medium
CN115470640B (en) Compliance detection method and system based on flow tree decomposition and track matching strategy
CN112925836B (en) Data conversion method and device
KR101488188B1 (en) Sequence diagram generating method and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination