IP Library Granted Patent US 12,056,107
Granted Patent B2
US 12,056,107 · App. 17/898,113 · Granted Aug 6, 2024

Managing vertex level access in a graph via user defined tag rules

Inventors: Mingxi Wu (San Mateo, CA); Victor Lee (Alliance, OH)
Assignee: TigerGraph, Inc.
G06F16/2228
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,056,107
App. No.
17/898,113
Granted
Aug 6, 2024
Kind
B2
Abstract

Systems, methods, and software to manage tags in association with vertices of a graph. In one implementation, a graph management system identifies a request to tag vertices in the graph, wherein the request indicates one or more attributes to qualify for the tag as part of a conditional expression. The graph management system further identifies vertices in the graph with the one or more attributes. Once identified, the graph management system assigns the tag to the vertices wherein the tag comprises an attribute assigned to the identified vertices.

Claims (50)

1. A method comprising:

identifying one or more requests to add one or more tags to a plurality of vertices in a graph stored on a computing device, wherein each request of the one or more requests for a tag of the one or more tags indicates a conditional expression that defines one or more attributes to qualify for the tag, and wherein the plurality of vertices comprise one or more types;

for each tag of the one or more tags:

identifying one or more vertices in the graph that satisfy the conditional expression indicated for the tag; and

assigning the tag to the one or more vertices, wherein the tag comprises an attribute associated with the one or more vertices;

obtaining a second request to generate a subgraph from the graph, wherein the request indicates a second conditional expression for a subset of tags of the one or more tags that qualify for the subgraph;

selecting a subset of vertices in the graph to assign to the subgraph that satisfy the second conditional expression; and

selecting a subset of edges from a plurality of edges in the graph for the subgraph based on each edge in the subset of edges connecting two vertices in the subset of vertices.

2. The method of claim 1 , wherein the second conditional expression indicates a requirement that a first tag of the one or more tags and a second tag of the one or more tags is required for a vertex to qualify for the subgraph.

3. The method of claim 1 further comprising:

receiving a query to the subgraph; and

generating a response to the query using the subset of vertices and the subset of edges selected for the subgraph.

4. The method of claim 1 , wherein the second conditional expression indicates a requirement that a first tag of the one or more tags or a second tag of the one or more tags is required for a vertex to qualify for the subgraph.

5. The method of claim 1 further comprising allocating permissions to one or more users to access the subgraph.

6. The method of claim 1 , wherein the graph comprises a social network graph or a transaction graph.

7. A computing apparatus comprising:

a storage system;

a processing system operatively coupled to the storage system; and

program instructions stored on the storage system that, when executed by the processing system, direct the computing apparatus to:

identify one or more requests to add one or more tags to a plurality of vertices in a graph stored on a computing device, wherein each request of the one or more requests for a tag of the one or more tags indicates a conditional expression that defines one or more attributes to qualify for the tag, and wherein the plurality of vertices comprise one or more types;

for each tag of the one or more tags:

identify one or more vertices in the graph that satisfy the conditional expression indicated for the tag; and

assign the tag to the one or more vertices, wherein the tag comprises an attribute associated with the one or more vertices;

obtain a second request a second request to generate a subgraph from the graph, wherein the request indicates a second conditional expression for a subset of tags of the one or more tags that qualify for the subgraph;

select a subset of vertices in the graph to assign to the subgraph that satisfy the second conditional expression; and

select a subset of edges from a plurality of edges in the graph for the subgraph based on each edge in the subset of edges connecting two vertices in the subset of vertices.

8. The computing apparatus of claim 7 , wherein the second conditional expression indicates a requirement that a first tag of the one or more tags and a second tag of the one or more tags is required for a vertex to qualify for the subgraph.

9. The computing apparatus of claim 7 , wherein the program instructions further direct the computing apparatus to:

receive a query to the subgraph; and

generate a response to the query using the subset of vertices and the subset of edges selected for the subgraph.

10. The computing apparatus of claim 7 , wherein the second conditional expression indicates a requirement that a first tag of the one or more tags or a second tag of the one or more tags is required for a vertex to qualify for the subgraph.

11. The computing apparatus of claim 7 , wherein the program instructions further direct the computing apparatus to allocate permissions to one or more users to access the subgraph.

12. The computing apparatus of claim 7 , wherein the graph comprises a social network graph or a transaction graph.

13. An apparatus comprising:

one or more non-transitory computer readable storage media; and

program instructions stored on the one or more non-transitory computer readable storage media that, when executed by at least one processor, direct the at least one processor to:

identify one or more requests to add one or more tags to a plurality of vertices in a graph stored on a computing device, wherein each request of the one or more requests for a tag of the one or more tags indicates a conditional expression that defines one or more attributes to qualify for the tag, and wherein the plurality of vertices comprise one or more types;

for each tag of the one or more tags:

identify the one or more vertices in the graph that satisfy the conditional expression; and

assign the tag to the one or more vertices, wherein the tag comprises an attribute associated with the one or more vertices;

obtain a second request a second request to generate a subgraph from the graph, wherein the request indicates a second conditional expression for a subset of tags of the one or more tags that qualify for the subgraph;

select a subset of vertices in the graph to assign to the subgraph that satisfy the second conditional expression; and

select a subset of edges from a plurality of edges in the graph for the subgraph based on each edge in the subset of edges connecting two vertices in the subset of vertices.

14. The apparatus of claim 13 , wherein the second conditional expression indicates a requirement that a first tag of the one or more tags and a second tag of the one or more tags is required for a vertex to qualify for the subgraph.

15. The apparatus of claim 13 , wherein the program instructions further direct the at least one processor to:

receive a query to the subgraph; and

generate a response to the query using the subset of vertices and the subset of edges selected to the subgraph.

16. The apparatus of claim 13 , wherein the second conditional expression indicates a requirement that a first tag of the one or more tags or a second tag of the one or more tags is required for a vertex to qualify for the subgraph.

17. The apparatus of claim 13 , wherein the program instructions further direct the at least one processor to allocate permissions to one or more users to access the subgraph.

18. The apparatus of claim 13 , wherein the graph comprises a social network graph or a transaction graph.

Assignments (2)
SECURITY INTEREST Recorded Sep 24, 2025
From: TIGERGRAPH, INC.
To: WESTERN ALLIANCE BANK
Reel/Frame 072363/0020 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 15, 2023
From: WU, MINGXI; LEE, VICTOR
To: TIGERGRAPH, INC.
Reel/Frame 062708/0114 →
Continuity (2)
Provisional Application 63238550 · Aug 30, 2021
Related Publication 20230067107A1 · Mar 2, 2023