Keyword Search Over Knowledge Graphs Using Static Labels
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computing answers to keyword queries over large knowledge graphs is computationally demanding due to the high run time of existing approximation algorithms, especially for large graphs.
Innovation Solution
Enhancing knowledge graphs with static labels that include distances between vertices, using a source sampling based approximation algorithm for betweenness centrality, and constructing dynamic labels online to determine a subgraph that minimizes distances between keyword vertices, thereby optimizing keyword search efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If existing approximation algorithms are used to compute keyword queries over knowledge graphs, then keyword search can be performed, but the run time becomes prohibitively high for large graphs
Solution Approach 1:
The patent pre-computes and stores betweenness centrality values for all vertices in the knowledge graph before keyword queries are executed. This preliminary computation allows the system to quickly identify important vertices and construct Steiner trees during query processing without performing expensive centrality calculations at query time, thus resolving the contradiction between providing accurate keyword search results and maintaining acceptable run time for large graphs
Solution Approach 2:
The patent segments the keyword search process into distinct phases: pre-computation of betweenness centrality values, identification of keyword vertices, construction of Steiner trees using pre-computed values, and extraction of results. This segmentation allows the computationally intensive part to be performed once during pre-computation, while query processing uses these pre-computed values efficiently, improving overall productivity without proportional increase in query run time
2Productivity
If the knowledge graph is enhanced with static labels containing distance information, then subgraph determination becomes more efficient, but the space complexity and preprocessing requirements increase
Solution Approach 1:
The patent enhances the knowledge graph with static labels that contain betweenness centrality values and distance information specifically for vertices. Rather than adding complex structures throughout the entire system, the enhancement is applied locally at the vertex level, where each vertex stores pre-computed attributes. This local quality approach improves subgraph determination efficiency without proportionally increasing overall system complexity
Solution Approach 2:
The patent creates a simplified copy or representation of the knowledge graph structure with pre-computed attributes (static labels) that can be quickly queried. Instead of working with the full complex graph structure during keyword search, the system uses this enhanced representation with pre-stored distance and centrality information, enabling efficient subgraph determination while managing complexity through selective pre-computation and storage
Data Source
AI summary
A computer implemented method for keyword search over a knowledge graph. The knowledge graph comprises a large number of vertices representing entities and a large number of edges representing relations between the entities. The knowledge graph is enhanced with static labels. A static label for each vertex includes a list of distances between the vertex and other vertices of the knowledge graph. The method includes receiving a set of keywords, constructing dynamic labels based on the set of keywords and determining a subgraph of the knowledge graph for the set of keywords based on the static labels and based on the dynamic labels. The constructing of the dynamic labels includes obtaining keyword vertices by mapping keywords of the set of keywords to vertices of the knowledge graph and obtaining for the keyword vertices distances between the keyword vertices and predecessors of the keyword vertices from the static labels.


