Patent ID: 9229982
Filing Date: 2016-01-05
CPC Classification: G06F

Claim Text:
1. A non-transitory computer readable storage medium, comprising executable instructions to: specify a set of database tables defining vertices and database joins defining oriented edges to form a graph, wherein the oriented edges specify directionality characterizing dependent relationships between the database tables; identify a query path in the graph; split the graph into a set of directed acyclic graphs, wherein each directed acyclic graph has a single root vertex that does not form a path to itself through oriented edges; remove all selected oriented edges from each directed acyclic graph to form a tree corresponding to each directed acyclic graph, wherein the tree is a sub-graph of one of the set of directed acyclic graphs without loops and one list of joins relates any two database tables in the tree, wherein the removing comprises identifying a simple cycle in the one of the set of directed acyclic graphs that contains only one fan trap and one source, wherein a fan trap is a vertex with two incoming edges, wherein at least a portion of the removed selected oriented edges are within the simple cycle; wherein the simple cycle is identified in the directed acyclic graph by: generate a database query for each tree; apply each database query for each tree to the database tables that correspond to the vertices in the tree to form query results; and display the query results.