Beispiel #1
0
/**
 * @brief Serialize the rdf storage and return as string.
 *
 *
 * @return The storage.
 */
unsigned char* RDF_GetRDF(void)
{
    librdf_serializer* serializer;
    unsigned char* result;

    serializer = librdf_new_serializer(world, "rdfxml", NULL, NULL);
    result = librdf_serializer_serialize_model_to_string(serializer, NULL, model);

    librdf_free_serializer(serializer);

    return result;
}
Beispiel #2
0
int
lua_bindings_redland_serializer_serialize_to_string(lua_State *L) {
   librdf_serializer **pp_serializer
      =  (librdf_serializer **) luaL_checkudata(
            L
         ,  -4
         ,  serializer_userdata_type );
   librdf_model **pp_model
      =  (librdf_model **) luaL_checkudata(
            L
         ,  -3
         ,  model_userdata_type );

   librdf_uri *p_uri =  NULL;
   lua_getfield(L, -1, "base_uri");
   if (!lua_isnil(L, -1)) {
      librdf_uri **pp_uri
         =  (librdf_uri **) luaL_checkudata(
               L
            ,  -1
            ,  uri_userdata_type );
      p_uri =  *pp_uri;
   }
   lua_pop(L, 1);

   lua_pop(L, 3);

   unsigned char *result =  librdf_serializer_serialize_model_to_string(
         *pp_serializer
      ,  p_uri
      ,  *pp_model);
   if (result) {
      lua_pushstring(L, result);
      return 1;
   } else {
      return 0;
   }
}