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?

Respuestas a la pregunta(1)

Su respuesta a la pregunta