/** * librdf_init_raptor: * @world: librdf_world object * * INTERNAL - Initialize the raptor library. * * Initializes the raptor library unless a raptor instance is provided * externally with librdf_world_set_raptor() (and using raptor v2 APIs). * Sets raptor uri handlers to work with #librdf_uri objects. * * Return value: non-0 on failure **/ int librdf_init_raptor(librdf_world* world) { if(!world->raptor_world_ptr) { world->raptor_world_ptr = raptor_new_world(); world->raptor_world_allocated_here = 1; if(world->raptor_world_ptr && world->raptor_init_handler) { world->raptor_init_handler(world->raptor_init_handler_user_data, world->raptor_world_ptr); } if(!world->raptor_world_ptr || raptor_world_open(world->raptor_world_ptr)) { LIBRDF_FATAL1(world, LIBRDF_FROM_PARSER, "failed to initialize raptor"); return 1; } } /* New in-memory hash for mapping bnode IDs */ world->bnode_hash = librdf_new_hash(world, NULL); if(!world->bnode_hash) return 1; /* set up log handler */ raptor_world_set_log_handler(world->raptor_world_ptr, world, librdf_raptor_log_handler); /* set up blank node identifier generation handler */ raptor_world_set_generate_bnodeid_handler(world->raptor_world_ptr, world, librdf_raptor_generate_id_handler); return 0; }
/** * rasqal_world_set_log_handler: * @world: rasqal_world object * @user_data: user data for log handler function * @handler: log handler function * * Set the log handler for this rasqal_world. * * Also sets the raptor log handler to the same @user_data and * @handler via raptor_world_set_log_handler(). (Rasqal 0.9.26+) **/ void rasqal_world_set_log_handler(rasqal_world* world, void *user_data, raptor_log_handler handler) { RASQAL_ASSERT_OBJECT_POINTER_RETURN(world, rasqal_world); world->log_handler = handler; world->log_handler_user_data = user_data; raptor_world_set_log_handler(world->raptor_world_ptr, user_data, handler); }
int main(int argc, char *argv[]) { raptor_world *world = NULL; raptor_parser* rdf_parser = NULL; unsigned char *uri_string; raptor_uri *uri; raptor_uri *base_uri; int rc = 0; int free_uri_string = 0; rdf_serializer = NULL; if(argc < 2 || argc > 3) { fprintf(stderr, "USAGE: %s RDF-FILE [BASE-URI]\n", program); rc = 1; goto tidy; } world = raptor_new_world(); uri_string = (unsigned char*)argv[1]; if(!access((const char*)uri_string, R_OK)) { uri_string = raptor_uri_filename_to_uri_string((char*)uri_string); uri = raptor_new_uri(world, uri_string); free_uri_string = 1; } else { uri = raptor_new_uri(world, (const unsigned char*)uri_string); } if(argc == 3) { char* base_uri_string = argv[2]; base_uri = raptor_new_uri(world, (unsigned char*)(base_uri_string)); } else { base_uri = raptor_uri_copy(uri); } rdf_parser = raptor_new_parser(world, "guess"); raptor_world_set_log_handler(world, rdf_parser, to_ntriples_log_handler); raptor_parser_set_statement_handler(rdf_parser, NULL, to_ntriples_write_triple); rdf_serializer = raptor_new_serializer(world, "ntriples"); raptor_serializer_start_to_file_handle(rdf_serializer, base_uri, stdout); raptor_parser_parse_file(rdf_parser, uri, base_uri); raptor_serializer_serialize_end(rdf_serializer); raptor_free_serializer(rdf_serializer); raptor_free_parser(rdf_parser); raptor_free_uri(base_uri); raptor_free_uri(uri); if(free_uri_string) raptor_free_memory(uri_string); raptor_free_world(world); tidy: if(warning_count) rc = 2; else if(error_count) rc = 1; return rc; }