GH_DeleteHistoryItem ( resourceID(u));
if (containerp(u)) { Assertion as = u->rarg2; while (as) { if ((as->db == gHistoryStore) && (as->s == gCoreVocab->RDF_parent)) { GH_DeleteHistoryItem (resourceID(as->u)); } as = as->invNext; } } else { GH_DeleteHistoryItem (resourceID(u)); }
historyUnassert (RDFT hst,  RDF_Resource u, RDF_Resource s, void* v, 		       RDF_ValueType type){  if ((type == RDF_RESOURCE_TYPE) && (resourceType((RDF_Resource)v) == HISTORY_RT) &&      (s == gCoreVocab->RDF_parent)) {    RDF_Resource parents[5];    int8 n = 0;    Assertion as = u->rarg1;	memset(parents, '\0', 5 * sizeof(RDF_Resource));    while (as) {      if ((as->type == RDF_RESOURCE_TYPE) && (as->s == gCoreVocab->RDF_parent) && 	  (resourceType((RDF_Resource)as->value) == HISTORY_RT) && (n < 5)) {	parents[n++] = (RDF_Resource)as->value;      }      as = as->next;    }    GH_DeleteHistoryItem ( resourceID(u));    while (n > 0) {		n = n - 1;		if (parents[n]) {		    Assertion nas = remoteStoreRemove (gHistoryStore, u, gCoreVocab->RDF_parent, 			     parents[n], RDF_RESOURCE_TYPE);			freeMem(nas);		}     }    return 1;  }  return 0;}