Build database dating website

Graph technologies are very good for recommendation.

It is no wonder that the biggest online dating websites are using it.

We are going to see through a concrete example how to use graphs to find love with the Neo4j graph database.

build database dating website-47

It helps them suggest in real-time potential dates to their customers.

The better the suggestions, the more chances people will want to meet…and enjoy doing so.

We are going to see how to do recommendation with graphs. Of course, the same approach could be applied to other domains like retail.

In order to show how to use graphs to write recommendation algorithms, we are going to use a fake dataset.

It emulates the kind of data an online dating site would have. It has been prepared by Max de Marzi of Neo Technology who used to show how Neo4j can be used for match making.

Here is a quick overview of the underlying data model : As you can see, the data can be modeled as a graph with people, locations and attributes. People are linked to the locations where they live in and to attributes.People can have two kinds of relationships with an attribute : they can “want” it (it means they want their potential dates to have that attribute) or they can “have” it (it means they have the attribute).For example, in the graph, we can see that Nicole has the attributes “calm” and “smart”. At this point what we have done is simply express the data in a way that makes sense. What we want is to find good matches between people.The data model we have is going to help us do that.It illustrates a simple truth : people are connected through the things they share.Simply by looking at the data model, we can see that Nicole and John would be a good match. In addition John is “sweet” which is what Nicole wants.

Tags: , ,