Generating shortcut paths between related data types
Abstract
Embodiments are directed to managing data. A data model that includes data types, data type relationships, shortcuts may be provided. In response to a query for determining a directed path in the data model for a shortcut further actions may be performed including: determining candidate nodes and traversal edges based on the data model, a target data type, and a source data type;generating a tree based on the candidate nodes and the traversal edges; removing leaf nodes of the tree that are not the target data type; removing duplicate branches of the tree that correspond to duplicate traversal edges; determining the directed path in the data model connecting the source data type to the target data type based on the remaining candidate nodes and traversal edges; and generating a response to the query based on the directed path.
Claims
exact text as granted — not AI-modifiedWhat is claimed as new and desired to be protected by Letters Patent of the United States is:
1 . A method for managing data using a computer that includes one or more processors, wherein the method is executed by the one or more processors that perform actions, comprising:
providing a data model that includes one or more data types, one or more data type relationships, and one or more shortcuts, wherein each data type is represented by a node in the data model and each data type relationship is represented by a pair of directed edges in the data model; and in response to a query for determining a directed path in the data model for a shortcut, performing further actions, including:
determining a current source data type and a current target data type based on the shortcut;
determining one or more candidate nodes and one or more traversal edges based on the data model, the current target data type, and the current source data type, wherein each traversal edge corresponds to a data type relationship between two data types included in the data model, the one or more candidate nodes and the one or more traversal edges;
generating a tree based on the one or more candidate nodes and the one or more traversal edges;
removing one or more leaf nodes of the tree, wherein one or more remaining leaf nodes correspond to the current target data type;
removing one or more branches of the tree, wherein the one or more removed branches correspond to one or more duplicate traversal edges in the tree;
determining the directed path in the data model connecting the current source data type to the current target data type based on a remainder of the one or more candidate nodes in the tree and a remainder of the one or more traversal edges in the tree; and
generating a response to the query based on employing the directed path to traverse the data model from the current source data type to the current target data type.
2 . The method of claim 1 , wherein determining the one or more candidate nodes and the one or more traversal edges further comprises:
providing one or more closure source data types, one or more closure target data types, and one of more directed closure edges that are associated with the data model; generating one or more closures based on the one or more closure source data types, the one or more closure target data types, and the one of more directed closure edges; determining the one or more candidate nodes based a portion of the one or more closures associated with the target data type and the source data type; and determining the one or more traversal edges based on the portion of the one or more closures.
3 . The method of claim 1 , wherein determining the one or more traversal edges further comprises:
providing one or more flow source data types, one or more flow target data types, and one of more directed flow edges that are associated with the data model; generating one or more flow boundaries based on the one or more flow source data types, the one or more flow target data types, and the one of more directed flow edges, wherein each flow boundary indicates a transition boundary between the one or more data types in the data model; and adding the one or more directed flow edges to the one or more traversal edges.
4 . The method of claim 1 , further comprising:
employing a data store to provide one or more persisted shortcuts associated with the data model, wherein each persisted shortcut provides another directed path between another source data type and another target data type; and in response to determining one or more portions of the directed path that correspond to the one or more persisted shortcuts, substituting the corresponding one or more persisted shortcuts for the one or more portions of the directed path.
5 . The method of claim 1 , further comprises:
modifying the data model based on including one or more other data types or including one or more other data type relationship; generating another directed path based on the modified data model and the one or more shortcuts; and providing the other directed path as a substitute to the directed path.
6 . The method of claim 1 , wherein providing the data model, further comprises, automatically generating one or more directed paths for each shortcut in the absence of the query.
7 . The method of claim 1 , wherein providing the data model, further comprises:
providing one or more compound data types that are comprised of one or more other data types; and providing more than one node in the data model that represent a same data type.
8 . A system for managing data:
a network computer, comprising:
a memory that stores at least instructions; and
one or more processors that execute instructions that perform actions, including:
providing a data model that includes one or more data types, one or more data type relationships, and one or more shortcuts, wherein each data type is represented by a node in the data model and each data type relationship is represented by a pair of directed edges in the data model; and
in response to a query for determining a directed path in the data model for a shortcut, performing further actions, including:
determining a current source data type and a current target data type based on the shortcut;
determining one or more candidate nodes and one or more traversal edges based on the data model, the current target data type, and the current source data type, wherein each traversal edge corresponds to a data type relationship between two data types included in the data model, the one or more candidate nodes and the one or more traversal edges;
generating a tree based on the one or more candidate nodes and the one or more traversal edges;
removing one or more leaf nodes of the tree, wherein one or more remaining leaf nodes correspond to the current target data type;
removing one or more branches of the tree, wherein the one or more removed branches correspond to one or more duplicate traversal edges in the tree;
determining the directed path in the data model connecting the current source data type to the current target data type based on a remainder of the one or more candidate nodes in the tree and a remainder of the one or more traversal edges in the tree; and
generating a response to the query based on employing the directed path to traverse the data model from the current source data type to the current target data type; and
a client computer, comprising:
a memory that stores at least instructions; and
one or more processors that execute instructions that perform actions, including:
providing the query.
9 . The system of claim 8 , wherein determining the one or more candidate nodes and the one or more traversal edges further comprises:
providing one or more closure source data types, one or more closure target data types, and one of more directed closure edges that are associated with the data model; generating one or more closures based on the one or more closure source data types, the one or more closure target data types, and the one of more directed closure edges; determining the one or more candidate nodes based a portion of the one or more closures associated with the target data type and the source data type; and determining the one or more traversal edges based on the portion of the one or more closures.
10 . The system of claim 8 , wherein determining the one or more traversal edges further comprises:
providing one or more flow source data types, one or more flow target data types, and one of more directed flow edges that are associated with the data model; generating one or more flow boundaries based on the one or more flow source data types, the one or more flow target data types, and the one of more directed flow edges, wherein each flow boundary indicates a transition boundary between the one or more data types in the data model; and adding the one or more directed flow edges to the one or more traversal edges.
11 . The system of claim 8 , wherein the one or more network computer processors execute instructions that perform actions, further comprising:
employing a data store to provide one or more persisted shortcuts associated with the data model, wherein each persisted shortcut provides another directed path between another source data type and another target data type; and in response to determining one or more portions of the directed path that correspond to the one or more persisted shortcuts, substituting the corresponding one or more persisted shortcuts for the one or more portions of the directed path.
12 . The system of claim 8 , wherein the one or more network computer processors execute instructions that perform actions, further comprising:
modifying the data model based on including one or more other data types or including one or more other data type relationship; generating another directed path based on the modified data model and the one or more shortcuts; and providing the other directed path as a substitute to the directed path.
13 . The system of claim 8 , wherein providing the data model, further comprises, automatically generating one or more directed paths for each shortcut in the absence of the query.
14 . The system of claim 8 , wherein providing the data model, further comprises:
providing one or more compound data types that are comprised of one or more other data types; and providing more than one node in the data model that represent a same data type.
15 . A processor readable non-transitory storage media that includes instructions for managing data, wherein execution of the instructions by one or more processors, performs actions, comprising:
providing a data model that includes one or more data types, one or more data type relationships, and one or more shortcuts, wherein each data type is represented by a node in the data model and each data type relationship is represented by a pair of directed edges in the data model; and in response to a query for determining a directed path in the data model for a shortcut, performing further actions, including:
determining a current source data type and a current target data type based on the shortcut;
determining one or more candidate nodes and one or more traversal edges based on the data model, the current target data type, and the current source data type, wherein each traversal edge corresponds to a data type relationship between two data types included in the data model, the one or more candidate nodes and the one or more traversal edges;
generating a tree based on the one or more candidate nodes and the one or more traversal edges;
removing one or more leaf nodes of the tree, wherein one or more remaining leaf nodes correspond to the current target data type;
removing one or more branches of the tree, wherein the one or more removed branches correspond to one or more duplicate traversal edges in the tree;
determining the directed path in the data model connecting the current source data type to the current target data type based on a remainder of the one or more candidate nodes in the tree and a remainder of the one or more traversal edges in the tree; and
generating a response to the query based on employing the directed path to traverse the data model from the current source data type to the current target data type.
16 . The media of claim 15 , wherein determining the one or more candidate nodes and the one or more traversal edges further comprises:
providing one or more closure source data types, one or more closure target data types, and one of more directed closure edges that are associated with the data model; generating one or more closures based on the one or more closure source data types, the one or more closure target data types, and the one of more directed closure edges; determining the one or more candidate nodes based a portion of the one or more closures associated with the target data type and the source data type; and determining the one or more traversal edges based on the portion of the one or more closures.
17 . The media of claim 15 , wherein determining the one or more traversal edges further comprises:
providing one or more flow source data types, one or more flow target data types, and one of more directed flow edges that are associated with the data model; generating one or more flow boundaries based on the one or more flow source data types, the one or more flow target data types, and the one of more directed flow edges, wherein each flow boundary indicates a transition boundary between the one or more data types in the data model; and adding the one or more directed flow edges to the one or more traversal edges.
18 . The media of claim 15 , further comprising:
employing a data store to provide one or more persisted shortcuts associated with the data model, wherein each persisted shortcut provides another directed path between another source data type and another target data type; and in response to determining one or more portions of the directed path that correspond to the one or more persisted shortcuts, substituting the corresponding one or more persisted shortcuts for the one or more portions of the directed path.
19 . The media of claim 15 , further comprises:
modifying the data model based on including one or more other data types or including one or more other data type relationship; generating another directed path based on the modified data model and the one or more shortcuts; and providing the other directed path as a substitute to the directed path.
20 . The media of claim 15 , wherein providing the data model, further comprises:
providing one or more compound data types that are comprised of one or more other data types; and providing more than one node in the data model that represent a same data type.Join the waitlist — get patent alerts
Track US2023059083A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.