Sophie

Sophie

distrib > Fedora > 14 > i386 > by-pkgid > 5b6c31d6428e1f6ea754ea6f7b1aed6e > files > 156

soprano-apidocs-2.6.0-2.fc14.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Soprano: Soprano::Model Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<script type="text/javascript">
function hasClass(ele,cls) {
  return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function addClass(ele,cls) {
  if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}

function removeClass(ele,cls) {
  if (hasClass(ele,cls)) {
    var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
    ele.className=ele.className.replace(reg,' ');
  }
}

function toggleVisibility(linkObj) {
 var base = linkObj.getAttribute('id');
 var summary = document.getElementById(base + '-summary');
 var content = document.getElementById(base + '-content');
 var trigger = document.getElementById(base + '-trigger');
 if ( hasClass(linkObj,'closed') ) {
   summary.style.display = 'none';
   content.style.display = 'block';
   trigger.src = 'open.png';
   removeClass(linkObj,'closed');
   addClass(linkObj,'opened');
 } else if ( hasClass(linkObj,'opened') ) {
   summary.style.display = 'block';
   content.style.display = 'none';
   trigger.src = 'closed.png';
   removeClass(linkObj,'opened');
   addClass(linkObj,'closed');
 }
 return false;
}
</script>
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Soprano&#160;<span id="projectnumber">2.6.0</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceSoprano.html">Soprano</a>      </li>
      <li class="navelem"><a class="el" href="classSoprano_1_1Model.html">Model</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#signals">Signals</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a>  </div>
  <div class="headertitle">
<h1>Soprano::Model Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="Soprano::Model" --><!-- doxytag: inherits="QObject,Soprano::Error::ErrorCache" -->
<p>A <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a> is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="model_8h_source.html">Soprano/Model</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png"/> Inheritance diagram for Soprano::Model:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classSoprano_1_1Model__inherit__graph.png" border="0" usemap="#Soprano_1_1Model_inherit__map" alt="Inheritance graph"/></div>
<map name="Soprano_1_1Model_inherit__map" id="Soprano_1_1Model_inherit__map">
<area shape="rect" id="node7" href="classSoprano_1_1Client_1_1SparqlModel.html" title="Remote client Model for Http SPARQL end points." alt="" coords="401,165,593,195"/><area shape="rect" id="node9" href="classSoprano_1_1FilterModel.html" title="A FilterModel is a virtual model that wraps another Model." alt="" coords="427,219,568,248"/><area shape="rect" id="node27" href="classSoprano_1_1StorageModel.html" title="Base class for all Model implementations that store data (as compared to FilterModel)." alt="" coords="419,272,576,301"/><area shape="rect" id="node31" href="classSoprano_1_1Util_1_1DummyModel.html" title="A dummy model. All its methods do nothing and always fail with a default error." alt="" coords="404,325,591,355"/><area shape="rect" id="node33" href="classSoprano_1_1Util_1_1ReadOnlyModel.html" title="Simple filter model preventing any write operations." alt="" coords="399,379,596,408"/><area shape="rect" id="node2" href="qobject.html" title="QObject" alt="" coords="61,245,131,275"/><area shape="rect" id="node4" href="classSoprano_1_1Error_1_1ErrorCache.html" title="Core class of Soprano&#39;s exception system." alt="" coords="7,299,185,328"/><area shape="rect" id="node11" href="classSoprano_1_1Index_1_1IndexFilterModel.html" title="The IndexFilterModel provides a full text index around any Soprano Model." alt="" coords="655,5,868,35"/><area shape="rect" id="node13" href="classSoprano_1_1Inference_1_1InferenceModel.html" title="The Soprano Inference Model provides a simple forward chaining inference engine which uses the underl..." alt="" coords="647,59,876,88"/><area shape="rect" id="node15" href="classSoprano_1_1NRLModel.html" title="Model filter that makes working with NRL data simpler." alt="" coords="692,112,831,141"/><area shape="rect" id="node17" href="classSoprano_1_1RdfSchemaModel.html" title="Provides convenience methods to handle RDFS data." alt="" coords="671,165,852,195"/><area shape="rect" id="node19" href="classSoprano_1_1Server_1_1DBusExportModel.html" title="Exports a Soprano Model via D&#45;Bus." alt="" coords="647,219,876,248"/><area shape="rect" id="node21" href="classSoprano_1_1Util_1_1AsyncModel.html" title="Filter model that allows to perform operations asyncroneously." alt="" coords="672,272,851,301"/><area shape="rect" id="node23" href="classSoprano_1_1Util_1_1MutexModel.html" title="Protect a Model for multiple calls in multi&#45;threaded applications." alt="" coords="673,325,849,355"/><area shape="rect" id="node25" href="classSoprano_1_1Util_1_1SignalCacheModel.html" title="Caches multiple signals into one to avoid slowdown when adding or removing many statements." alt="" coords="655,379,868,408"/><area shape="rect" id="node29" href="classSoprano_1_1Client_1_1DBusModel.html" title="Interface to a DBus server model." alt="" coords="668,432,855,461"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classSoprano_1_1Model-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="signals"></a>
Signals</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#a75af3d05854d07b802082e38afea050b">statementsAdded</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#ada3d38b1cb9edef8d76aebcb7314de4e">statementsRemoved</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#a3e2595166caac3621fd4268e46049adf">statementAdded</a> (const <a class="el" href="classSoprano_1_1Statement.html">Soprano::Statement</a> &amp;statement)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#a8fa85bfce2f83e89f83ef602cd818991">statementRemoved</a> (const <a class="el" href="classSoprano_1_1Statement.html">Soprano::Statement</a> &amp;statement)</td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#ac486eaf41ccdb6f297eabbfdfce3d4cd">~Model</a> ()</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525">Error::ErrorCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#aed5b923235288fbac997850cca8f6053">addStatement</a> (const <a class="el" href="classSoprano_1_1Statement.html">Statement</a> &amp;statement)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525">Error::ErrorCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#a7ced264956229023122c4f6f48f4ca4c">addStatement</a> (const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;subject, const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;predicate, const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;object, const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;context=<a class="el" href="classSoprano_1_1Node.html">Node</a>())</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525">Error::ErrorCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#a4844c89a7ba369acc9654f0543b8a0ef">addStatements</a> (const <a class="elRef" href="qlist.html">QList</a>&lt; <a class="el" href="classSoprano_1_1Statement.html">Statement</a> &gt; &amp;statements)</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525">Error::ErrorCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#ad5952940a5e589bd70fc794d434e0f63">removeStatement</a> (const <a class="el" href="classSoprano_1_1Statement.html">Statement</a> &amp;statement)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525">Error::ErrorCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#a4751e5b93f2c06fd33c6066f9c9c208b">removeStatement</a> (const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;subject, const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;predicate, const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;object, const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;context=<a class="el" href="classSoprano_1_1Node.html">Node</a>())</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525">Error::ErrorCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#af4e328680aa3470852a6ce27253324cb">removeAllStatements</a> (const <a class="el" href="classSoprano_1_1Statement.html">Statement</a> &amp;statement)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525">Error::ErrorCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#a23e32a77953671fa8627fb277b7d9817">removeAllStatements</a> (const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;subject, const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;predicate, const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;object, const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;context=<a class="el" href="classSoprano_1_1Node.html">Node</a>())</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525">Error::ErrorCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#a99d065d46ec00fde54d20af3a35cabdf">removeStatements</a> (const <a class="elRef" href="qlist.html">QList</a>&lt; <a class="el" href="classSoprano_1_1Statement.html">Statement</a> &gt; &amp;statements)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525">Error::ErrorCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#a79686de0a7da3d08b40a5684866bbcde">removeContext</a> (const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525">Error::ErrorCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#ad24bce8972e94eeaa15d811131204394">removeAllStatements</a> ()</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSoprano_1_1StatementIterator.html">StatementIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#a7f50dc6483e0bed7830877182c7906ac">listStatements</a> (const <a class="el" href="classSoprano_1_1Statement.html">Statement</a> &amp;partial) const =0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSoprano_1_1StatementIterator.html">StatementIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#ae1709afa65ab325cc5d7eaf8ffa600dd">listStatements</a> (const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;subject, const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;predicate, const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;object, const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;context=<a class="el" href="classSoprano_1_1Node.html">Node</a>()) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSoprano_1_1StatementIterator.html">StatementIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#a3731d8cd907919b237d0ba2f93d9b572">listStatements</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSoprano_1_1StatementIterator.html">StatementIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#a3a52a3f299b378ae5e1563cbc7fc3ee4">listStatementsInContext</a> (const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;context) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSoprano_1_1NodeIterator.html">NodeIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#ad530cc7d159fdb0d05f66902b9594020">listContexts</a> () const =0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSoprano_1_1QueryResultIterator.html">QueryResultIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#a5157ca3996dea1e7a46947d41e530c51">executeQuery</a> (const <a class="elRef" href="qstring.html">QString</a> &amp;query, <a class="el" href="namespaceSoprano_1_1Query.html#ab568869993a9d6c452c8e5a34d5ac26c">Query::QueryLanguage</a> language, const <a class="elRef" href="qstring.html">QString</a> &amp;userQueryLanguage=<a class="elRef" href="qstring.html">QString</a>()) const =0</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#ab27c0414afb36a63e7bac1948293789f">containsAnyStatement</a> (const <a class="el" href="classSoprano_1_1Statement.html">Statement</a> &amp;statement) const =0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#a860f6f805b8864bffbd330b7781f9e04">containsAnyStatement</a> (const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;subject, const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;predicate, const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;object, const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;context=<a class="el" href="classSoprano_1_1Node.html">Node</a>()) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#a0194c85c892ab3661d1932fca610310e">containsStatement</a> (const <a class="el" href="classSoprano_1_1Statement.html">Statement</a> &amp;statement) const =0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#a541b928dcca5c75ca424d0b6fa74d75a">containsStatement</a> (const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;subject, const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;predicate, const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;object, const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;context=<a class="el" href="classSoprano_1_1Node.html">Node</a>()) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#a5b236ac496ecf2aaf7368899fbb5b67f">containsContext</a> (const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;context) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#a905f4ca3e95862e73c8aa56471b20a25">isEmpty</a> () const =0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#a831c3fd0e5dea37566fa19bd6068add8">statementCount</a> () const =0</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525">Error::ErrorCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#a6260cd7e7d4373136ed25dcfd2f2cea0">write</a> (<a class="elRef" href="qtextstream.html">QTextStream</a> &amp;os) const </td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSoprano_1_1Node.html">Node</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#a7f85d6812750b30e25175f92c3c62851">createBlankNode</a> ()=0</td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Model.html#a08821594956624efd866daadd4bf81dc">Model</a> ()</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>A <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a> is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements. </p>
<p><a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a> itself is just an interface for numerous implementations. (If you are looking for a simple container for statements, see <a class="el" href="classSoprano_1_1Graph.html" title="A simple collection of statements.">Graph</a>.) There are basically two types of Models in Soprano:</p>
<ul>
<li><a class="el" href="classSoprano_1_1StorageModel.html" title="Base class for all Model implementations that store data (as compared to FilterModel).">StorageModel</a> is the base class for <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a> implementations that actually store RDF quadruples. StorageModels are created transparently by Soprano backend plugins: <a class="el" href="classSoprano_1_1Backend.html#abe4347c68662b53fc2f709b4536febb2">Backend::createModel()</a> </li>
<li><a class="el" href="classSoprano_1_1FilterModel.html" title="A FilterModel is a virtual model that wraps another Model.">FilterModel</a> is the base class for all filter models. FilterModels can be stacked on top of a <a class="el" href="classSoprano_1_1StorageModel.html" title="Base class for all Model implementations that store data (as compared to FilterModel).">StorageModel</a> to perform arbitrary tasks like inference or actual content filtering. An important <a class="el" href="classSoprano_1_1FilterModel.html" title="A FilterModel is a virtual model that wraps another Model.">FilterModel</a> is <a class="el" href="classSoprano_1_1Inference_1_1InferenceModel.html" title="The Soprano Inference Model provides a simple forward chaining inference engine which uses the underl...">Inference::InferenceModel</a>.</li>
</ul>
<p>The simplest way to create a memory <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a> is to use the default <a class="el" href="classSoprano_1_1Backend.html" title="Soprano::Backend defines the interface for a Soprano backend plugin.">Backend</a>:</p>
<div class="fragment"><pre class="fragment"> <a class="code" href="classSoprano_1_1Model.html#a08821594956624efd866daadd4bf81dc">Model</a>* memModel = <a class="code" href="namespaceSoprano.html#a66f765cf9fd9aae07f874fdb8867dd1c">Soprano::createModel</a>();
</pre></div><p><b>Error handling:</b></p>
<p><a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a> is based on Soprano's own error handling system which tries to emulate exceptions to a certain extend. Most methods in <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a> have a means of reporting if an operation was successful or not. For additional error information <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a> inherits ErrorCache which provides the method <a class="el" href="classSoprano_1_1Error_1_1ErrorCache.html#a3251b8052cdf932d59a523ca215d21c9">lastError()</a>.</p>
<p>Thus, advanced error handling would look as follows:</p>
<div class="fragment"><pre class="fragment"> <a class="code" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Soprano::Model</a>* model = <a class="code" href="namespaceSoprano.html#a66f765cf9fd9aae07f874fdb8867dd1c">Soprano::createModel</a>();
 <a class="code" href="classSoprano_1_1Statement.html" title="A Statement instance represents one RDF quadruple.">Soprano::Statement</a> invalidStatement;
 <span class="keywordflow">if</span>( model-&gt;<a class="code" href="classSoprano_1_1Model.html#aed5b923235288fbac997850cca8f6053">addStatement</a>( invalidStatement ) != <a class="code" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525a69f521a4f40b463680d393963d5b4187">Error::ErrorNone</a> ) {
    showErrorMessage( model-&gt;<a class="code" href="classSoprano_1_1Error_1_1ErrorCache.html#a3251b8052cdf932d59a523ca215d21c9">lastError</a>().message() );
 }
</pre></div><p>For this to work properly <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a> implementations have to reset the error in each method by either calling <a class="el" href="classSoprano_1_1Error_1_1ErrorCache.html#a65f952db676de0a6a186ea872fca18b8">clearError()</a> or <a class="el" href="classSoprano_1_1Error_1_1ErrorCache.html#afd1a1eccaa2af733601eab1f019a8553">setError()</a>.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="soprano_error_handling.html">Error handling in Soprano</a></dd></dl>
<p><a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a> is thread-safe when used with a thread-safe backend (all "official" Soprano backends are thread-safe). However, it is recommended to create <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a> instances in the main thread.</p>
<dl class="author"><dt><b>Author:</b></dt><dd>Daniele Galdi &lt;<a href="mailto:daniele.galdi@gmail.com">daniele.galdi@gmail.com</a>&gt;<br/>
Sebastian Trueg &lt;<a href="mailto:trueg@kde.org">trueg@kde.org</a>&gt; </dd></dl>

<p>Definition at line <a class="el" href="model_8h_source.html#l00094">94</a> of file <a class="el" href="model_8h_source.html">model.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ac486eaf41ccdb6f297eabbfdfce3d4cd"></a><!-- doxytag: member="Soprano::Model::~Model" ref="ac486eaf41ccdb6f297eabbfdfce3d4cd" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual Soprano::Model::~Model </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a08821594956624efd866daadd4bf81dc"></a><!-- doxytag: member="Soprano::Model::Model" ref="a08821594956624efd866daadd4bf81dc" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Soprano::Model::Model </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="aed5b923235288fbac997850cca8f6053"></a><!-- doxytag: member="Soprano::Model::addStatement" ref="aed5b923235288fbac997850cca8f6053" args="(const Statement &amp;statement)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525">Error::ErrorCode</a> Soprano::Model::addStatement </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Statement.html">Statement</a> &amp;&#160;</td>
          <td class="paramname"><em>statement</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Add the <a class="el" href="classSoprano_1_1Statement.html" title="A Statement instance represents one RDF quadruple.">Statement</a> to the <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">statement</td><td>The <a class="el" href="classSoprano_1_1Statement.html" title="A Statement instance represents one RDF quadruple.">Statement</a> to add. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classSoprano_1_1FilterModel.html#a1994117b73985823f12cb76192fdcda1">Soprano::FilterModel</a>, <a class="el" href="classSoprano_1_1Inference_1_1InferenceModel.html#a74db154412f02bc5e237ec7838eecd4e">Soprano::Inference::InferenceModel</a>, <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#a1793fc92adeb2b3781d5ca540557ad3b">Soprano::Util::DummyModel</a>, <a class="el" href="classSoprano_1_1Util_1_1MutexModel.html#aa5a60b397d0ed18b437d02a180885945">Soprano::Util::MutexModel</a>, <a class="el" href="classSoprano_1_1Util_1_1ReadOnlyModel.html#af29b1cd4903059ed6ba53c29832636ab">Soprano::Util::ReadOnlyModel</a>, <a class="el" href="classSoprano_1_1Index_1_1IndexFilterModel.html#a858fea29158897e1d67273548aa359e6">Soprano::Index::IndexFilterModel</a>, <a class="el" href="classSoprano_1_1Client_1_1DBusModel.html#a8cba0c7707afb637d677b3d461b52150">Soprano::Client::DBusModel</a>, and <a class="el" href="classSoprano_1_1Client_1_1SparqlModel.html#a0aee80d7529fd240b1ae997b0386b54b">Soprano::Client::SparqlModel</a>.</p>

</div>
</div>
<a class="anchor" id="a7ced264956229023122c4f6f48f4ca4c"></a><!-- doxytag: member="Soprano::Model::addStatement" ref="a7ced264956229023122c4f6f48f4ca4c" args="(const Node &amp;subject, const Node &amp;predicate, const Node &amp;object, const Node &amp;context=Node())" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525">Error::ErrorCode</a> Soprano::Model::addStatement </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>subject</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>predicate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>object</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>context</em> = <code><a class="el" href="classSoprano_1_1Node.html">Node</a>()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>

<p>Reimplemented in <a class="el" href="classSoprano_1_1FilterModel.html#a8cc77eeefd030b3b63a0977c1f6bdf13">Soprano::FilterModel</a>, and <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#a8546a8006e6d13ff2c9218fe8b10c5bc">Soprano::Util::DummyModel</a>.</p>

</div>
</div>
<a class="anchor" id="a4844c89a7ba369acc9654f0543b8a0ef"></a><!-- doxytag: member="Soprano::Model::addStatements" ref="a4844c89a7ba369acc9654f0543b8a0ef" args="(const QList&lt; Statement &gt; &amp;statements)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525">Error::ErrorCode</a> Soprano::Model::addStatements </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" href="qlist.html">QList</a>&lt; <a class="el" href="classSoprano_1_1Statement.html">Statement</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>statements</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>

<p>Reimplemented in <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#af8e41d23c196f70519ad81781c63c39f">Soprano::Util::DummyModel</a>.</p>

</div>
</div>
<a class="anchor" id="ad5952940a5e589bd70fc794d434e0f63"></a><!-- doxytag: member="Soprano::Model::removeStatement" ref="ad5952940a5e589bd70fc794d434e0f63" args="(const Statement &amp;statement)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525">Error::ErrorCode</a> Soprano::Model::removeStatement </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Statement.html">Statement</a> &amp;&#160;</td>
          <td class="paramname"><em>statement</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Remove one statement. For removing statements with wildward matching see <a class="el" href="classSoprano_1_1Model.html#ad24bce8972e94eeaa15d811131204394">removeAllStatements()</a>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">statement</td><td>The statement that should be removed. This has to be a valid statement.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525a69f521a4f40b463680d393963d5b4187">Error::ErrorNone</a> on success and an error code if statement was invalid or an error occured. </dd></dl>

<p>Implemented in <a class="el" href="classSoprano_1_1FilterModel.html#af6bf72a84ffb0fe92c2470eeb0eb8b4e">Soprano::FilterModel</a>, <a class="el" href="classSoprano_1_1Inference_1_1InferenceModel.html#a2f87ee6724513469afa5f0a00415bc15">Soprano::Inference::InferenceModel</a>, <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#ab1239d967d7bcaeac1b3750ffbdee891">Soprano::Util::DummyModel</a>, <a class="el" href="classSoprano_1_1Util_1_1MutexModel.html#a18edbeaaccb9702736802a9546c942fc">Soprano::Util::MutexModel</a>, <a class="el" href="classSoprano_1_1Util_1_1ReadOnlyModel.html#a350401617c382637ec68d2e4b6cc6b8e">Soprano::Util::ReadOnlyModel</a>, <a class="el" href="classSoprano_1_1Index_1_1IndexFilterModel.html#a42da38dc7619b3bfe894dcdd006b05da">Soprano::Index::IndexFilterModel</a>, <a class="el" href="classSoprano_1_1Client_1_1DBusModel.html#ab558b0997b91accc3a0fc560aff7515a">Soprano::Client::DBusModel</a>, and <a class="el" href="classSoprano_1_1Client_1_1SparqlModel.html#a91f50584be2d2945042394917da7cbaa">Soprano::Client::SparqlModel</a>.</p>

</div>
</div>
<a class="anchor" id="a4751e5b93f2c06fd33c6066f9c9c208b"></a><!-- doxytag: member="Soprano::Model::removeStatement" ref="a4751e5b93f2c06fd33c6066f9c9c208b" args="(const Node &amp;subject, const Node &amp;predicate, const Node &amp;object, const Node &amp;context=Node())" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525">Error::ErrorCode</a> Soprano::Model::removeStatement </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>subject</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>predicate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>object</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>context</em> = <code><a class="el" href="classSoprano_1_1Node.html">Node</a>()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>

<p>Reimplemented in <a class="el" href="classSoprano_1_1FilterModel.html#af296ca8d93132452d2e9d64a8aa09721">Soprano::FilterModel</a>, and <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#a80103c3e389e5100390df9d231059da1">Soprano::Util::DummyModel</a>.</p>

</div>
</div>
<a class="anchor" id="af4e328680aa3470852a6ce27253324cb"></a><!-- doxytag: member="Soprano::Model::removeAllStatements" ref="af4e328680aa3470852a6ce27253324cb" args="(const Statement &amp;statement)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525">Error::ErrorCode</a> Soprano::Model::removeAllStatements </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Statement.html">Statement</a> &amp;&#160;</td>
          <td class="paramname"><em>statement</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Remove all statements that match the partial statement. For removing one specific statement see <a class="el" href="classSoprano_1_1Model.html#ad5952940a5e589bd70fc794d434e0f63">removeStatement()</a>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">statement</td><td>A possible partially defined statement that serves as a filter for all statements that should be removed. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classSoprano_1_1FilterModel.html#ab5bf9cad97a0426e6dcf9fba65228911">Soprano::FilterModel</a>, <a class="el" href="classSoprano_1_1NRLModel.html#ae515da2102283fc752162597d33216c2">Soprano::NRLModel</a>, <a class="el" href="classSoprano_1_1StorageModel.html#ab1bece9ba14391df92554efdb7bf1df9">Soprano::StorageModel</a>, <a class="el" href="classSoprano_1_1Inference_1_1InferenceModel.html#a4233075b129ffebd04478598e7a5172e">Soprano::Inference::InferenceModel</a>, <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#a4afdab742f66c0cd96bf43df4251d50c">Soprano::Util::DummyModel</a>, <a class="el" href="classSoprano_1_1Util_1_1MutexModel.html#aa120608f9a7e0c43a33aca7a0a478e67">Soprano::Util::MutexModel</a>, <a class="el" href="classSoprano_1_1Util_1_1ReadOnlyModel.html#a3f6bd8016379ac1b7d42408345101e66">Soprano::Util::ReadOnlyModel</a>, <a class="el" href="classSoprano_1_1Index_1_1IndexFilterModel.html#ad8d37102c79a1f4e8d197806163d3d43">Soprano::Index::IndexFilterModel</a>, <a class="el" href="classSoprano_1_1Client_1_1DBusModel.html#ad5c084f8146e9d7f3fc814541095dfcf">Soprano::Client::DBusModel</a>, and <a class="el" href="classSoprano_1_1Client_1_1SparqlModel.html#a32c8e6a0c2bbcfa4a73704af4c77790b">Soprano::Client::SparqlModel</a>.</p>

</div>
</div>
<a class="anchor" id="a23e32a77953671fa8627fb277b7d9817"></a><!-- doxytag: member="Soprano::Model::removeAllStatements" ref="a23e32a77953671fa8627fb277b7d9817" args="(const Node &amp;subject, const Node &amp;predicate, const Node &amp;object, const Node &amp;context=Node())" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525">Error::ErrorCode</a> Soprano::Model::removeAllStatements </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>subject</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>predicate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>object</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>context</em> = <code><a class="el" href="classSoprano_1_1Node.html">Node</a>()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">subject</td><td>The subject node to match. Can be empty as a wildcard. </td></tr>
    <tr><td class="paramname">predicate</td><td>The predicate node to match. Can be empty as a wildcard. </td></tr>
    <tr><td class="paramname">object</td><td>The object node to match. Can be empty as a wildcard. </td></tr>
    <tr><td class="paramname">context</td><td>The context node to match. Can be empty as a wildcard. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="classSoprano_1_1FilterModel.html#aa182e7d23d2e69f8daf6d0a0f703447b">Soprano::FilterModel</a>.</p>

</div>
</div>
<a class="anchor" id="a99d065d46ec00fde54d20af3a35cabdf"></a><!-- doxytag: member="Soprano::Model::removeStatements" ref="a99d065d46ec00fde54d20af3a35cabdf" args="(const QList&lt; Statement &gt; &amp;statements)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525">Error::ErrorCode</a> Soprano::Model::removeStatements </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" href="qlist.html">QList</a>&lt; <a class="el" href="classSoprano_1_1Statement.html">Statement</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>statements</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Convenience method which removes all statements in statements. </p>

<p>Reimplemented in <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#a065f5327af58e978d7ef2aaabe80016b">Soprano::Util::DummyModel</a>.</p>

</div>
</div>
<a class="anchor" id="a79686de0a7da3d08b40a5684866bbcde"></a><!-- doxytag: member="Soprano::Model::removeContext" ref="a79686de0a7da3d08b40a5684866bbcde" args="(const Node &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525">Error::ErrorCode</a> Soprano::Model::removeContext </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Convenience method that removes all statements in the context. </p>

<p>Reimplemented in <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#a7850fecbe64e07e923a2ea3392f818b0">Soprano::Util::DummyModel</a>.</p>

</div>
</div>
<a class="anchor" id="ad24bce8972e94eeaa15d811131204394"></a><!-- doxytag: member="Soprano::Model::removeAllStatements" ref="ad24bce8972e94eeaa15d811131204394" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525">Error::ErrorCode</a> Soprano::Model::removeAllStatements </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Convenience method that clear the <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a> of all statements </p>

<p>Reimplemented in <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#a66f0d29a0466f97a37a49e52b5e00763">Soprano::Util::DummyModel</a>.</p>

</div>
</div>
<a class="anchor" id="a7f50dc6483e0bed7830877182c7906ac"></a><!-- doxytag: member="Soprano::Model::listStatements" ref="a7f50dc6483e0bed7830877182c7906ac" args="(const Statement &amp;partial) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classSoprano_1_1StatementIterator.html">StatementIterator</a> Soprano::Model::listStatements </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Statement.html">Statement</a> &amp;&#160;</td>
          <td class="paramname"><em>partial</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return an iterator over <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a> Statements that "partial" match the input <a class="el" href="classSoprano_1_1Statement.html" title="A Statement instance represents one RDF quadruple.">Statement</a>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">partial</td><td>The partial <a class="el" href="classSoprano_1_1Statement.html" title="A Statement instance represents one RDF quadruple.">Statement</a> to match.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>An iterator for all the matched Statements, on error an invalid iterator is returned. </dd></dl>

<p>Implemented in <a class="el" href="classSoprano_1_1FilterModel.html#af046c0ab7f49cd2aa0d1783d0dee8903">Soprano::FilterModel</a>, <a class="el" href="classSoprano_1_1Util_1_1AsyncModel.html#ae27f005490b80a79c551642d7b1f5b08">Soprano::Util::AsyncModel</a>, <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#aff252dea7e6bbbf069f45a7a5d181972">Soprano::Util::DummyModel</a>, <a class="el" href="classSoprano_1_1Util_1_1MutexModel.html#ab31105e88e8107fd9488573da44e3c13">Soprano::Util::MutexModel</a>, <a class="el" href="classSoprano_1_1Util_1_1ReadOnlyModel.html#ab072935a6fb7725916176ad83d095db5">Soprano::Util::ReadOnlyModel</a>, <a class="el" href="classSoprano_1_1Client_1_1DBusModel.html#a4577199220e2e0be57b0556eb53ad16a">Soprano::Client::DBusModel</a>, and <a class="el" href="classSoprano_1_1Client_1_1SparqlModel.html#a4a46b04ecae1342da0a3f396eb77ddc2">Soprano::Client::SparqlModel</a>.</p>

</div>
</div>
<a class="anchor" id="ae1709afa65ab325cc5d7eaf8ffa600dd"></a><!-- doxytag: member="Soprano::Model::listStatements" ref="ae1709afa65ab325cc5d7eaf8ffa600dd" args="(const Node &amp;subject, const Node &amp;predicate, const Node &amp;object, const Node &amp;context=Node()) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classSoprano_1_1StatementIterator.html">StatementIterator</a> Soprano::Model::listStatements </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>subject</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>predicate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>object</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>context</em> = <code><a class="el" href="classSoprano_1_1Node.html">Node</a>()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">subject</td><td>The subject node to match. Can be empty as a wildcard. </td></tr>
    <tr><td class="paramname">predicate</td><td>The predicate node to match. Can be empty as a wildcard. </td></tr>
    <tr><td class="paramname">object</td><td>The object node to match. Can be empty as a wildcard. </td></tr>
    <tr><td class="paramname">context</td><td>The context node to match. Can be empty as a wildcard.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>An iterator for all the matched Statements, on error an invalid iterator is returned. </dd></dl>

<p>Reimplemented in <a class="el" href="classSoprano_1_1FilterModel.html#a3ea957b4192974ad95040e8df2b072f7">Soprano::FilterModel</a>, and <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#ab535672401ff1d6a9e0d587bd8cdace6">Soprano::Util::DummyModel</a>.</p>

</div>
</div>
<a class="anchor" id="a3731d8cd907919b237d0ba2f93d9b572"></a><!-- doxytag: member="Soprano::Model::listStatements" ref="a3731d8cd907919b237d0ba2f93d9b572" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classSoprano_1_1StatementIterator.html">StatementIterator</a> Soprano::Model::listStatements </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>An iterator for all statements in the model, on error an invalid iterator is returned. </dd></dl>

<p>Reimplemented in <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#a8ba4072ad135b07dd057f748c7194ff9">Soprano::Util::DummyModel</a>.</p>

</div>
</div>
<a class="anchor" id="a3a52a3f299b378ae5e1563cbc7fc3ee4"></a><!-- doxytag: member="Soprano::Model::listStatementsInContext" ref="a3a52a3f299b378ae5e1563cbc7fc3ee4" args="(const Node &amp;context) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classSoprano_1_1StatementIterator.html">StatementIterator</a> Soprano::Model::listStatementsInContext </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>context</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Convenience method which lists all statements in context.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>An iterator for all the matched Statements, on error an invalid iterator is returned. </dd></dl>

<p>Reimplemented in <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#acfdfc0ce812601dceba5477a41950f5a">Soprano::Util::DummyModel</a>.</p>

</div>
</div>
<a class="anchor" id="ad530cc7d159fdb0d05f66902b9594020"></a><!-- doxytag: member="Soprano::Model::listContexts" ref="ad530cc7d159fdb0d05f66902b9594020" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classSoprano_1_1NodeIterator.html">NodeIterator</a> Soprano::Model::listContexts </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>List all contexts in the model, i.e. all named graphs.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>An iterator over context Nodes, on error an invalid iterator is returned. </dd></dl>

<p>Implemented in <a class="el" href="classSoprano_1_1FilterModel.html#a79edd3a6f31bffc706c28641d04952eb">Soprano::FilterModel</a>, <a class="el" href="classSoprano_1_1Util_1_1AsyncModel.html#a96e75d77663bc37a498ea7ce597ba59f">Soprano::Util::AsyncModel</a>, <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#a488f4fe206205be2326950d5e9829d37">Soprano::Util::DummyModel</a>, <a class="el" href="classSoprano_1_1Util_1_1MutexModel.html#ae216792d698712c2d0e3b2aef30b7e67">Soprano::Util::MutexModel</a>, <a class="el" href="classSoprano_1_1Util_1_1ReadOnlyModel.html#a1e421a84a358088bc398bd127f97c16e">Soprano::Util::ReadOnlyModel</a>, <a class="el" href="classSoprano_1_1Client_1_1DBusModel.html#a8bf2c45a0fc173fc2875d480c421538e">Soprano::Client::DBusModel</a>, and <a class="el" href="classSoprano_1_1Client_1_1SparqlModel.html#aaab1422b7f979623e98c42cfaaefb027">Soprano::Client::SparqlModel</a>.</p>

</div>
</div>
<a class="anchor" id="a5157ca3996dea1e7a46947d41e530c51"></a><!-- doxytag: member="Soprano::Model::executeQuery" ref="a5157ca3996dea1e7a46947d41e530c51" args="(const QString &amp;query, Query::QueryLanguage language, const QString &amp;userQueryLanguage=QString()) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classSoprano_1_1QueryResultIterator.html">QueryResultIterator</a> Soprano::Model::executeQuery </td>
          <td>(</td>
          <td class="paramtype">const <a class="elRef" href="qstring.html">QString</a> &amp;&#160;</td>
          <td class="paramname"><em>query</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceSoprano_1_1Query.html#ab568869993a9d6c452c8e5a34d5ac26c">Query::QueryLanguage</a>&#160;</td>
          <td class="paramname"><em>language</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="elRef" href="qstring.html">QString</a> &amp;&#160;</td>
          <td class="paramname"><em>userQueryLanguage</em> = <code><a class="elRef" href="qstring.html">QString</a>()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>query_api_disabled Execute the given query over the <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a>.</p>
<p>This is a const read-only method. As such <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a> implementations should not support SPARQL extensions such as INSERT or UPDATE through this method. A future version of Soprano will provide an additional API for queries that change the <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">query</td><td>The query to evaluate. </td></tr>
    <tr><td class="paramname">language</td><td>The query language used to encode <code>query</code>. </td></tr>
    <tr><td class="paramname">userQueryLanguage</td><td>If <code>language</code> equals <a class="el" href="namespaceSoprano_1_1Query.html#ab568869993a9d6c452c8e5a34d5ac26cac6b6f6a34d2d09221941d9a0ac522633">Query::QueryLanguageUser</a> userQueryLanguage defines the language to use.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>An iterator over all results matching the query, on error an invalid iterator is returned. </dd></dl>

<p>Implemented in <a class="el" href="classSoprano_1_1FilterModel.html#a8d5189d772d22a7dd878bdc31cd01c18">Soprano::FilterModel</a>, <a class="el" href="classSoprano_1_1NRLModel.html#a38af0c9f0bd70b6497e428ce25317b3a">Soprano::NRLModel</a>, <a class="el" href="classSoprano_1_1Util_1_1AsyncModel.html#a9e3c08788cf03ceffe1eb0b8cd315790">Soprano::Util::AsyncModel</a>, <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#ab4701b94ace92318a1406a3ef1615299">Soprano::Util::DummyModel</a>, <a class="el" href="classSoprano_1_1Util_1_1MutexModel.html#a3ce2239303435e19729a31abd749dd6b">Soprano::Util::MutexModel</a>, <a class="el" href="classSoprano_1_1Util_1_1ReadOnlyModel.html#a4b1e6ec334999be4c8d71a300351d45a">Soprano::Util::ReadOnlyModel</a>, <a class="el" href="classSoprano_1_1Index_1_1IndexFilterModel.html#a09ae3a8005c3692dc3d452816f689a44">Soprano::Index::IndexFilterModel</a>, <a class="el" href="classSoprano_1_1Client_1_1DBusModel.html#a5ee79f1a1c1e01c361b4cea706670685">Soprano::Client::DBusModel</a>, and <a class="el" href="classSoprano_1_1Client_1_1SparqlModel.html#a268a3d6905e146b83ef6a37217a7db1b">Soprano::Client::SparqlModel</a>.</p>

</div>
</div>
<a class="anchor" id="ab27c0414afb36a63e7bac1948293789f"></a><!-- doxytag: member="Soprano::Model::containsAnyStatement" ref="ab27c0414afb36a63e7bac1948293789f" args="(const Statement &amp;statement) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool Soprano::Model::containsAnyStatement </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Statement.html">Statement</a> &amp;&#160;</td>
          <td class="paramname"><em>statement</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if the model contains certain statements.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">statement</td><td>A partially defined statement that serves as a pattern.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if the <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a> contains a <a class="el" href="classSoprano_1_1Statement.html" title="A Statement instance represents one RDF quadruple.">Statement</a> matching the given statement pattern. </dd></dl>

<p>Implemented in <a class="el" href="classSoprano_1_1FilterModel.html#ae3dc83bde44d1de4055eaea93f392c0a">Soprano::FilterModel</a>, <a class="el" href="classSoprano_1_1StorageModel.html#a036f0a4498b8a468814fa14d87d3ac83">Soprano::StorageModel</a>, <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#a181a19049201a61d8c0e3535dad3d784">Soprano::Util::DummyModel</a>, <a class="el" href="classSoprano_1_1Util_1_1MutexModel.html#aa2aa58ea50b84a2159f8ff8494587e87">Soprano::Util::MutexModel</a>, <a class="el" href="classSoprano_1_1Util_1_1ReadOnlyModel.html#ab57187b5e4bbcd0b6bf53cc3ed72f410">Soprano::Util::ReadOnlyModel</a>, <a class="el" href="classSoprano_1_1Client_1_1DBusModel.html#ac755e964c1e6b8b199badba9a61ecdb5">Soprano::Client::DBusModel</a>, and <a class="el" href="classSoprano_1_1Client_1_1SparqlModel.html#a6bbe0b6b15640d312d48b3f9edf750d6">Soprano::Client::SparqlModel</a>.</p>

</div>
</div>
<a class="anchor" id="a860f6f805b8864bffbd330b7781f9e04"></a><!-- doxytag: member="Soprano::Model::containsAnyStatement" ref="a860f6f805b8864bffbd330b7781f9e04" args="(const Node &amp;subject, const Node &amp;predicate, const Node &amp;object, const Node &amp;context=Node()) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Soprano::Model::containsAnyStatement </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>subject</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>predicate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>object</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>context</em> = <code><a class="el" href="classSoprano_1_1Node.html">Node</a>()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">subject</td><td>The subject node to match. Can be empty as a wildcard. </td></tr>
    <tr><td class="paramname">predicate</td><td>The predicate node to match. Can be empty as a wildcard. </td></tr>
    <tr><td class="paramname">object</td><td>The object node to match. Can be empty as a wildcard. </td></tr>
    <tr><td class="paramname">context</td><td>The context node to match. Can be empty as a wildcard. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="classSoprano_1_1FilterModel.html#ac5f320572af01d76e660fd9ed7fc36bb">Soprano::FilterModel</a>, and <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#af7490c7abbc6d4d0a24d4c0d18fd8ea6">Soprano::Util::DummyModel</a>.</p>

</div>
</div>
<a class="anchor" id="a0194c85c892ab3661d1932fca610310e"></a><!-- doxytag: member="Soprano::Model::containsStatement" ref="a0194c85c892ab3661d1932fca610310e" args="(const Statement &amp;statement) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool Soprano::Model::containsStatement </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Statement.html">Statement</a> &amp;&#160;</td>
          <td class="paramname"><em>statement</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if the model contains a statements.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">statement</td><td>The statement in question. This has to be a valid statement, i.e. subject, predicate, and object need to be defined. If the context node is empty the default graph is searched.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a> contains the <a class="el" href="classSoprano_1_1Statement.html" title="A Statement instance represents one RDF quadruple.">Statement</a>, <code>false</code> otherwise or is statement is invalid. </dd></dl>

<p>Implemented in <a class="el" href="classSoprano_1_1FilterModel.html#af846accbea848739b50cd4e0f3f832e1">Soprano::FilterModel</a>, <a class="el" href="classSoprano_1_1StorageModel.html#a6d385017d278413a6456c6155667f722">Soprano::StorageModel</a>, <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#adc017b0b2e4502cb459215e83263cfc3">Soprano::Util::DummyModel</a>, <a class="el" href="classSoprano_1_1Util_1_1MutexModel.html#af5a812a75761135f021ac91f5f2bf766">Soprano::Util::MutexModel</a>, <a class="el" href="classSoprano_1_1Util_1_1ReadOnlyModel.html#a2270383139559973bc90f51171042612">Soprano::Util::ReadOnlyModel</a>, <a class="el" href="classSoprano_1_1Client_1_1DBusModel.html#af73ce3b3de76361a77c7e54122d34a44">Soprano::Client::DBusModel</a>, and <a class="el" href="classSoprano_1_1Client_1_1SparqlModel.html#abb981fcc9618b7d90045bde758bb4df0">Soprano::Client::SparqlModel</a>.</p>

</div>
</div>
<a class="anchor" id="a541b928dcca5c75ca424d0b6fa74d75a"></a><!-- doxytag: member="Soprano::Model::containsStatement" ref="a541b928dcca5c75ca424d0b6fa74d75a" args="(const Node &amp;subject, const Node &amp;predicate, const Node &amp;object, const Node &amp;context=Node()) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Soprano::Model::containsStatement </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>subject</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>predicate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>object</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>context</em> = <code><a class="el" href="classSoprano_1_1Node.html">Node</a>()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>

<p>Reimplemented in <a class="el" href="classSoprano_1_1FilterModel.html#a67f7abd093760cf8360fc5a06edb0c91">Soprano::FilterModel</a>, and <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#a568122655fce53c8137de2a253be7a91">Soprano::Util::DummyModel</a>.</p>

</div>
</div>
<a class="anchor" id="a5b236ac496ecf2aaf7368899fbb5b67f"></a><!-- doxytag: member="Soprano::Model::containsContext" ref="a5b236ac496ecf2aaf7368899fbb5b67f" args="(const Node &amp;context) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Soprano::Model::containsContext </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Node.html">Node</a> &amp;&#160;</td>
          <td class="paramname"><em>context</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Convenience method which is based on containsAnyStatement </p>

<p>Reimplemented in <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#a3df35cef714cf2643d3e4b6ed2f29e18">Soprano::Util::DummyModel</a>.</p>

</div>
</div>
<a class="anchor" id="a905f4ca3e95862e73c8aa56471b20a25"></a><!-- doxytag: member="Soprano::Model::isEmpty" ref="a905f4ca3e95862e73c8aa56471b20a25" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool Soprano::Model::isEmpty </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>true if the <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a> doesn't contains any <a class="el" href="classSoprano_1_1Statement.html" title="A Statement instance represents one RDF quadruple.">Statement</a>. </dd></dl>

<p>Implemented in <a class="el" href="classSoprano_1_1FilterModel.html#a2fb3ae451e7715319b57d061fd9352ae">Soprano::FilterModel</a>, <a class="el" href="classSoprano_1_1StorageModel.html#a1386c41c1e010928651497fbfc604b53">Soprano::StorageModel</a>, <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#a88512792002daf1dff0173edc4ff7f1d">Soprano::Util::DummyModel</a>, <a class="el" href="classSoprano_1_1Util_1_1MutexModel.html#a2934779248c5e72b208574df51aad98e">Soprano::Util::MutexModel</a>, <a class="el" href="classSoprano_1_1Util_1_1ReadOnlyModel.html#a2ff9fc8e0e80b9b3113237fc0f44e51f">Soprano::Util::ReadOnlyModel</a>, <a class="el" href="classSoprano_1_1Client_1_1DBusModel.html#a182cb53819aaa1c328d3d2d0977dd05d">Soprano::Client::DBusModel</a>, and <a class="el" href="classSoprano_1_1Client_1_1SparqlModel.html#ae99176bb9e03f5646111a226aa3210c9">Soprano::Client::SparqlModel</a>.</p>

</div>
</div>
<a class="anchor" id="a831c3fd0e5dea37566fa19bd6068add8"></a><!-- doxytag: member="Soprano::Model::statementCount" ref="a831c3fd0e5dea37566fa19bd6068add8" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int Soprano::Model::statementCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The number of statements stored in this <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The size of the <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a>, or -1 on error. </dd></dl>

<p>Implemented in <a class="el" href="classSoprano_1_1FilterModel.html#ac6330779ed50c13a84e90fd053e7b24b">Soprano::FilterModel</a>, <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#a201970b544153796db57e5d683fd1961">Soprano::Util::DummyModel</a>, <a class="el" href="classSoprano_1_1Util_1_1MutexModel.html#a9b3b32ed4597b11fb2d24b322fa1afd9">Soprano::Util::MutexModel</a>, <a class="el" href="classSoprano_1_1Util_1_1ReadOnlyModel.html#a5b57ed23332925462962462c38c44025">Soprano::Util::ReadOnlyModel</a>, <a class="el" href="classSoprano_1_1Client_1_1DBusModel.html#ac38d5204c1077328f7f0678293c5e33b">Soprano::Client::DBusModel</a>, and <a class="el" href="classSoprano_1_1Client_1_1SparqlModel.html#a301f9a0189184b4259e995b9664b4e9c">Soprano::Client::SparqlModel</a>.</p>

</div>
</div>
<a class="anchor" id="a6260cd7e7d4373136ed25dcfd2f2cea0"></a><!-- doxytag: member="Soprano::Model::write" ref="a6260cd7e7d4373136ed25dcfd2f2cea0" args="(QTextStream &amp;os) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceSoprano_1_1Error.html#aef1bd25c5b6705951735e0fb5c5ff525">Error::ErrorCode</a> Soprano::Model::write </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" href="qtextstream.html">QTextStream</a> &amp;&#160;</td>
          <td class="paramname"><em>os</em></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Write all statements in this <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a> to os.</p>
<p>Default implementation is based on <a class="el" href="classSoprano_1_1Model.html#a7f50dc6483e0bed7830877182c7906ac">Model::listStatements</a> </p>

<p>Reimplemented in <a class="el" href="classSoprano_1_1FilterModel.html#a9b4c97fdaf2c1f56a9e43047ae6e2ca1">Soprano::FilterModel</a>, and <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#a3f56f1d61f1c8ffe0575ff999c231630">Soprano::Util::DummyModel</a>.</p>

</div>
</div>
<a class="anchor" id="a7f85d6812750b30e25175f92c3c62851"></a><!-- doxytag: member="Soprano::Model::createBlankNode" ref="a7f85d6812750b30e25175f92c3c62851" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classSoprano_1_1Node.html">Node</a> Soprano::Model::createBlankNode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Creates a new blank node with a unique identifier.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A blank node that can be used to create new statements. </dd></dl>

<p>Implemented in <a class="el" href="classSoprano_1_1FilterModel.html#a099c3c2c012fab75cc4e6b8544704a6b">Soprano::FilterModel</a>, <a class="el" href="classSoprano_1_1Util_1_1DummyModel.html#a8c03680cdb9297f2b058679cfa9592e9">Soprano::Util::DummyModel</a>, <a class="el" href="classSoprano_1_1Util_1_1ReadOnlyModel.html#abe5cec44db982868d3e9eca88013858a">Soprano::Util::ReadOnlyModel</a>, <a class="el" href="classSoprano_1_1Client_1_1DBusModel.html#a930cb249a3ccbc22572cb3633c5472b5">Soprano::Client::DBusModel</a>, and <a class="el" href="classSoprano_1_1Client_1_1SparqlModel.html#ab6e26b6d7e0fb9fa0c610740feda0abc">Soprano::Client::SparqlModel</a>.</p>

</div>
</div>
<a class="anchor" id="a75af3d05854d07b802082e38afea050b"></a><!-- doxytag: member="Soprano::Model::statementsAdded" ref="a75af3d05854d07b802082e38afea050b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Soprano::Model::statementsAdded </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Emitted when new statements have been added to the model.</p>
<p>Implementations of this interface have to emit this signal. </p>

</div>
</div>
<a class="anchor" id="ada3d38b1cb9edef8d76aebcb7314de4e"></a><!-- doxytag: member="Soprano::Model::statementsRemoved" ref="ada3d38b1cb9edef8d76aebcb7314de4e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Soprano::Model::statementsRemoved </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Emitted when statements have been removed from the model.</p>
<p>Implementations of this interface have to emit this signal. </p>

</div>
</div>
<a class="anchor" id="a3e2595166caac3621fd4268e46049adf"></a><!-- doxytag: member="Soprano::Model::statementAdded" ref="a3e2595166caac3621fd4268e46049adf" args="(const Soprano::Statement &amp;statement)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Soprano::Model::statementAdded </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Statement.html">Soprano::Statement</a> &amp;&#160;</td>
          <td class="paramname"><em>statement</em></td><td>)</td>
          <td><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Notification signal for new statements. <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a> implementations should emit this signal for each newly added statement. </p>

</div>
</div>
<a class="anchor" id="a8fa85bfce2f83e89f83ef602cd818991"></a><!-- doxytag: member="Soprano::Model::statementRemoved" ref="a8fa85bfce2f83e89f83ef602cd818991" args="(const Soprano::Statement &amp;statement)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Soprano::Model::statementRemoved </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Statement.html">Soprano::Statement</a> &amp;&#160;</td>
          <td class="paramname"><em>statement</em></td><td>)</td>
          <td><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Notification signal for removed statements. <a class="el" href="classSoprano_1_1Model.html" title="A Model is the central class in Soprano. It is a queryable collection of RDF quadruples, i.e statements.">Model</a> implementations should emit this signal for each removed statement.</p>
<dl class="warning"><dt><b>Warning:</b></dt><dd>Backends may choose not to emit this signal for each removed statement but only for a statement pattern (i.e. an invalid statement as used in <a class="el" href="classSoprano_1_1Model.html#ad24bce8972e94eeaa15d811131204394">removeAllStatements()</a>) to prevent massive performance loss. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>/builddir/build/BUILD/soprano-2.6.0/soprano/<a class="el" href="model_8h_source.html">model.h</a></li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Fri Mar 11 2011 for Soprano by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address>
</body>
</html>