int main(int argc, char** argv) { printf("Speed test...\n"); size_t bytes; clock_t stime = clock(); rdfacontext* context = rdfa_create_context("http://example.org/speed"); rdfa_set_triple_handler(context, &process_triple); rdfa_parse_start(context); while(g_iteration <= MAX_ITERATIONS) { bytes = fill_buffer(context); rdfa_parse_buffer(context, bytes); } rdfa_parse_buffer(context, 0); rdfa_parse_end(context); rdfa_free_context(context); clock_t etime = clock(); float delta = etime - stime; printf("Processed %1.2f triples per second from %lli bytes of data.\n", (MAX_ITERATIONS / (delta / CLOCKS_PER_SEC)), g_bytes_processed); return 0; }
int rdfa_parse(rdfacontext* context) { int rval; rval = rdfa_parse_start(context); if(rval != RDFA_PARSE_SUCCESS) { context->done = 1; return rval; } do { size_t wblen; int done; wblen = context->buffer_filler_callback( context->working_buffer, context->wb_allocated, context->callback_data); done = (wblen == 0); rval = rdfa_parse_chunk(context, context->working_buffer, wblen, done); context->done=done; } while(!context->done && rval == RDFA_PARSE_SUCCESS); rdfa_parse_end(context); return rval; }
static void raptor_librdfa_parse_terminate(raptor_parser* rdf_parser) { raptor_librdfa_parser_context *librdfa_parser=(raptor_librdfa_parser_context*)rdf_parser->context; if(librdfa_parser->context) { rdfa_parse_end(librdfa_parser->context); rdfa_free_context(librdfa_parser->context); librdfa_parser->context=NULL; } }