DBs do gráfico versus DBs de documentos vs. Triplestores

Esta é uma questão um pouco abstrata e geral. Estou interessado nas propriedades inerentes (bem como específicas da implementação) de diferentes abordagens para persistir dados não estruturados com ambos os lotes de referências internas (tipo gráfico) e muitas propriedades (semelhantes a JSON).

Como um grafo é um superconjunto de uma árvore, você pode examinar os bancos de dados gráficos (por exemplo, Neo4j) como um superconjunto de bancos de dados de documentos (por exemplo, MongoDB). Ou seja, um grafo DB fornece toda a funcionalidade de um documento DB além disso, também permite loops ou tem um tipo de ponteiro nativo para que você não precise deferir referências de chaves estrangeiras / ids manualmente. Então, há algum ponto de inflexão que você alcança quando adiciona mais referências a seus objetos / recursos, onde você está melhor com um banco de dados gráfico, mas antes era melhor com uma loja de documentos? Existem vantagens para documentar os bancos de dados (espaço de armazenamento, desempenho?) Ou você deve sempre ir com um gráfico de banco de dados apenas no caso de precisar de mais referências no futuro?

Da mesma forma, como os bancos de dados e triplestores gráficos (por exemplo, lojas RDF) se comparam? DBs de gráficos (onde nós e bordas têm propriedades) parecem ser um superconjunto dos triplestores simples. Então, para quais problemas (se houver) executar triplestores realmente melhor do que, digamos, Neo4j? (Uma vantagem dos repositórios RDF é que existe uma linguagem de consulta padronizada - SPARQL - embora pareça haver muitas pessoas que não gostam do SPARQL e, portanto, o chamam de desvantagem.)

Eu acho que a minha pergunta é: O modelo gráfico (com propriedades) parece ser capaz de expressar todos os tipos de dados, qual é o problema quando você entra na realidade? Suponho que a captura de bancos de dados gráficos seja o desempenho, então adoraria ver alguns números ou regras básicas sobre o tipo de lentidão a ser esperada ao carregar, consultar e modificar dados, bem como memória e requisitos de armazenamento persistentes (em comparação com documentos e lojas triplas). E quanto à escalabilidade horizontal? Tenho a impressão de que o campo de jogo é bastante nivelado.

Você acha que é possível que gráficos com sua expressibilidade se tornem o novo modelo de armazenamento padrão para projetos que não têm dados supergrandes, ou estamos condenados por uma década dePersistência Poliglota com RDBMS, JSON armazena e Graph DBs vivendo entre si que precisam ser integrados com ainda mais código de cola?