Is it right to build multiple same-type relationship with different property between two nodes?

Hey, I am trying to load csv data with shema like: (:PERSON)-[:WORKS]-(:DEPARTMENT). Since the same person may works at a department for multiple time periods. I add start_time and end_time properties in my [:works] relationship. However,when I run the import with aura DB's importer tool, only the last row of the same person was added succssfully. It seems most low-code import tools on the market goes this way.

So I am wondering, like the case above, is this the right way to do (build mutiple same-type relationships between two nodes)? What is a better solution?

Personally, I think that's a smart idea.

I'm not familiar with the importer tool; it could be that it defaults to MERGE, rather than CREATE, specifically to avoid redundant duplicates.

FWIW, another approach could be to reify ("turn into a thing") those relationships, and make them nodes labelled something like :WorkEngagement, with start_time and end_time attributes/properties. Then you could connect that to any other information you have about that specific time-period, such as updated contract details or who was involved in making the transfer happen. That means more work is involved in importing the data and constructing queries, so it's a trade-off against the value of any additional information you would realistically gain from that approach.

2 Likes

Thank you for the reply. I will try the other approach

I am also having this same issue. I want to create a relationship TEACHES between Teacher and Class where the properties of TEACHES are semester, section and room. But Neo4j only keeps the last entry in my dataset. Thus, I cannot have multiple instances of the TEACHES relationship. Would appreciate any ideas for solutions. Thanks.

How about a Section node that has the semester and section number. Then you have a Section node with a FOR_CLASS relationship to a Class node and Teacher node with a TEACHES_SECTION relationship to the Section Node?

1 Like