1. A machine-readable non-transitory medium having instructions stored thereon, where the instructions, when read by the machine, cause the machine to perform the steps of: accessing a semantic representation associated with a first dataset and a semantic representation associated with a second dataset, wherein at least one of the semantic representation associated with the first dataset and the semantic representation associated with the second dataset is a trainable semantic vector generated based on at least one data point included in a respective dataset and known relationships between predetermined data points and predetermined categories to which the predetermined data points may relate; determining a similarity between the semantic representation associated with the first dataset and the semantic representation associated with the second dataset; and selectively relating the first dataset to the second dataset based on a result of the determining step; wherein each attribute in a trainable semantic vector indicates how likely a dataset represented by the trainable semantic vector belongs to one of the predetermined categories, and the trainable semantic vector has a dimension equal to the number of the predetermined categories.