Realización de consultas arbitrarias con Neo4j
Estaba leyendo un artículo publicado por Neo4J (hace un tiempo):http://dist.neo4j.org/neo-technology-introduction.pdf
y en la segunda a la última páginaInconvenientes La sección establece que Neo4J no es bueno para consultas arbitrarias.
Digamos que tenía nodos de usuarios con las siguientes propiedades: NOMBRE, EDAD, GÉNERO
Y las siguientes relaciones: LIKE (apunta a Deportes, Tecnología, etc. NODE) y AMIGO (apunta a otro USUARIO).
¿Neo4J no es muy eficiente al consultar algo similar a:
Encuentra AMIGOS (del nodo dado) que les GUSTA Deportes, Tecnología y Lectura que fueron OVER_THE_AGE 21.
Por lo tanto, primero debe encontrar los bordes AMIGOS del USUARIO1 y luego encontrar los bordes ME GUSTA de los amigos y determinar si ese nodo se llamó Deportes y debe determinar si la propiedad de edad del amigo dado es> 21.
¿Es este un modelo de datos deficiente para empezar? ¿Y especialmente para bases de datos gráficas? La razón de la relación LIKE es en el caso de que quieras encontrar a todas las personas que LIKE Sports.
¿Cuál sería la mejor opción de base de datos para esto? Redis, Cassandra, HBase, PostgreSQL? ¿Y por qué?
¿Alguien tiene datos empíricos sobre esto?