A non-transitory computer readable medium comprising instructions that when executed by a processor, cause the processor to perform operations comprising:
- receiving, from a user device, information identifying a first asset and a first owner;
- generating a first asserted asset data object associating the first asset with the first owner, wherein the first asserted asset data object comprises one or more first sets of data, wherein one of the first sets of data is first descriptive data associating the first asset with the first owner;
- maintaining, in a data store, a plurality of asserted asset data objects, the plurality of asserted asset data objects including at least:
- the first asserted asset data object comprising the first descriptive data associating the first asset and the first owner, and
- a second asserted asset data object comprising second descriptive data associating a second asset and a second owner;
- determining, based on the first descriptive data and the second descriptive data, that the first asset and the second asset are the same asset and that the first owner and the second owner are different owners;
- generating a first reconciled asserted asset data object associated with the first asserted asset data object and the second asserted asset data object, in response to determining that the first asset and the second asset are the same asset and the first owner and the second owner are different owners, wherein the first reconciled asserted asset data object comprises one or more second sets of data that are different from the first sets of data;
- maintaining, in the data store, a plurality of reconciled asserted asset data objects, wherein each reconciled asserted asset data object comprises one or more set of data, and each reconciled asserted asset data object associated with one or more asserted asset data objects, the plurality of reconciled asserted asset data objects including at least:
- the first reconciled asserted asset data object associated with the first asserted asset data object and the second asserted asset data object;
- determining a degree of overlap between one or more third sets of data associated with a third asserted asset data object and the one or more sets of data of each reconciled asserted asset data object;
- determining a ranking of the plurality of reconciled asserted asset data objects based on the degree of overlap;
- determining a reconciled asserted asset data object with a highest ranking;
- associating the third asserted asset data object with the reconciled asserted asset data object with the highest ranking;
- receiving a modification to the second descriptive data, where the modified second descriptive data conflicts at least in part with the first descriptive data;
- identifying a first subset of the plurality of asserted asset data objects, each asserted asset data object in the first subset comprising descriptive data that overlaps at least in part with the first descriptive data;
- identifying a second subset of the plurality of asserted asset data objects, each asserted asset data object in the second subset comprising descriptive data that overlaps at least in part with the modified second descriptive data;
- generating a first split reconciled asserted asset data object associated with the first subset of the plurality of asserted asset data objects;
- associating the first split reconciled asserted asset data object with the first subset of the plurality of asserted asset data objects;
- generating a second split reconciled asserted asset data object associated with the second subset of the plurality of asserted asset data objects;
- and
- associating the second split reconciled asserted asset data object with the second subset of the plurality of asserted asset data objects.