A method may include retrieving, over a network device, data from a data source, the data formatted according to a relational database schema; converting, using at least one processor, the data from the data source into a knowledge graph; training, using the at least one processor, a neural network using triples from the knowledge graph, wherein a loss function of the neural network is based on a distance between a true triple from the knowledge graph and a corrupt triple; and after the training, storing weights of a hidden layer of the neural network as a vector space representation of entities in the knowledge graph.