Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.
10-22-2019 07:33 AM
In recommendation, we need to calculate the score of each relationship and return the result to our app.
So the question is: should we create multi relationships with the same label between 2 nodes with each relationship contains 1 score for example.
OR we should create only 1 relationship and update it's score each we listen an event to it from the app?
Which is the best practice for this in neo4j ?
10-22-2019 09:03 AM
The one issue i see with multi-relationships between two nodes using the same name is you have to rely on something to help distringuish them if you need to select a specific one; which, then means you need to rely on properties of these relationships to distinguish or directionality of the relationships since the labels cant be used to distinguish. This multi-relationship with the same label approach and no distinguishing characteristics on direction or properties is only acceptable if your algorithm uses an aggregation of the relationships off a node either with a count or summation of property value, etc. My personal perference, which may or may not be the best practice, would be then to use properties under a single relationship to hold those calculations, or to rely on different directionality of the multi-relationships (one points one way, the other points the other way). I may have not answered what you were thinking, but i would be interested to hear where i may be mis-thinking or overlooking other parts of Neo4j, since i am only a few month veteran of the technology
10-22-2019 08:18 PM
Thanks to share your thoughts, I did use properties for them (relationships). What I concern here is about performance, alos the visualization of the graph in case it can react to millions relationships when we track user's behavior in app.
All the sessions of the conference are now available online