Hi,
Got unique model for which I am looking for help find the query solution.
Model:
Two nodes (A,B) are connected by relationship say, R. This R has two list properties - updates/states.
(A)-[r:R {updates, states}]->(B)
- Updates hold Dates and States hold String - ACTIVE/REMOVED etc.
- Dates in updates are ascending.
- For each Date, we have corresponding State, Length of both the properties will be same.
Query:
We need to find all A, B, where a given Date(d) is provided as parameter. We need to find the dates in updates property, find the index of date == (d), then find the corresponding states[index], if this is ACTIVE - return the result, else ignore.
Does it make sense to use CYPHER or try with UDFs for this use case?
Also, will it make sense to model the problem differently? Instead of storing the updates/states as list, we can always create a new relationship with different property - update/state. Would that be more helpful? We have to store at least 30 days of data, hence between two nodes, approx 30 relationships will be present (if we pick this approach).
Volume: For single date, we have approx 200K nodes and 1.3 M relationships
Please put in your two cents. Much appreciated.