TECHNICAL FIELD

This disclosure relates to approaches for tracking and enforcing relationships between items in a system.

BACKGROUND

Under conventional approaches, tracking and enforcing relationships between items (e.g., dataset, application, folder, report, resource) stored or used in a system may be difficult. For example, a set of data utilized by a system may depend from, be derived from, form the basis of, and/or otherwise be connected to one or more other sets of data stored by the system. As individuals or entities with access to the system perform analysis on the data and/or add additional data or resources related to the data already stored, relationships between data become increasingly difficult to track and visualize. Similarly, enforcing policies based on the provenance of data or relationship between multiple datasets may be time-consuming and labor intensive. For example, the dependence of a first dataset on one or more other datasets may result in errors in the first dataset due to violations in the provenance and/or relationships of those other dataset(s). As additional datasets or resources are generated based on the first dataset, the problem may become exacerbated. Typically, these issues are increasingly compounded as systems grow and the relationships between the data stored in the system become more difficult to track. These and other drawbacks exist with conventional solutions.

SUMMARY

A claimed solution rooted in computer technology overcomes problems specifically arising in the realm of computer technology. Various embodiments of the present disclosure may include systems, methods, and non-transitory computer readable media configured to track and enforce relationships between items. A relationship interface may be provided that conveys the relationship (or link) between items. For example, an item may comprise a dataset, an application, a folder, a report, a resource, and/or one or more other types of data or tool. In various embodiments, a user may define the link between two or more items via the relationship interface. For example, a selectable list of predefined link types may be provided to enable a user to define the relationship between two or more items. As another example, a graphical tool may be provided to enable a user to define the relationship between two or more items by visually connecting the items (e.g., drawing lines between items). Identifying a link between two items may establish a set of one or more rules to be enforced with respect to the use of one or both of the items (e.g., when the item(s) are stored, when the item(s) are used to create other item(s), when other items are associated with the item(s)). In various embodiments, violations of one or more rules may be identified and provided via the user interface. In some embodiments, a new data object that conflicts with one or more rules may be prevented from being committed.

In various embodiments, the systems, methods, and non-transitory computer readable media are configured to provide a relationship interface comprising a visualization of items in a system and the relationships between those items. An item may comprise and/or represent one or more datasets (e.g., raw upload datasets, ingests from other systems, datasets derived from raw uploads, analyzed datasets, and/or other datasets), artifacts of datasets, data catalogs, data paths, spreadsheets, timeseries, ontology objects, reports, use cases, projects, systems, folders, applications, data sources and/or other resources, and/or other types of data objects or tools. In some implementations, an item may comprise, or serve as a representative placeholder for, an individual user, a set of users, a predefined group of users, one or more users having particular characteristics, and/or one or more other individuals or groups of individuals. The relationship interface may be configured to display a visual representation of the plurality of items. The items displayed may be determined based on the identification of the user accessing the relationship interface and/or based on user input received via the relationship interface. Through the relationship interface, the relationships between the items displayed may be identified, tracked, and/or enforced.

In various embodiments, the systems, methods, and non-transitory computer readable media are configured to facilitate the identification of links between the items. A link between items may define the relationship between those items. The identification of links between items may establish one or more rules to be enforced with respect to usage of the items. Based on the links identified between one or more of a set of items, a user may utilize the relationship interface to visualize and manually indicate how items within a system are interrelated. In some embodiments, user input identifying a link between at least two items may comprise textual input that includes one or more relationship parameters that serve as rules to be enforced with respect to the usage of the at least two items. In some embodiments, user input identifying a link between at least two items may comprise a selection of one or more predefined link types. For example, the user input may comprise the selection of at least one predefined link type from a selectable list of predefined link types provided via the relationship interface. Each link may be associated with one or more rules to be enforced. The one or more rules associated with each link may be unique to that link. As such, the one or more rules associated with a link may comprise constraints that are created to preserve and/or enforce the relationship defined by the link.

In various embodiments, the systems, methods, and non-transitory computer readable media are configured to enforce the rules associated with relationships between items. The rules associated with relationships—or links—between items may be enforced by surfacing violations of the rules associated with links between items, preventing one or more actions from occurring that would conflict with the rules, and/or providing error messages when a new item that conflicts with the rules is created. Violations of, or conflicts with, the one or more rules may be identified based on item information (e.g., metadata) for individual items in a system. When new rules are created, the items in the system may be analyzed to identify one or more violations and surface those violations via the relationship interface. When new items are created, the items may be analyzed against rules associated with items included in and/or associated with the new item. If the new item conflicts with one or more rules, the new item may be prevented from being committed to the system and/or an error message may be provided. Visualizations of identified violations may be provided via the relationship interface. The visualization of a violation may include a textual and/or graphical description of the violation. In some embodiments, selection of an identified violation may cause the user interface to navigate to the selected violation, or an interface through which the user may visualize and/or modify the items causing the violation.

These and other features of the systems, methods, and non-transitory computer readable media are disclosed herein, as well as the methods of operation and functions of the related elements of structure and the combination of parts and economies of manufacture, will become more apparent upon consideration of the following description and the appended claims with reference to the accompanying drawings, all of which form a part of this specification, wherein like reference numerals designate corresponding parts in the various figures. It is to be expressly understood, however, that the drawings are for purposes of illustration and description only and are not intended as a definition of the limits of the invention(s).

