Sto lavorando con un semplice set di dati Jena, che ha un solo file RDF da ~ 30 MB importato. Come parte dell'applicazione, sto tentando di consentire agli utenti di interrogare il grafico predefinito (o un grafico con nome) e di inserire i tripli risultanti dalla query in un nuovo grafico con nome. Per questo, sto usando un'istruzione CONSTRUCT per formare il set di risultati delle triple in formato RDF, quindi inserendo queste triple in un nuovo modello (utilizzando QueryExecution.execConstruct()) e aggiungendo questo modello al set di dati. Sembra che funzioni di nuovo, poiché il set di dati ottiene un nuovo nodo grafico e le dimensioni del disco della cartella del database TDB aumentano di dimensioni.Come ridurre la dimensione del set di dati Jena con supporto TDB?
Il problema si presenta quando provo a rimuovere un grafico con nome dal set di dati. Usando il metodo removeNamedName ("graphName") di Dataset, rimuovo il modello dal set di dati. Le domande future sul nome di questo modello rivelano che è stato rimosso con successo. Tuttavia, le dimensioni del disco della cartella del database TDB rimangono delle stesse dimensioni, anche dopo la sincronizzazione e l'uscita.
In un primo momento ho pensato che forse il database stava solo contrassegnando lo spazio dei file cancellati come libero in modo che potesse essere sovrascritto quando arrivavano nuovi dati, ma questo non sembra essere il caso. Se elimino un grafico con nome e lo sostituisco immediatamente dopo lo stesso programma, la cartella non sembra crescere, ma se aggiungo un nuovo grafo chiamato ed lo elimini nella stessa esecuzione, la dimensione della cartella diventa più grande e il modello la rimozione non libera la memoria, il che significa che dopo alcune sessioni la cartella del database è cinque o dieci volte la sua dimensione originale senza contenere altri dati.
Qualsiasi intuizione o aiuto sarebbe grandioso, grazie ancora.
Grazie mille!Controllerò sicuramente la mailing list, peccato che la rimozione non riduca necessariamente le dimensioni della tabella, ma è comprensibile. Grazie ancora. – paul