<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Parsing example code</title> <meta name="generator" content="DocBook XSL Stylesheets V1.73.2"> <link rel="start" href="index.html" title="Raptor RDF Syntax Parsing and Serializing Library Manual"> <link rel="up" href="tutorial-parsing.html" title="Parsing syntaxes to RDF Triples"> <link rel="prev" href="tutorial-parser-destroy.html" title="Destroy the parser"> <link rel="next" href="tutorial-serializing.html" title="Serializing RDF triples to a syntax"> <meta name="generator" content="GTK-Doc V1.10 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> <link rel="chapter" href="introduction.html" title="Raptor Overview"> <link rel="part" href="tutorial.html" title="Part I. Raptor Tutorial"> <link rel="chapter" href="tutorial-initialising-finishing.html" title="Initialising and Finishing using the Library"> <link rel="chapter" href="tutorial-querying-functionality.html" title="Listing built-in functionality"> <link rel="chapter" href="tutorial-parsing.html" title="Parsing syntaxes to RDF Triples"> <link rel="chapter" href="tutorial-serializing.html" title="Serializing RDF triples to a syntax"> <link rel="part" href="reference-manual.html" title="Part II. Raptor Reference Manual"> <link rel="chapter" href="raptor-parsers.html" title="Parsers in Raptor (syntax to triples)"> <link rel="chapter" href="raptor-serializers.html" title="Serializers in Raptor (triples to syntax)"> <link rel="index" href="ix01.html" title="Index"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> <td><a accesskey="p" href="tutorial-parser-destroy.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> <td><a accesskey="u" href="tutorial-parsing.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> <th width="100%" align="center">Raptor RDF Syntax Parsing and Serializing Library Manual</th> <td><a accesskey="n" href="tutorial-serializing.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> </tr></table> <div class="section" lang="en"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="tutorial-parser-example"></a>Parsing example code</h2></div></div></div> <div class="example"> <a name="raptor-example-rdfprint"></a><p class="title"><b>Example 2. <code class="filename">rdfprint.c</code>: Parse an RDF/XML file and print the triples</b></p> <div class="example-contents"> <pre class="programlisting"> #include <stdio.h> #include <raptor.h> /* rdfprint.c: print triples from parsing RDF/XML */ void print_triple(void* user_data, const raptor_statement* triple) { raptor_print_statement_as_ntriples(triple, stdout); fputc('\n', stdout); } int main(int argc, char *argv[]) { raptor_parser* rdf_parser=NULL; unsigned char *uri_string; raptor_uri *uri, *base_uri; raptor_init(); rdf_parser=raptor_new_parser("rdfxml"); raptor_set_statement_handler(rdf_parser, NULL, print_triple); uri_string=raptor_uri_filename_to_uri_string(argv[1]); uri=raptor_new_uri(uri_string); base_uri=raptor_uri_copy(uri); raptor_parse_file(rdf_parser, uri, base_uri); raptor_free_parser(rdf_parser); raptor_free_uri(base_uri); raptor_free_uri(uri); raptor_free_memory(uri_string); raptor_finish(); } </pre> <p>Compile it like this: </p> <pre class="screen"> $ gcc -o rdfprint rdfprint.c `raptor-config --cflags` `raptor-config --libs` </pre> <p> and run it on an RDF file as: </p> <pre class="screen"> $ ./rdfprint raptor.rdf _:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://usefulinc.com/ns/doap#Project> . _:genid1 <http://usefulinc.com/ns/doap#name> "Raptor" . _:genid1 <http://usefulinc.com/ns/doap#homepage> <http://librdf.org/raptor/> . ... </pre> <p> </p> </div> </div> <br class="example-break"> </div> <div class="footer"> <hr> Generated by GTK-Doc V1.10</div> </body> </html>