# US 2020/0401583 A1 · Method and computing device for generating a search query for a graph database

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2020/0401583 A1
- Document ID: US20200401583A1
- Status: Published application
- Kind: A1
- Application number: 16/450,191
- Filed: 2019-06-24
- Published: 2020-12-24
- Earliest claimed: 2019-06-24
- Assignees: Workiva Inc.
- Applicants: Workiva Inc.
- Inventors: Daniel Louis Church; Nathaniel Tobias Ohler; Ephie Risho; Jade Dean Robbins; Gary Rhoe Ingram; Jason Lee Erickson; John Arthur Bonk; Ryan Michael Gilsdorf; Alexander Jacob Iselin; Lauren Jewel Evans
- Web page: https://patentgrep.com/patent/US20200401583A1

## CPC

- G06F 16/2428: {Query predicate definition using graphical user interfaces, including menus and forms (G06F16/2423 takes precedence)}
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06F 3/0484: for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F 9/451: Execution arrangements for user interfaces
- G06F 16/245: Query processing
- G06F 16/248: Presentation of query results
- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- G06F 2203/04803: Split screen, i.e. subdividing the display area or the window area into separate subareas
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In an embodiment, a method for generating a search query for a graph database includes displaying a list of vertex properties on a user interface; receiving, via the user interface, a selection of one or more of the displayed vertex properties; forming a graph database query based on selection; and displaying a report containing a result of the query.

## Claims

### Claim 1

A method for generating a search query for a graph database, the graph database being structured as a plurality of vertices, each of the plurality of vertices having at least one edge relationship with another vertex of the plurality of vertices, the method comprising:
displaying a list of vertex properties of at least one vertex of the plurality of vertices of the graph database on a user interface;
receiving, via the user interface, a selection of one or more of the displayed vertex properties from the list of vertex properties;
forming a search query of the graph database based on the selection of the one or more of the displayed vertex properties; and
displaying a report containing a result of the search query.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
displaying a list of vertex types of at least one vertex of the plurality of vertices of the graph database; and
receiving, via the user interface, a selection of a vertex type from the list of vertex types,
wherein the displayed list of vertex properties includes one or more vertex properties of the selected vertex type and one or more vertex properties of unselected vertex types with which the selected vertex type has an edge relationship within the graph database.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
displaying a list of vertex types of the plurality of vertices of the graph database;
receiving a user selection of a vertex type from the list of vertex types; and
displaying a list of edge types for edge relationships in which the selected vertex type is a source within the graph database,
wherein the displayed list of vertex properties comprises one or more vertex properties of the selected vertex type and one or more vertex properties of target vertices of the displayed edge types.

### Claim 4 (depends on 3)

The method of claim 3, wherein each of the displayed list of edge types is expandable to display the one or more vertex properties of the target vertices.

### Claim 5 (depends on 1)

The method of claim 1, further comprising: as each of the one or more vertex properties is selected, displaying a column for the selected vertex property in a shell report on the user interface.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
for at least one of the selected vertex properties, receiving a user request to edit a respective column heading corresponding to the at least one of the selected vertex properties,
wherein displaying the report comprises displaying the column heading corresponding to the selected property in accordance with the user request.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
receiving, via the user interface, a user entry of text;
conducting a search for vertex types based on the text;
displaying a list of vertex types of the graph database based on a result of the search; and
receiving a user selection of a vertex type from the list of vertex types,
wherein displaying the list of vertex properties comprises displaying one or more vertex properties of the selected vertex type and displaying one or more vertex properties of vertex types with which the selected vertex type has an edge relationship in the graph database.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
receiving, via the user interface, an input indicating a filter to be applied; and
configuring the report according to the filter.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
receiving, via the user interface, an input indicating a sort to be applied; and
configuring the report according to the sort.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
receiving, via the user interface, an input indicating a vertex property of the list of vertex properties that is to be optional,
wherein displaying the report comprises including at least one result of the query for which the vertex property indicated to be optional does not exist.

### Claim 11 (depends on 1)

The method of claim 1, wherein displaying a report containing a result of the query comprises:
displaying a plurality of columns organized into a plurality of groups,
wherein each group of the plurality of groups represents a vertex type of the graph database and each column in the group represents a vertex property of the received selection of vertex properties that is associated with the vertex type.

### Claim 12

A method for generating a search query for a graph database, the graph database being structured as a plurality of vertices, each of the plurality of vertices having at least one edge relationship with another vertex of the plurality of vertices, the method comprising:
displaying a user interface comprising,
a first pane including a list of user-selectable properties of a first vertex type of the plurality of vertices of the graph database and a list of user-selectable properties of a second vertex type of the plurality of vertices of the graph database with which the first vertex type has an edge relationship in the graph database, and
a second pane;
receiving, via the user interface, a selection of a subset of the properties of the first vertex type;
receiving, via the user interface, a selection of a subset of the properties of the second vertex type;
forming a query of the graph database based on the selected subset of the properties of the first vertex type and the selected subset of the properties of the second vertex type; and
displaying, in the second pane, a preview of a report generated based on a result of the query.

### Claim 13 (depends on 12)

The method of claim 12, further comprising:
displaying, in the first pane, an edge type whose source vertex is of the first vertex type and whose target vertex is of the second vertex type; and
displaying the user-selectable properties of the second vertex type under the displayed edge type.

### Claim 14 (depends on 13)

The method of claim 13, further comprising:
receiving a user selection of the edge type; and
in response to the user selection of the edge type, expanding the displayed edge type to show the user-selectable properties of the second vertex type.

### Claim 15 (depends on 12)

The method of claim 12, further comprising,
displaying, in the second pane, a shell of the report;
as the selection for each property of the first vertex type and the second vertex type is received, adding, to the shell, a column whose header is the name of the property,
wherein displaying the preview of the report comprises populating the shell with the result of the query.

### Claim 16 (depends on 12)

The method of claim 12, further comprising displaying, in a third pane, a tree representation of the edge relationship between the first vertex type and a plurality of other vertex types of the plurality of vertices, including the second vertex type.

### Claim 17 (depends on 12)

The method of claim 12, further comprising:
receiving a request to edit a column heading corresponding to a property of the selected subset of the properties of the first vertex type or to a property of the selected subset of the properties of the second vertex type;
wherein displaying the preview of the report comprises displaying the column heading corresponding to the property in accordance with the request.

### Claim 18 (depends on 12)

The method of claim 12, wherein displaying a preview of the report comprises:
displaying a plurality of columns organized into a first group and a second group,
wherein the first group represents the first vertex type and includes columns representing the selected subset of the properties of the first vertex type, and
wherein the second group represents the second vertex type and includes columns representing the selected subset of the properties of the second vertex type.

### Claim 19

A method for generating a search query for a graph database, the graph database being structured as a plurality of vertices, each of the plurality of vertices having at least one edge relationship with another vertex of the plurality of vertices, the method comprising:
displaying, on a user interface, a graphical representation of a plurality of vertex types of the plurality of vertices and a plurality of edge types for a-edge relationships of the graph database;
receiving, via the user interface, a selection from the graphical representation of at least one of the plurality of vertex types and at least one of the plurality of edge types;
forming a query of the graph database based on the selections; and
displaying a report containing a result of the query.

### Claim 20 (depends on 19)

The method of claim 19, further comprising:
receiving, via the user interface, an input indicating that edge labels are to be displayed; and
displaying an edge label for each of the displayed edge types.

### Claim 21 (depends on 19)

The method of claim 19, further comprising:
displaying, on the user interface, a list of columns to be displayed in the report;
receiving a user gesture indicating a reordering of the list of columns; and
displaying the report in accordance with the reordered list.

### Claim 22 (depends on 19)

The method of claim 19, further comprising:
displaying, on the user interface, a list of edge types or vertex types to be used in the query;
receiving, via the user interface, an input indicating a vertex type or edge type of the list that is to be optional,
wherein the query excludes results for which the selected vertex type and the selected edge type does not exist, except for results in which the selected vertex type or selected edge type has been indicated to be optional.

### Claim 23 (depends on 19)

The method of claim 19, wherein displaying a report containing a result of the query comprises:
displaying a plurality of columns organized into a plurality of groups,
wherein each group of the plurality represents a vertex type of the one or more selected vertex types and each column in the group represents a vertex property that is associated with the vertex type.
