similarity algorithm may identify identical times and locations within the databases associated with similar product identifiers. 

[0041] In some embodiments, when an additional dimension is inferred for a data graph (including the identified duplications or discrepancies), the electronic processor 300 may be configured to automatically add data to the data graph to add the additional dimension (automatically confirm addition of the related data). Alternatively or in addition, in some embodiments, the electronic processor 300 is configured to prompt a user to confirm whether to add an inferred additional dimension. Accordingly, in some embodiments, a user can control how a data graph is expanded. Also, although a user may decide not to add a particular dimension to a data graph during the initial creation of the data graph, the user may later revisit and change the expansion options. Similarly, periodically or as new information becomes available (in the plurality of data sources 115), the electronic processor 300 may re-execute the expansion software 320 to identify further expansions (additional dimensions) for the data graph and, as described above, may prompt the user to confirm whether to apply available expansions. 

[0042] In some embodiments, the electronic processor 300 determines a probability for an identified additional dimension (including duplication or discrepancy corrections). The electronic processor 300 may use a rules based approach (for example, a rules set), a standard mathematical approach (for example, linear interpolation), machine learning approaches (for example, decision trees), or the like to determine such probabilities. The probability may represent a degree of confidence that the dimension will be useful or relevant to the data graph or fix an actual issue with the original data graph (generally improve the data graph). The electronic processor 300 may calculate this probability by considering a degree of similarity or relatedness to the data graph, user preferences, user history, or the like. In one example, when two locations of an entity are known, the electronic processor 300 may be configured to calculate one or more likely travel paths or pass-through locations (such as other facilities that may not be providing data records) of the entity between the two locations using, for example, a machine learning algorithm trained to predict intermediate locations based on historical data about shipping. In another example, the electronic processor 300 may be configured to determine similar identifiers as described above (for example, associated with an identical time and location) and generate a probability that the identifiers are actually identical (referring to an identical entity, component, or stage). The probability may be provided to a user to aid the user in deciding whether to confirm the addition of the inferred dimension. For example, inferred 

