diff options
Diffstat (limited to 'examples/rdfserialize.c')
-rw-r--r-- | examples/rdfserialize.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/examples/rdfserialize.c b/examples/rdfserialize.c new file mode 100644 index 0000000..ecbc6b3 --- /dev/null +++ b/examples/rdfserialize.c @@ -0,0 +1,47 @@ +#include <stdio.h> +#include <raptor2.h> +#include <stdlib.h> + +/* rdfserialize.c: serialize 1 triple to RDF/XML-Abbrev */ + +int +main(int argc, char *argv[]) +{ + raptor_world *world = NULL; + raptor_serializer* rdf_serializer = NULL; + unsigned char *uri_string; + raptor_uri *base_uri; + raptor_statement* triple; + + world = raptor_new_world(); + + uri_string = raptor_uri_filename_to_uri_string(argv[1]); + base_uri = raptor_new_uri(world, uri_string); + + rdf_serializer = raptor_new_serializer(world, "rdfxml-abbrev"); + raptor_serializer_start_to_file_handle(rdf_serializer, base_uri, stdout); + + /* Make a triple with URI subject, URI predicate, literal object */ + triple = raptor_new_statement(world); + triple->subject = raptor_new_term_from_uri_string(world, (const unsigned char*)"http://example.org/subject"); + triple->predicate = raptor_new_term_from_uri_string(world, (const unsigned char*)"http://example.org/predicate"); + triple->object = raptor_new_term_from_literal(world, + (const unsigned char*)"An example literal", + NULL, + (const unsigned char*)"en"); + + /* Write the triple */ + raptor_serializer_serialize_statement(rdf_serializer, triple); + + /* Delete the triple */ + raptor_free_statement(triple); + + raptor_serializer_serialize_end(rdf_serializer); + raptor_free_serializer(rdf_serializer); + + raptor_free_uri(base_uri); + raptor_free_memory(uri_string); + + raptor_free_world(world); + return 0; +} |