Method for applying graph-specific compiler optimizations to graph analysis programs

    公开(公告)号:US11379200B2

    公开(公告)日:2022-07-05

    申请号:US16776792

    申请日:2020-01-30

    Abstract: Techniques are described for compiling source code to generate graph-optimized intermediate representation instructions of the source code that implement techniques for optimizing algorithms for graph analysis. A compiler, executing on a computing device, receives source code instructions for a program to be compiled. The compiler identifies a target expression, within the source code instructions, that invokes a particular method call on a particular object type. The target expression contains a target block of code to be translated into an intermediate representation using graph-optimized compilation techniques. The compiler generates a block of graph-specific intermediate representation instructions to replace the target expression. The compiler compiles the source code instructions to generate intermediate representation instructions, where the intermediate representation instructions include the block of graph-specific intermediate representation instructions in place of the target expression.

    Learning property graph representations edge-by-edge

    公开(公告)号:US11205050B2

    公开(公告)日:2021-12-21

    申请号:US16179049

    申请日:2018-11-02

    Abstract: Techniques are described herein for learning property graph representations edge-by-edge. In an embodiment, an input graph is received. The input graph comprises a plurality of vertices and a plurality of edges. Each vertex of the plurality of vertices is associated with vertex properties of the respective vertex. A vertex-to-property mapping is generated for each vertex of the plurality of vertices. The mapping maps each vertex to a vertex-property signature of a plurality of vertex-property signatures. A plurality of edge words is generated. Each edge word corresponds to one or more edges that each begin at a first vertex having a particular vertex-property signature of the plurality of vertex property signatures and end at a second vertex having a particular vertex-property signature of the plurality of vertex property signatures. A plurality of sentences is generated. Each sentence comprises edge words directly connected along a path of a plurality of paths in the input graph. Using the plurality of sentences and the plurality of edge words, a document vectorization model is used to generate machine learning vectors that represent the input graph.

    PARALLEL AND EFFICIENT TECHNIQUE FOR BUILDING AND MAINTAINING A MAIN MEMORY CSR BASED GRAPH INDEX IN A RDBMS

    公开(公告)号:US20210334249A1

    公开(公告)日:2021-10-28

    申请号:US17370418

    申请日:2021-07-08

    Abstract: Herein are techniques that concurrently populate entries in a compressed sparse row (CSR) encoding, of a type of edge of a heterogenous graph. In an embodiment, a computer obtains a mapping of a relational schema to a graph data model. The relational schema defines vertex tables that correspond to vertex types in the graph data model, and edge tables that correspond to edge types in the graph data model. Each edge type is associated with a source vertex type and a target vertex type. For each vertex type, a sequence of persistent identifiers of vertices is obtained. Based on the mapping and for a CSR representation of each edge type, a source array is populated that, for a same vertex ordering as the sequence of persistent identifiers for the source vertex type, is based on counts of edges of the edge type that originate from vertices of the source vertex type. For the CSR, the computer populates, in parallel and based on said mapping, a destination array that contains canonical offsets as sequence positions within the sequence of persistent identifiers of the vertices.

    DYNAMIC ASYNCHRONOUS TRAVERSALS FOR DISTRIBUTED GRAPH QUERIES

    公开(公告)号:US20210240705A1

    公开(公告)日:2021-08-05

    申请号:US16778668

    申请日:2020-01-31

    Abstract: Techniques are described for enabling in-memory execution of any-sized graph data query by utilizing both depth first search (DFS) principles and breadth first search (BFS) principles to control the amount of memory used during query execution. Specifically, threads implementing a graph DBMS switch between a BFS mode of data traversal and a DFS mode of data traversal. For example, when a thread detects that there are less than a configurable threshold number of intermediate results in memory, the thread enters BFS-based traversal techniques to increase the number of intermediate results in memory. When the thread detects that there are at least the configurable threshold number of intermediate results in memory, the thread enters DFS mode to produce final results, which generally works to move the intermediate results that are currently available in memory to final query results, thereby reducing the number of intermediate results in memory.

    Space-efficient methodology for representing label information in large graph data for fast distributed graph query

    公开(公告)号:US11074260B2

    公开(公告)日:2021-07-27

    申请号:US16378424

    申请日:2019-04-08

    Abstract: Techniques are described herein for space-efficient encoding of label information of property graphs. In an embodiment, an input graph is received. The input graph comprises a plurality of entities and a plurality of label sets. Each entity of said plurality of entities is associated with a label set of the plurality of label sets and each label set of the plurality of label sets comprises zero or more labels of a plurality of labels. A first mapping is generated that maps each label of the plurality of labels to a label code. A second mapping is generated that maps each label integer set of a plurality of label integer sets to a label code. Each label integer set of the plurality of label integer sets corresponds to a label set of the plurality of label sets, wherein each label integer set of the plurality of label integer sets comprises label codes from the first mapping that are mapped to each label included in the corresponding label set. A compressed label set is generated for each entity of the plurality of entities. Each compressed label set comprises a plurality of bits that indicate a zeroth state, a first state, a second state, or a third state. The compressed label sets and the first and second mappings are used to efficiently evaluate graph label queries.

    Optimally deploying utility repair assets to minimize power outages during major weather events

    公开(公告)号:US11010694B2

    公开(公告)日:2021-05-18

    申请号:US15938988

    申请日:2018-03-28

    Abstract: The disclosed embodiments relate to a system that facilitates deployment of utility repair crews to nodes in a utility network. During operation, the system determines a node criticality for each node in the utility network based on a network-reliability analysis, which considers interconnections among the nodes in the utility network. The system also determines a node failure probability for each node in the utility network based on historical weather data, historical node failure data and weather forecast information for the upcoming weather event. The system uses the determined node criticalities and the determined node failure probabilities to determine a deployment plan for deploying repair crews to nodes in the utility network in preparation for the upcoming weather event. The system then presents the deployment plan to a person who uses the deployment plan to deploy repair crews to be available to service nodes in the utility network.

    NAMED ENTITY DISAMBIGUATION USING ENTITY DISTANCE IN A KNOWLEDGE GRAPH

    公开(公告)号:US20210142008A1

    公开(公告)日:2021-05-13

    申请号:US17153078

    申请日:2021-01-20

    Abstract: According to an embodiment, a method includes converting a knowledge base into a graph. In this embodiment, the knowledge base contains a plurality of entities and specifies a plurality of relationships among the plurality of entities, and entities in the knowledge base correspond to vertices in the graph, and relationships between entities in the knowledge base correspond to edges between vertices in the graph. The method may also include extracting a plurality of vertex embeddings from the graph. An example vertex embedding of the plurality of vertex embeddings represents, for a particular vertex, a proximity of the particular vertex to other vertices of the graph. Further, the method may include performing, based at least in part on the plurality of vertex embeddings, entity linking between input text and the knowledge base.

    Reachability graph index for query processing

    公开(公告)号:US10942970B2

    公开(公告)日:2021-03-09

    申请号:US16159384

    申请日:2018-10-12

    Abstract: Techniques are described for generating and re-using reachability graphs for efficient execution of queries. In an embodiment, a query is received for execution on a data graph. Such a query may include one or more expressions for edges in the data graph, which when executed select one or more paths in the data graph to generate results for the query. The system uses a repository to store reachability graphs and may determine whether a reachability graph for an expression of the query for the data graph is stored in a repository. Such a reachability graph is generated by applying the expression on the data graph to qualify or disqualify the edges in the data graph to be included as part of edges of the reachability graph. For example, an edge in a reachability graph exists between two vertices when at least one edge of the data graph has qualified between two vertices of the data graph that correspond to the two vertices of the reachability graph. Based on determining that the reachability graph for the expression is stored in the repository, the system executes the query on the reachability graph without re-applying the expression on the data graph and generates the results for the query.

    CATEGORICAL FEATURE ENCODING FOR PROPERTY GRAPHS BY VERTEX PROXIMITY

    公开(公告)号:US20200257982A1

    公开(公告)日:2020-08-13

    申请号:US16270535

    申请日:2019-02-07

    Abstract: Techniques are described herein for encoding categorical features of property graphs by vertex proximity. In an embodiment, an input graph is received. The input graph comprises a plurality of vertices, each vertex of said plurality of vertices is associated with vertex properties of said vertex. The vertex properties include at least one categorical feature value of one or more potential categorical feature values. For each of the one or more potential categorical feature values of each vertex, a numerical feature value is generated. The numerical feature value represents a proximity of the respective vertex to other vertices of the plurality of vertices that have a categorical feature value corresponding to the respective potential categorical feature value. Using the numerical feature values for each vertex, proximity encoding data is generated representing said input graph. The proximity encoding data is used to efficiently train machine learning models that produce results with enhanced accuracy.

Patent Agency Ranking