(Graphs embeddings for Neo4j in Python)
Graphs databases are a powerful way to represent real world data in a simple and intuitive manner They can effectively capture inherent relationships within the data and provide meaningful insights that cannot be obtained using traditional relational databases.
WHAT ARE GRAPH EMBEDDINGS?
Machine Learning on graph data has been the talk of the town for quite a while now. With the advantage of using graphs being quite evident; applying machine learning algorithms on graphs can be used for tasks such as graph analysis, link prediction, clustering etc.
Graph Embeddings are a way to encode the graph data as vectors that can effectively capture the structural information, such as the graph topology and the node to node relationships in the graph database. These embeddings can then be ingested by ML algorithms for performing various tasks
HOW CAN GRAPH EMBEDDINGS BE USED?
Graph embeddings can be used to perform various tasks including machine learning tasks. For example, embeddings of two nodes can be used to determine if a relationship can exist between them. Or, given a particular node and a relation, embeddings can be used to find similar nodes and rank them using similarity search algortihms Common applications include knowledge graph completion and drug discovery where new relations can be dicovered between two nodes. Link prediction and Recommendation systems in cases such as social networks analysis where potential new friendships can be found.
PyEmbeo is a project in python that creates graph embeddings for a Neo4j graph database. Just pass the link to a neo4j graph database from a commnad line interface, wait for sometime till the embeddings train and you're good to go. The obtained embeddings can be then used to perform other tasks such as similarity search, scoring or ranking. (Note: currently the similarity search task has been implemented, other tasks are still in development)
The next immediate action would be to package the project as a conda/pip package. Adding more tasks like relationship ranking/scoring is definitely a top priority. And much more...