Estoy trabajando con un conjunto de datos de Jena simple, que solo tiene un archivo RDF de ~ 30 MB importado. Como parte de la aplicación, intento que los usuarios consulten el gráfico predeterminado (o un gráfico con nombre) e inserte los triples resultantes de la consulta en un nuevo gráfico con nombre. Para esto, estoy usando una sentencia CONSTRUCT para formar el conjunto de resultados de tripletas en formato RDF, luego pongo estas tripletas en un nuevo modelo (utilizando QueryExecution.execConstruct()) y agrego este modelo al conjunto de datos. Esto parece funcionar de nuevo, ya que el conjunto de datos obtiene un nuevo nodo de gráfico, y el tamaño del disco de la carpeta de la base de datos de TDB aumenta de tamaño.Cómo reducir el tamaño del Dataset de Jena respaldado por TDB?
El problema aquí aparece cuando intento eliminar un gráfico con nombre del conjunto de datos. Al utilizar el método removeNamedName ("graphName") de Dataset, elimino el modelo del conjunto de datos. Las consultas futuras sobre ese nombre de modelo revelan que se ha eliminado correctamente. Sin embargo, el tamaño del disco de la carpeta de la base de datos de TDB sigue siendo del mismo tamaño, incluso después de la sincronización y el cierre.
Al principio pensé que tal vez la base de datos solo estaba marcando el espacio de los archivos eliminados como libre para que se sobrescribiera a medida que aparecían nuevos datos, pero este no parece ser el caso. Si elimino un gráfico con nombre y lo reemplazo inmediatamente después de ejecutar el mismo programa, la carpeta no parece crecer, pero si agrego un nuevo gráfico con nombre y lo elimino en la misma ejecución, el tamaño de la carpeta aumenta y el modelo la eliminación no libera la memoria, lo que significa que después de algunas ejecuciones la carpeta de la base de datos es cinco o diez veces su tamaño original sin almacenar más datos.
Cualquier idea o ayuda sería genial, gracias de nuevo.
¡Muchas gracias!Definitivamente revisaré la lista de correo, es una pena que la eliminación no reduzca necesariamente el tamaño de la mesa, pero es comprensible. Gracias de nuevo. – paul