I have the following problem that I need to solve for efficient querying, and flexible properties expansion:
nodes:
node_id1
node_id2
node_id3
node_id4
node_id5
groups:
node_id1;node_id2;node_id3
node_id4;node_id5
node_id1 < node_id2 < node_id3 => node_id1;node_id2;node_id3
(unique group ID from smallest to largest)
properties:
node_id1: color:red
node_id2: color:blue
node_id3: color:blue
results in:
node_id1;node_id2;node_id3: color:red:1,blue:2 size:3 ... etc
relation type:
node_id -IS_IN -> group
operations needed for speed optimization:
get groups by group properties, ex: color restrictions, min/max size, etc
get all groups for given node_id
update group properties when contained node_id property gets modified (can this be implemented in a smart way without too many lines of code?)
what kind of database would you recommend? mysql, neo4j, arangodb, mongodb, others?