This came about as a result of the recent modifications to the MySQL store to use a different SQL schema to (amongst other things) intern identifiers and values. The problem now is that identifiers / values that aren't referred to by triples need to be 'pruned' by a garbage collection process. Currently, it does this explicitely within the remove function (which is the only change that would require this).
I was going to move the garbage collection process to the commit function, but since it doesn't have any effect on the integrity of the data (just the efficient use of space), it seems to make more sense for an application to determine when this should happen instead of the store making that decision. Ofcourse, this problem is limited to this store only, but i think it suggests that there should be an additional method in the Store API (called upkeep, perhaps) that is defined to do nothing by default (same as the other database management interfaces: commit and rollback). Store's *could* overide this to do any specific 'house keeping' they need to. In this particular case, the removal of interned identifiers / values that aren't referenced by any triples would be triggered in this function. Any thought? Chimezie _______________________________________________ Dev mailing list [email protected] http://rdflib.net/mailman/listinfo/dev
