I am creating a project for a product recommendation system. An example for the use case of "Chairs" is that a user can input data on a front end using a drop down menu - the type of colour he prefers, the price range he wants, max weight of chair etc.
Next using load CSV I will load a csv which has information about different available chairs will be loaded into Neo4j to create a knowledge graph. A rough structure I have in mind is that: Chair #1, Chair #2 will have different nodes and these will be connected to nodes such as for colour, max weight, price etc. After the KG is formed, the user can enter his data and the graph will output what chair best matches the user requirements.
May I know what graph algorithms I can use to determine which chair best matches user requirements and how else I can improve/modify the project.
My thought process was e a user enters his requirement, I should form a new node for the user and run a similarity algorithm to determine how similar this node is to the chair nodes to find the best fit.
Thank you for your help