Sophie

Sophie

distrib > Fedora > 13 > x86_64 > media > updates > by-pkgid > fc669c0115c2f74e1d26807f2cb98f7a > files > 137

soprano-apidocs-2.5.2-1.fc13.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::Inference::Rule 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.1 -->
<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 class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;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 class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath">
    <ul>
      <li><a class="el" href="namespaceSoprano.html">Soprano</a>      </li>
      <li><a class="el" href="namespaceSoprano_1_1Inference.html">Inference</a>      </li>
      <li><a class="el" href="classSoprano_1_1Inference_1_1Rule.html">Soprano::Inference::Rule</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<h1>Soprano::Inference::Rule Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="Soprano::Inference::Rule" -->
<p>A rule used by the <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...">InferenceModel</a> to generate inferenced statements.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="inferencerule_8h_source.html">Soprano/Inference/Rule</a>&gt;</code></p>

<p><a href="classSoprano_1_1Inference_1_1Rule-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Inference_1_1Rule.html#a9d32c7243885210d9534aff43faeb13a">Rule</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Inference_1_1Rule.html#a84a1296e53f642f8e3f5664c8fcf8c9a">Rule</a> (const <a class="el" href="classSoprano_1_1Inference_1_1Rule.html">Rule</a> &amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Inference_1_1Rule.html#a1db7dd416cec4cd25ccd83a7f7cda516">~Rule</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSoprano_1_1Inference_1_1Rule.html">Rule</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Inference_1_1Rule.html#a4881b7c412a5d57675710b53bc42777b">operator=</a> (const <a class="el" href="classSoprano_1_1Inference_1_1Rule.html">Rule</a> &amp;other)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="qlist.html">QList</a>&lt; <a class="el" href="classSoprano_1_1Inference_1_1StatementPattern.html">StatementPattern</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Inference_1_1Rule.html#a6347b71049a709d56f01ba352d2057ff">preconditions</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Inference_1_1Rule.html#a43a8ac7fb4b7835b6c945d9bfa4d2b14">addPrecondition</a> (const <a class="el" href="classSoprano_1_1Inference_1_1StatementPattern.html">StatementPattern</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSoprano_1_1Inference_1_1StatementPattern.html">StatementPattern</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Inference_1_1Rule.html#a14f2ba47a9574118454d4d9000cd52b0">effect</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Inference_1_1Rule.html#a33a08e91fb74ebb4c2db664ca345e9c5">setEffect</a> (const <a class="el" href="classSoprano_1_1Inference_1_1StatementPattern.html">StatementPattern</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Inference_1_1Rule.html#a5fc256f672c6bbf5efc928959a67876a">match</a> (const <a class="el" href="classSoprano_1_1Statement.html">Statement</a> &amp;statement) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Inference_1_1Rule.html#a8a91a5b1f4b0d202df5cf55a02da4b5c">bindToStatement</a> (const <a class="el" href="classSoprano_1_1Statement.html">Statement</a> &amp;statement)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSoprano_1_1Statement.html">Statement</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Inference_1_1Rule.html#ad517cea149e68e6251c5db0bd42bfbdb">boundToStatement</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="qstring.html">QString</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Inference_1_1Rule.html#a8bcc07da86c1237afa5f7034e9ca1bd0">createSparqlQuery</a> (bool bindVariables=false) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSoprano_1_1Statement.html">Statement</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Inference_1_1Rule.html#aa259f605255e1cd9f620f57e297773ae">bindEffect</a> (const <a class="el" href="classSoprano_1_1BindingSet.html">BindingSet</a> &amp;bindings) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="qlist.html">QList</a>&lt; <a class="el" href="classSoprano_1_1Statement.html">Statement</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Inference_1_1Rule.html#af6b1169ece899e05418e180849da2f15">bindPreconditions</a> (const <a class="el" href="classSoprano_1_1BindingSet.html">BindingSet</a> &amp;bindings) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSoprano_1_1Inference_1_1Rule.html#a1c213f10ac6fc1ca18f308f4140f89f4">isValid</a> () const </td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A rule used by the <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...">InferenceModel</a> to generate inferenced statements. </p>
<p>Rules can be created manually by adding preconditions and the effect via <a class="el" href="classSoprano_1_1Inference_1_1Rule.html#a43a8ac7fb4b7835b6c945d9bfa4d2b14">addPrecondition()</a> and <a class="el" href="classSoprano_1_1Inference_1_1Rule.html#a33a08e91fb74ebb4c2db664ca345e9c5">setEffect()</a> or from a rules file through the <a class="el" href="classSoprano_1_1Inference_1_1RuleParser.html" title="The RuleParser can be used to parse Soprano rule files.">RuleParser</a>.</p>
<dl class="author"><dt><b>Author:</b></dt><dd>Sebastian Trueg &lt;<a href="mailto:trueg@kde.org">trueg@kde.org</a>&gt; </dd></dl>

<p>Definition at line <a class="el" href="inferencerule_8h_source.html#l00045">45</a> of file <a class="el" href="inferencerule_8h_source.html">inferencerule.h</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a9d32c7243885210d9534aff43faeb13a"></a><!-- doxytag: member="Soprano::Inference::Rule::Rule" ref="a9d32c7243885210d9534aff43faeb13a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Soprano::Inference::Rule::Rule </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Constructs an invalid rule </p>

</div>
</div>
<a class="anchor" id="a84a1296e53f642f8e3f5664c8fcf8c9a"></a><!-- doxytag: member="Soprano::Inference::Rule::Rule" ref="a84a1296e53f642f8e3f5664c8fcf8c9a" args="(const Rule &amp;other)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Soprano::Inference::Rule::Rule </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Inference_1_1Rule.html">Rule</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Copy constructor. Creates a shallow copy of <code>other</code>. </p>

</div>
</div>
<a class="anchor" id="a1db7dd416cec4cd25ccd83a7f7cda516"></a><!-- doxytag: member="Soprano::Inference::Rule::~Rule" ref="a1db7dd416cec4cd25ccd83a7f7cda516" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Soprano::Inference::Rule::~Rule </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Destructor </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a4881b7c412a5d57675710b53bc42777b"></a><!-- doxytag: member="Soprano::Inference::Rule::operator=" ref="a4881b7c412a5d57675710b53bc42777b" args="(const Rule &amp;other)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classSoprano_1_1Inference_1_1Rule.html">Rule</a>&amp; Soprano::Inference::Rule::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Inference_1_1Rule.html">Rule</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Assignment operator. Creates a shallow copy of <code>other</code>. </p>

</div>
</div>
<a class="anchor" id="a6347b71049a709d56f01ba352d2057ff"></a><!-- doxytag: member="Soprano::Inference::Rule::preconditions" ref="a6347b71049a709d56f01ba352d2057ff" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="qlist.html">QList</a>&lt;<a class="el" href="classSoprano_1_1Inference_1_1StatementPattern.html">StatementPattern</a>&gt; Soprano::Inference::Rule::preconditions </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The list of preconditions for the rule. Each condition is a <a class="el" href="classSoprano_1_1Inference_1_1StatementPattern.html" title="Building block of an inference Rule.">StatementPattern</a> which can contain variables. These variables are identified by their name and matched accordingly. </p>

</div>
</div>
<a class="anchor" id="a43a8ac7fb4b7835b6c945d9bfa4d2b14"></a><!-- doxytag: member="Soprano::Inference::Rule::addPrecondition" ref="a43a8ac7fb4b7835b6c945d9bfa4d2b14" args="(const StatementPattern &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Soprano::Inference::Rule::addPrecondition </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Inference_1_1StatementPattern.html">StatementPattern</a> &amp;&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Add a precondition </p>

</div>
</div>
<a class="anchor" id="a14f2ba47a9574118454d4d9000cd52b0"></a><!-- doxytag: member="Soprano::Inference::Rule::effect" ref="a14f2ba47a9574118454d4d9000cd52b0" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classSoprano_1_1Inference_1_1StatementPattern.html">StatementPattern</a> Soprano::Inference::Rule::effect </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The effect of a rule is a pattern that repeats variables from the preconditions and thus, identifies the statements that are to be infered from the preconditions. </p>

</div>
</div>
<a class="anchor" id="a33a08e91fb74ebb4c2db664ca345e9c5"></a><!-- doxytag: member="Soprano::Inference::Rule::setEffect" ref="a33a08e91fb74ebb4c2db664ca345e9c5" args="(const StatementPattern &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Soprano::Inference::Rule::setEffect </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Inference_1_1StatementPattern.html">StatementPattern</a> &amp;&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set the effect of the rule. </p>

</div>
</div>
<a class="anchor" id="a5fc256f672c6bbf5efc928959a67876a"></a><!-- doxytag: member="Soprano::Inference::Rule::match" ref="a5fc256f672c6bbf5efc928959a67876a" args="(const Statement &amp;statement) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Soprano::Inference::Rule::match </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Statement.html">Statement</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>statement</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if a statement matches any of the statement patterns in this rule.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if statement matches any of the patterns, false otherwise. Be aware that <a class="el" href="classSoprano_1_1Inference_1_1Rule.html#a8bcc07da86c1237afa5f7034e9ca1bd0">createSparqlQuery()</a> might still return an empty string since it does perform some aditional optimization checks based on the bound statement. </dd></dl>

</div>
</div>
<a class="anchor" id="a8a91a5b1f4b0d202df5cf55a02da4b5c"></a><!-- doxytag: member="Soprano::Inference::Rule::bindToStatement" ref="a8a91a5b1f4b0d202df5cf55a02da4b5c" args="(const Statement &amp;statement)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Soprano::Inference::Rule::bindToStatement </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1Statement.html">Statement</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>statement</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Bind this rule to a specific <a class="el" href="classSoprano_1_1Statement.html" title="A Statement instance represents one RDF quadruple.">Statement</a>.</p>
<p>The purpose of this method is to allow retricting the application of a rule to one statement, i.e. a newly added one.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>statement</em>&nbsp;</td><td>The <a class="el" href="classSoprano_1_1Statement.html" title="A Statement instance represents one RDF quadruple.">Statement</a> to bind this rule to.</td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classSoprano_1_1Inference_1_1Rule.html#a8bcc07da86c1237afa5f7034e9ca1bd0">createSparqlQuery</a>, <a class="el" href="classSoprano_1_1Inference_1_1Rule.html#aa259f605255e1cd9f620f57e297773ae">bindEffect</a>, <a class="el" href="classSoprano_1_1Inference_1_1Rule.html#af6b1169ece899e05418e180849da2f15">bindPreconditions</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ad517cea149e68e6251c5db0bd42bfbdb"></a><!-- doxytag: member="Soprano::Inference::Rule::boundToStatement" ref="ad517cea149e68e6251c5db0bd42bfbdb" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classSoprano_1_1Statement.html">Statement</a> Soprano::Inference::Rule::boundToStatement </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>The statement set ia <a class="el" href="classSoprano_1_1Inference_1_1Rule.html#a8a91a5b1f4b0d202df5cf55a02da4b5c">bindToStatement()</a> or an invalid one if none was set. </dd></dl>

</div>
</div>
<a class="anchor" id="a8bcc07da86c1237afa5f7034e9ca1bd0"></a><!-- doxytag: member="Soprano::Inference::Rule::createSparqlQuery" ref="a8bcc07da86c1237afa5f7034e9ca1bd0" args="(bool bindVariables=false) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="qstring.html">QString</a> Soprano::Inference::Rule::createSparqlQuery </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>bindVariables</em> = <code>false</code></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Create a SPARQL query that retrieves all resources matching this rule.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bindVariables</em>&nbsp;</td><td>If true and a valid binding statement is set the query will be bound to this statement resulting in a UNION query of all possible bindings.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A full SPARQL query or an empty string if this rule does not apply to the statement set via bindToStatement.</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classSoprano_1_1Inference_1_1Rule.html#a8a91a5b1f4b0d202df5cf55a02da4b5c">bindToStatement</a> </dd></dl>

</div>
</div>
<a class="anchor" id="aa259f605255e1cd9f620f57e297773ae"></a><!-- doxytag: member="Soprano::Inference::Rule::bindEffect" ref="aa259f605255e1cd9f620f57e297773ae" args="(const BindingSet &amp;bindings) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classSoprano_1_1Statement.html">Statement</a> Soprano::Inference::Rule::bindEffect </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1BindingSet.html">BindingSet</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>bindings</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Bind the rule's effect to a set of bindings as reveived from a query. If the bindings do not contain all variables the bound statement is used as backup.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bindings</em>&nbsp;</td><td>The bindings to apply to this rule.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The statement infered by this rule under the application of bindings.</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classSoprano_1_1Inference_1_1Rule.html#a8a91a5b1f4b0d202df5cf55a02da4b5c">bindToStatement</a>, <a class="el" href="classSoprano_1_1Inference_1_1Rule.html#af6b1169ece899e05418e180849da2f15">bindPreconditions</a> </dd></dl>

</div>
</div>
<a class="anchor" id="af6b1169ece899e05418e180849da2f15"></a><!-- doxytag: member="Soprano::Inference::Rule::bindPreconditions" ref="af6b1169ece899e05418e180849da2f15" args="(const BindingSet &amp;bindings) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" href="qlist.html">QList</a>&lt;<a class="el" href="classSoprano_1_1Statement.html">Statement</a>&gt; Soprano::Inference::Rule::bindPreconditions </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSoprano_1_1BindingSet.html">BindingSet</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>bindings</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Bind the rule's preconditions to a set of bindings as reveived from a query. If the bindings do not contain all variables the bound statement is used as backup.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bindings</em>&nbsp;</td><td>The bindings to apply to this rule.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The statements that have to be valid in order for this rule to infer the statement returned by bindEffect under the same bindings.</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classSoprano_1_1Inference_1_1Rule.html#a8a91a5b1f4b0d202df5cf55a02da4b5c">bindToStatement</a>, <a class="el" href="classSoprano_1_1Inference_1_1Rule.html#aa259f605255e1cd9f620f57e297773ae">bindEffect</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a1c213f10ac6fc1ca18f308f4140f89f4"></a><!-- doxytag: member="Soprano::Inference::Rule::isValid" ref="a1c213f10ac6fc1ca18f308f4140f89f4" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Soprano::Inference::Rule::isValid </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if a rule is valid.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the rule is valid and can be used with the <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...">InferenceModel</a>, <code>false</code> otherwise.</dd></dl>
<dl class="since"><dt><b>Since:</b></dt><dd>2.3 </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>/builddir/build/BUILD/soprano-2.5.2/soprano/inference/<a class="el" href="inferencerule_8h_source.html">inferencerule.h</a></li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Thu Oct 21 2010 for Soprano by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
</body>
</html>