The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Query Results Formatter</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.71.0">
<link rel="start" href="index.html" title="Rasqal RDF Query Library Manual">
<link rel="up" href="pt01.html" title="Part&#160;I.&#160;Reference Manual">
<link rel="prev" href="rasqal-section-query-results.html" title="Query Results">
<link rel="next" href="rasqal-section-triple.html" title="Triples">
<meta name="generator" content="GTK-Doc V1.7 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="rasqal.html" title="Rasqal Overview">
<link rel="part" href="pt01.html" title="Part&#160;I.&#160;Reference Manual">
<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="rasqal-section-query-results.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="pt01.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">Rasqal RDF Query Library Manual</th>
<td><a accesskey="n" href="rasqal-section-triple.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id2585073" class="shortcut">Top</a>
                  &#160;|&#160;
                  <a href="#id2614895" class="shortcut">Description</a></nobr></td></tr>
</table>
<div class="refentry" lang="en">
<a name="rasqal-section-query-results-formatter"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2>
<a name="id2585073"></a><span class="refentrytitle">Query Results Formatter</span>
</h2>
<p>Query Results Formatter &#8212; Query results formatted into a syntax.</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">



int         <a href="rasqal-section-query-results-formatter.html#rasqal-query-results-formats-enumerate">rasqal_query_results_formats_enumerate</a>
                                            (unsigned int counter,
                                             const char **name,
                                             const char **label,
                                             unsigned char **uri_string);
typedef     <a href="rasqal-section-query-results-formatter.html#rasqal-query-results-formatter">rasqal_query_results_formatter</a>;
<a href="rasqal-section-query-results-formatter.html#rasqal-query-results-formatter">rasqal_query_results_formatter</a>* <a href="rasqal-section-query-results-formatter.html#rasqal-new-query-results-formatter">rasqal_new_query_results_formatter</a>
                                            (const char *name,
                                             <a
href="/usr/share/gtk-doc/html/raptor/raptor-section-uri.html#raptor-uri"
>raptor_uri</a> *uri);
void        <a href="rasqal-section-query-results-formatter.html#rasqal-free-query-results-formatter">rasqal_free_query_results_formatter</a>
                                            (<a href="rasqal-section-query-results-formatter.html#rasqal-query-results-formatter">rasqal_query_results_formatter</a> *formatter);
int         <a href="rasqal-section-query-results-formatter.html#rasqal-query-results-formatter-write">rasqal_query_results_formatter_write</a>
                                            (<a
href="/usr/share/gtk-doc/html/raptor/raptor-section-iostream.html#raptor-iostream"
>raptor_iostream</a> *iostr,
                                             <a href="rasqal-section-query-results-formatter.html#rasqal-query-results-formatter">rasqal_query_results_formatter</a> *formatter,
                                             <a href="rasqal-section-query-results.html#rasqal-query-results">rasqal_query_results</a> *results,
                                             <a
href="/usr/share/gtk-doc/html/raptor/raptor-section-uri.html#raptor-uri"
>raptor_uri</a> *base_uri);
</pre>
</div>
<div class="refsect1" lang="en">
<a name="id2614895"></a><h2>Description</h2>
<p>
Variable bindings and boolean query results can be formatted into
different syntaxes such as SPARQL Query Results Format or JSON.
The rasqal_query_results_formatter class allows choosing a formatter
for a particular syntax and writing the syntax to a raptor_iostream
which allows turning the syntax into a string, writing to a file
handle or other custom destination.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2614917"></a><h2>Details</h2>
<div class="refsect2" lang="en">
<a name="id2614927"></a><h3>
<a name="rasqal-query-results-formats-enumerate"></a>rasqal_query_results_formats_enumerate ()</h3>
<a class="indexterm" name="id2614941"></a><pre class="programlisting">int         rasqal_query_results_formats_enumerate
                                            (unsigned int counter,
                                             const char **name,
                                             const char **label,
                                             unsigned char **uri_string);</pre>
<p>
Get information on query result syntaxes.
</p>
<p>
The current list of format names/URI is given below however
the results of this function will always return the latest.
</p>
<p>
SPARQL XML Results 2006-01-25 (default format when <em class="parameter"><code>counter</code></em> is 0)
name '<code class="literal">xml</code>' with
URIs http://www.w3.org/TR/2006/WD-rdf-sparql-XMLres-20060125/ or
http://www.w3.org/2005/sparql-results#
</p>
<p>
JSON name '<code class="literal">json</code>' and
URI http://www.w3.org/2001/sw/DataAccess/json-sparql/
</p>
<p>
Older formats:
</p>
<p>
Name '<code class="literal">xml-v2</code>' with
URIs http://www.w3.org/TR/2005/WD-rdf-sparql-XMLres-20050527/ or
http://www.w3.org/2001/sw/DataAccess/rf1/result2
</p>
<p>
Name '<code class="literal">xml-v1</code>' with 
URIs http://www.w3.org/TR/2004/WD-rdf-sparql-XMLres-20041221/ or
http://www.w3.org/2001/sw/DataAccess/rf1/result
</p>
<p>
If the writing succeeds, the query results will be exhausted.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><span class="term"><em class="parameter"><code>counter</code></em>&#160;:</span></td>
<td> index into the list of query result syntaxes
</td>
</tr>
<tr>
<td><span class="term"><em class="parameter"><code>name</code></em>&#160;:</span></td>
<td> pointer to store the name of the query result syntax (or NULL)
</td>
</tr>
<tr>
<td><span class="term"><em class="parameter"><code>label</code></em>&#160;:</span></td>
<td> pointer to store query result syntax readable label (or NULL)
</td>
</tr>
<tr>
<td><span class="term"><em class="parameter"><code>uri_string</code></em>&#160;:</span></td>
<td> pointer to store query result syntax URI string (or NULL)
</td>
</tr>
<tr>
<td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> non 0 on failure of if counter is out of range
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2567231"></a><h3>
<a name="rasqal-query-results-formatter"></a>rasqal_query_results_formatter</h3>
<a class="indexterm" name="id2567242"></a><pre class="programlisting">rasqal_graph_query_results_formatter* query_results_formatter;
</pre>
<p>
Rasqal query results formatter class.</p>
<p>

</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2607196"></a><h3>
<a name="rasqal-new-query-results-formatter"></a>rasqal_new_query_results_formatter ()</h3>
<a class="indexterm" name="id2607208"></a><pre class="programlisting"><a href="rasqal-section-query-results-formatter.html#rasqal-query-results-formatter">rasqal_query_results_formatter</a>* rasqal_new_query_results_formatter
                                            (const char *name,
                                             <a
href="/usr/share/gtk-doc/html/raptor/raptor-section-uri.html#raptor-uri"
>raptor_uri</a> *uri);</pre>
<p>
Constructor - create a new rasqal_query_results_formatter object.
</p>
<p>
A query results format can be named or identified by a URI, both
of which are optional.  The default query results format will be used
if both are NULL.  <a href="rasqal-section-query-results-formatter.html#rasqal-query-results-formats-enumerate"><code class="function">rasqal_query_results_formats_enumerate()</code></a> returns
information on the known query results names, labels and URIs.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><span class="term"><em class="parameter"><code>name</code></em>&#160;:</span></td>
<td> the query results format name (or NULL)
</td>
</tr>
<tr>
<td><span class="term"><em class="parameter"><code>uri</code></em>&#160;:</span></td>
<td> <a
href="/usr/share/gtk-doc/html/raptor/raptor-section-uri.html#raptor-uri"
><span class="type">raptor_uri</span></a> query results format uri (or NULL)
</td>
</tr>
<tr>
<td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> a new <a href="rasqal-section-query-results-formatter.html#rasqal-query-results-formatter"><span class="type">rasqal_query_results_formatter</span></a> object or NULL on failure
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2607737"></a><h3>
<a name="rasqal-free-query-results-formatter"></a>rasqal_free_query_results_formatter ()</h3>
<a class="indexterm" name="id2607749"></a><pre class="programlisting">void        rasqal_free_query_results_formatter
                                            (<a href="rasqal-section-query-results-formatter.html#rasqal-query-results-formatter">rasqal_query_results_formatter</a> *formatter);</pre>
<p>
Destructor - destroy a <a href="rasqal-section-query-results-formatter.html#rasqal-query-results-formatter"><span class="type">rasqal_query_results_formatter</span></a> object.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><span class="term"><em class="parameter"><code>formatter</code></em>&#160;:</span></td>
<td> <a href="rasqal-section-query-results-formatter.html#rasqal-query-results-formatter"><span class="type">rasqal_query_results_formatter</span></a> object
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2607815"></a><h3>
<a name="rasqal-query-results-formatter-write"></a>rasqal_query_results_formatter_write ()</h3>
<a class="indexterm" name="id2607829"></a><pre class="programlisting">int         rasqal_query_results_formatter_write
                                            (<a
href="/usr/share/gtk-doc/html/raptor/raptor-section-iostream.html#raptor-iostream"
>raptor_iostream</a> *iostr,
                                             <a href="rasqal-section-query-results-formatter.html#rasqal-query-results-formatter">rasqal_query_results_formatter</a> *formatter,
                                             <a href="rasqal-section-query-results.html#rasqal-query-results">rasqal_query_results</a> *results,
                                             <a
href="/usr/share/gtk-doc/html/raptor/raptor-section-uri.html#raptor-uri"
>raptor_uri</a> *base_uri);</pre>
<p>
Write the query results using the given formatter to an iostream
</p>
<p>
See <a href="rasqal-section-query-results-formatter.html#rasqal-query-results-formats-enumerate"><code class="function">rasqal_query_results_formats_enumerate()</code></a> to get the
list of syntax URIs and their description.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><span class="term"><em class="parameter"><code>iostr</code></em>&#160;:</span></td>
<td> <a
href="/usr/share/gtk-doc/html/raptor/raptor-section-iostream.html#raptor-iostream"
><span class="type">raptor_iostream</span></a> to write the query to
</td>
</tr>
<tr>
<td><span class="term"><em class="parameter"><code>formatter</code></em>&#160;:</span></td>
<td> <a href="rasqal-section-query-results-formatter.html#rasqal-query-results-formatter"><span class="type">rasqal_query_results_formatter</span></a> object
</td>
</tr>
<tr>
<td><span class="term"><em class="parameter"><code>results</code></em>&#160;:</span></td>
<td> <a href="rasqal-section-query-results.html#rasqal-query-results"><span class="type">rasqal_query_results</span></a> query results format
</td>
</tr>
<tr>
<td><span class="term"><em class="parameter"><code>base_uri</code></em>&#160;:</span></td>
<td> <a
href="/usr/share/gtk-doc/html/raptor/raptor-section-uri.html#raptor-uri"
><span class="type">raptor_uri</span></a> base URI of the output format
</td>
</tr>
<tr>
<td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> non-0 on failure
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</body>
</html>