static int raptor_rss_parse_init(raptor_parser* rdf_parser, const char *name) { raptor_rss_parser_context *rss_parser=(raptor_rss_parser_context*)rdf_parser->context; int i; RAPTOR_RDF_type_URI(rss_parser)=raptor_new_uri_for_rdf_concept("type"); RAPTOR_RDF_Seq_URI(rss_parser)=raptor_new_uri_for_rdf_concept("Seq"); for(i=0; i<RSS_NAMESPACES_SIZE;i++) { const char *uri_string=rss_namespace_uri_strings[i]; if(uri_string) rss_parser->namespace_uris[i]=raptor_new_uri((const unsigned char*)uri_string); } for(i=0; i< RAPTOR_RSS_COMMON_SIZE; i++) { raptor_uri *namespace_uri=rss_parser->namespace_uris[raptor_rss_types_info[i].nspace]; if(namespace_uri) raptor_rss_types_info[i].uri=raptor_new_uri_from_uri_local_name(namespace_uri, (const unsigned char*)raptor_rss_types_info[i].name); } for(i=0; i< RAPTOR_RSS_FIELDS_SIZE; i++) { raptor_uri *namespace_uri=rss_parser->namespace_uris[raptor_rss_fields_info[i].nspace]; if(namespace_uri) raptor_rss_fields_info[i].uri=raptor_new_uri_from_uri_local_name(namespace_uri, (const unsigned char*)raptor_rss_fields_info[i].name); } xmlSubstituteEntitiesDefault(1); return 0; }
int raptor_rss_common_init(raptor_world* world) { int i; raptor_uri *namespace_uri; if(world->rss_common_initialised++) return 0; world->rss_namespaces_info_uris = RAPTOR_CALLOC(raptor_uri**, RAPTOR_RSS_NAMESPACES_SIZE, sizeof(raptor_uri*)); if(!world->rss_namespaces_info_uris) return -1; for(i = 0; i < RAPTOR_RSS_NAMESPACES_SIZE;i++) { const char *uri_string = raptor_rss_namespaces_info[i].uri_string; if(uri_string) { world->rss_namespaces_info_uris[i] = raptor_new_uri(world, (const unsigned char*)uri_string); if(!world->rss_namespaces_info_uris[i]) return -1; } } world->rss_types_info_uris = RAPTOR_CALLOC(raptor_uri**, RAPTOR_RSS_COMMON_SIZE, sizeof(raptor_uri*)); if(!world->rss_types_info_uris) return -1; for(i = 0; i< RAPTOR_RSS_COMMON_SIZE; i++) { int n = raptor_rss_items_info[i].nspace; namespace_uri = world->rss_namespaces_info_uris[n]; if(namespace_uri) { world->rss_types_info_uris[i] = raptor_new_uri_from_uri_local_name(world, namespace_uri, (const unsigned char*)raptor_rss_items_info[i].name); if(!world->rss_types_info_uris[i]) return -1; } } world->rss_fields_info_uris = RAPTOR_CALLOC(raptor_uri**, RAPTOR_RSS_FIELDS_SIZE, sizeof(raptor_uri*)); if(!world->rss_fields_info_uris) return -1; for(i = 0; i< RAPTOR_RSS_FIELDS_SIZE; i++) { namespace_uri = world->rss_namespaces_info_uris[raptor_rss_fields_info[i].nspace]; if(namespace_uri) { world->rss_fields_info_uris[i] = raptor_new_uri_from_uri_local_name(world, namespace_uri, (const unsigned char*)raptor_rss_fields_info[i].name); if(!world->rss_fields_info_uris[i]) return -1; } } return 0; }
int rasqal_xsd_init(rasqal_world* world) { int i; world->xsd_namespace_uri = raptor_new_uri(world->raptor_world_ptr, raptor_xmlschema_datatypes_namespace_uri); if(!world->xsd_namespace_uri) return 1; world->xsd_datatype_uris = (raptor_uri**)RASQAL_CALLOC(ptrarray, SPARQL_XSD_NAMES_COUNT + 1, sizeof(raptor_uri*)); if(!world->xsd_datatype_uris) return 1; for(i = RASQAL_LITERAL_FIRST_XSD; i < SPARQL_XSD_NAMES_COUNT; i++) { const unsigned char* name = (const unsigned char*)sparql_xsd_names[i]; world->xsd_datatype_uris[i] = raptor_new_uri_from_uri_local_name(world->raptor_world_ptr, world->xsd_namespace_uri, name); if(!world->xsd_datatype_uris[i]) return 1; } return 0; }
/** * librdf_new_uri_from_uri_local_name: * @old_uri: #librdf_uri object * @local_name: local name to append to URI * * Copy constructor - create a new librdf_uri object from an existing librdf_uri object and a local name. * * Return value: a new #librdf_uri object or NULL on failure **/ librdf_uri* librdf_new_uri_from_uri_local_name (librdf_uri* old_uri, const unsigned char *local_name) { return raptor_new_uri_from_uri_local_name(raptor_uri_get_world(old_uri), old_uri, local_name); }
/** * librdf_new_uri_from_uri_local_name: * @old_uri: #librdf_uri object * @local_name: local name to append to URI * * Copy constructor - create a new librdf_uri object from an existing librdf_uri object and a local name. * * Return value: a new #librdf_uri object or NULL on failure **/ librdf_uri* librdf_new_uri_from_uri_local_name (librdf_uri* old_uri, const unsigned char *local_name) { #ifdef LIBRDF_USE_RAPTOR_URI return raptor_new_uri_from_uri_local_name(raptor_uri_get_world(old_uri), old_uri, local_name); #else int len; unsigned char *new_string; librdf_uri* new_uri; LIBRDF_ASSERT_OBJECT_POINTER_RETURN_VALUE(old_uri, librdf_uri, NULL); if(!old_uri) return NULL; len=old_uri->string_length + strlen((const char*)local_name) +1 ; /* +1 for \0 */ new_string=(unsigned char*)LIBRDF_MALLOC(cstring, len); if(!new_string) return NULL; strcpy((char*)new_string, (const char*)old_uri->string); strcat((char*)new_string, (const char*)local_name); new_uri=librdf_new_uri (old_uri->world, new_string); LIBRDF_FREE(cstring, new_string); return new_uri; #endif /* !LIBRDF_USE_RAPTOR_URI */ }
static void rasqal_init_datatypes(void) { int i; raptor_xpfo_base_uri = raptor_new_uri((const unsigned char*)RASQAL_XPFO_BASE_URI); rasqal_sparql_op_namespace_uri = raptor_new_uri((const unsigned char*)RASQAL_SPARQL_OP_NAMESPACE_URI); for(i = 0; i< RASQAL_XSD_DATATYPES_SIZE; i++) { rasqal_xsd_datatypes[i].uri = raptor_new_uri_from_uri_local_name(raptor_xpfo_base_uri, (const unsigned char*)rasqal_xsd_datatypes[i].name); } for(i = 0; i< RASQAL_XSD_DATATYPE_FNS_SIZE; i++) { rasqal_xsd_datatype_fns[i].uri = raptor_new_uri_from_uri_local_name(rasqal_sparql_op_namespace_uri, rasqal_xsd_datatype_fns[i].name); } }
int rasqal_uri_init(rasqal_world* world) { world->rdf_namespace_uri = raptor_new_uri(world->raptor_world_ptr, raptor_rdf_namespace_uri); if(!world->rdf_namespace_uri) goto oom; world->rdf_first_uri = raptor_new_uri_from_uri_local_name(world->raptor_world_ptr, world->rdf_namespace_uri, (const unsigned char*)"first"); world->rdf_rest_uri = raptor_new_uri_from_uri_local_name(world->raptor_world_ptr, world->rdf_namespace_uri, (const unsigned char*)"rest"); world->rdf_nil_uri = raptor_new_uri_from_uri_local_name(world->raptor_world_ptr, world->rdf_namespace_uri, (const unsigned char*)"nil"); if(!world->rdf_first_uri || !world->rdf_rest_uri || !world->rdf_nil_uri) goto oom; return 0; oom: rasqal_log_error_simple(world, RAPTOR_LOG_LEVEL_FATAL, NULL, "Out of memory in rasqal_uri_init()"); return 1; }
static void ser_emit_triple(void* user_data, const char* subject, int subject_type, const char* predicate_nspace, const char* predicate_name, const char *object, int object_type, const char *datatype_uri) { raptor_serializer* serializer = (raptor_serializer*)user_data; raptor_statement s; /* static */ raptor_uri* predicate_ns_uri; raptor_uri* predicate_uri; raptor_statement_init(&s, rworld); if(subject_type == FLICKCURL_TERM_TYPE_RESOURCE) s.subject = raptor_new_term_from_uri_string(rworld, (const unsigned char*)subject); else /* blank node */ s.subject = raptor_new_term_from_blank(rworld, (const unsigned char*)subject); predicate_ns_uri = raptor_new_uri(rworld, (const unsigned char*)predicate_nspace); predicate_uri = raptor_new_uri_from_uri_local_name(rworld, predicate_ns_uri, (const unsigned char*)predicate_name); s.predicate = raptor_new_term_from_uri(rworld, predicate_uri); raptor_free_uri(predicate_uri); raptor_free_uri(predicate_ns_uri); if(object_type == FLICKCURL_TERM_TYPE_RESOURCE) s.object = (void*)raptor_new_term_from_uri_string(rworld, (const unsigned char*)object); else if(object_type == FLICKCURL_TERM_TYPE_BLANK) s.object = raptor_new_term_from_blank(rworld, (const unsigned char*)subject); else { /* literal */ raptor_uri* raptor_datatype_uri = NULL; if(datatype_uri) raptor_datatype_uri = raptor_new_uri(rworld, (const unsigned char*)datatype_uri); s.object = raptor_new_term_from_literal(rworld, (const unsigned char*)object, raptor_datatype_uri, NULL /* language */); raptor_free_uri(raptor_datatype_uri); } raptor_serializer_serialize_statement(serializer, &s); raptor_statement_clear(&s); }
/** * librdf_new_node_from_uri_local_name: * @world: redland world object * @uri: #librdf_uri object * @local_name: local name to append to URI * * Constructor - create a new resource #librdf_node object with a given URI and local name. * * Return value: a new #librdf_node object or NULL on failure **/ librdf_node* librdf_new_node_from_uri_local_name(librdf_world *world, librdf_uri *uri, const unsigned char *local_name) { raptor_uri *new_uri; LIBRDF_ASSERT_OBJECT_POINTER_RETURN_VALUE(world, librdf_world, NULL); librdf_world_open(world); LIBRDF_ASSERT_OBJECT_POINTER_RETURN_VALUE(uri, raptor_uri, NULL); LIBRDF_ASSERT_OBJECT_POINTER_RETURN_VALUE(local_name, string, NULL); new_uri = raptor_new_uri_from_uri_local_name(world->raptor_world_ptr, uri, local_name); if(!new_uri) return NULL; return raptor_new_term_from_uri(world->raptor_world_ptr, new_uri); }
manifest_world* manifest_new_world(rasqal_world* world) { manifest_world* mw; raptor_world* raptor_world_ptr = rasqal_world_get_raptor(world); mw = (manifest_world*)calloc(sizeof(*mw), 1); if(!mw) return NULL; mw->world = world; mw->raptor_world_ptr = raptor_world_ptr; /* Create Namespace URIs, concept URIs and rasqal literal concepts */ mw->rdfs_namespace_uri = raptor_new_uri(raptor_world_ptr, raptor_rdf_schema_namespace_uri); mw->mf_namespace_uri = raptor_new_uri(raptor_world_ptr, (const unsigned char*)"http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#"); mw->t_namespace_uri = raptor_new_uri(raptor_world_ptr, (const unsigned char*)"http://ns.librdf.org/2009/test-manifest#"); mw->qt_namespace_uri = raptor_new_uri(raptor_world_ptr, (const unsigned char*)"http://www.w3.org/2001/sw/DataAccess/tests/test-query#"); mw->dawgt_namespace_uri = raptor_new_uri(raptor_world_ptr, (const unsigned char*)"http://www.w3.org/2001/sw/DataAccess/tests/test-dawg#"); mw->sd_namespace_uri = raptor_new_uri(raptor_world_ptr, (const unsigned char*)"http://www.w3.org/ns/sparql-service-description#"); mw->mf_Manifest_uri = raptor_new_uri_from_uri_local_name(raptor_world_ptr, mw->mf_namespace_uri, (const unsigned char*)"Manifest"); mw->mf_entries_uri = raptor_new_uri_from_uri_local_name(raptor_world_ptr, mw->mf_namespace_uri, (const unsigned char*)"entries"); mw->mf_name_uri = raptor_new_uri_from_uri_local_name(raptor_world_ptr, mw->mf_namespace_uri, (const unsigned char*)"name"); mw->mf_action_uri = raptor_new_uri_from_uri_local_name(raptor_world_ptr, mw->mf_namespace_uri, (const unsigned char*)"action"); mw->mf_result_uri = raptor_new_uri_from_uri_local_name(raptor_world_ptr, mw->mf_namespace_uri, (const unsigned char*)"result"); mw->mf_resultCardinality_uri = raptor_new_uri_from_uri_local_name(raptor_world_ptr, mw->mf_namespace_uri, (const unsigned char*)"resultCardinality"); mw->rdf_type_uri = raptor_new_uri_for_rdf_concept(raptor_world_ptr, (const unsigned char*)"type"); mw->rdf_first_uri = raptor_new_uri_for_rdf_concept(raptor_world_ptr, (const unsigned char*)"first"); mw->rdf_rest_uri = raptor_new_uri_for_rdf_concept(raptor_world_ptr, (const unsigned char*)"rest"); mw->rdf_nil_uri = raptor_new_uri_for_rdf_concept(raptor_world_ptr, (const unsigned char*)"nil"); mw->rdfs_comment_uri = raptor_new_uri_from_uri_local_name(raptor_world_ptr, mw->rdfs_namespace_uri, (const unsigned char*)"comment"); mw->t_path_uri = raptor_new_uri_from_uri_local_name(raptor_world_ptr, mw->t_namespace_uri, (const unsigned char*)"path"); mw->qt_data_uri = raptor_new_uri_from_uri_local_name(raptor_world_ptr, mw->qt_namespace_uri, (const unsigned char*)"data"); mw->qt_graphData_uri = raptor_new_uri_from_uri_local_name(raptor_world_ptr, mw->qt_namespace_uri, (const unsigned char*)"graphData"); mw->qt_query_uri = raptor_new_uri_from_uri_local_name(raptor_world_ptr, mw->qt_namespace_uri, (const unsigned char*)"query"); mw->dawgt_approval_uri = raptor_new_uri_from_uri_local_name(raptor_world_ptr, mw->dawgt_namespace_uri, (const unsigned char*)"approval"); mw->sd_entailmentRegime_uri = raptor_new_uri_from_uri_local_name(raptor_world_ptr, mw->sd_namespace_uri, (const unsigned char*)"entailmentRegime"); mw->mf_Manifest_literal = rasqal_new_uri_literal(world, raptor_uri_copy(mw->mf_Manifest_uri)); mw->mf_entries_literal = rasqal_new_uri_literal(world, raptor_uri_copy(mw->mf_entries_uri)); mw->mf_name_literal = rasqal_new_uri_literal(world, raptor_uri_copy(mw->mf_name_uri)); mw->mf_action_literal = rasqal_new_uri_literal(world, raptor_uri_copy(mw->mf_action_uri)); mw->mf_result_literal = rasqal_new_uri_literal(world, raptor_uri_copy(mw->mf_result_uri)); mw->mf_resultCardinality_literal = rasqal_new_uri_literal(world, raptor_uri_copy(mw->mf_resultCardinality_uri)); mw->rdf_type_literal = rasqal_new_uri_literal(world, raptor_uri_copy(mw->rdf_type_uri)); mw->rdf_first_literal = rasqal_new_uri_literal(world, raptor_uri_copy(mw->rdf_first_uri)); mw->rdf_rest_literal = rasqal_new_uri_literal(world, raptor_uri_copy(mw->rdf_rest_uri)); mw->rdfs_comment_literal = rasqal_new_uri_literal(world, raptor_uri_copy(mw->rdfs_comment_uri)); mw->t_path_literal = rasqal_new_uri_literal(world, raptor_uri_copy(mw->t_path_uri)); mw->qt_data_literal = rasqal_new_uri_literal(world, raptor_uri_copy(mw->qt_data_uri)); mw->qt_graphData_literal = rasqal_new_uri_literal(world, raptor_uri_copy(mw->qt_graphData_uri)); mw->qt_query_literal = rasqal_new_uri_literal(world, raptor_uri_copy(mw->qt_query_uri)); mw->dawgt_approval_literal = rasqal_new_uri_literal(world, raptor_uri_copy(mw->dawgt_approval_uri)); mw->sd_entailmentRegime_literal = rasqal_new_uri_literal(world, raptor_uri_copy(mw->sd_entailmentRegime_uri)); return mw; }
int main(int argc, char *argv[]) { #if 0 raptor_uri *xsd_uri; raptor_uri *dateTime_uri; rasqal_literal *l1, *l2; int fn_i; raptor_uri* fn_uri; const unsigned char *fn_name; rasqal_extension_fn fn; raptor_sequence *fn_args; char *error; rasqal_literal *fn_result; rasqal_world *world; world = rasqal_new_world(); if(!world || rasqal_world_open(world)) { fprintf(stderr, "%s: rasqal_world init failed\n", program); return(1); } xsd_uri = raptor_new_uri(raptor_xmlschema_datatypes_namespace_uri); dateTime_uri = raptor_new_uri_from_uri_local_name(xsd_uri, (const unsigned char*)"dateTime"); rasqal_init_datatypes(); fn_args = raptor_new_sequence((raptor_sequence_free_handler*)rasqal_free_literal, (raptor_sequence_print_handler*)rasqal_literal_print); l1 = rasqal_new_string_literal((unsigned char*)strdup("2004-05-04"), NULL, raptor_uri_copy(dateTime_uri), NULL); raptor_sequence_push(fn_args, l1); l2 = rasqal_new_string_literal((unsigned char*)strdup("2003-01-02"), NULL, raptor_uri_copy(dateTime_uri), NULL); raptor_sequence_push(fn_args, l2); fn_i = 0; fn_name = rasqal_xsd_datatype_fns[fn_i].name; fn = rasqal_xsd_datatype_fns[fn_i].fn; fn_uri = rasqal_xsd_datatype_fns[fn_i].uri; error = NULL; fn_result = fn(fn_uri, fn_args, &error); raptor_free_sequence(fn_args); if(!fn_result) { if(error) fprintf(stderr, "function %s failed with error %s\n", fn_name, error); else fprintf(stderr, "function %s unknown error\n", fn_name); } else { fprintf(stderr, "function %s returned result: ", fn_name); rasqal_literal_print(fn_result, stderr); fputc('\n', stderr); } if(fn_result) rasqal_free_literal(fn_result); rasqal_finish_datatypes(); raptor_free_uri(xsd_uri); raptor_free_uri(dateTime_uri); rasqal_free_world(world); #endif return 0; }