Online dating graph
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.
That is the simple but powerful logic behind most dating sites.
Though 21% of respondents said they think people who use online dating sites are “desperate,” that’s a decrease from the 29% who agreed with the statement eight years ago.
Some of the naysayers, however, are the same people logged onto online sites and apps.
Typically, the same kind of query would involve multiple table-joints : it would be harder to write and slow to run.
A few online dating web sites are already using Neo4j in production. Here is for example, how Meetic (a French-based dating website) uses Neo4j.
Max de Marzi has written a nice recommendation for the data we are using : If you want to learn more about Cypher, I encourage you to go to Max’s blog and read the breakdown of the query.