Patent attributes
A computer system obtains a data model that encodes a data source as a tree of logical tables. Each logical table includes respective data fields of the data source. For each data field in the logical tables, the system automatically assigns a semantic role to the data field based on a concept obtained from a concept graph. The system determines hierarchies between the data field and other data fields in the first data source based on a respective semantic role of the data field and semantic roles of the other data fields. The system validates the data field based on the assigned semantic role and the determined hierarchies. The system displays transformations to clean the data field based on the assigned semantic role. The system transforms data values for the data field according to a user input and updates the logical tables according to the transformed data values.