<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_40) on Tue Oct 07 13:22:03 CEST 2014 -->
<title>QueryStringUtil (Fluid Operations FedX documentation)</title>
<meta name="date" content="2014-10-07">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet_fedx.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="QueryStringUtil (Fluid Operations FedX documentation)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/QueryStringUtil.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em>
                <img src=images/fluidops.png>
            </em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/fluidops/fedx/util/QueryAlgebraUtil.html" title="class in com.fluidops.fedx.util"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../com/fluidops/fedx/util/Version.html" title="class in com.fluidops.fedx.util"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/fluidops/fedx/util/QueryStringUtil.html" target="_top">Frames</a></li>
<li><a href="QueryStringUtil.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.fluidops.fedx.util</div>
<h2 title="Class QueryStringUtil" class="title">Class QueryStringUtil</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.fluidops.fedx.util.QueryStringUtil</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <a href="../../../../src-html/com/fluidops/fedx/util/QueryStringUtil.html#line.58">QueryStringUtil</a>
extends java.lang.Object</pre>
<div class="block">Various static functions for query handling and parsing.</div>
<dl><dt><span class="strong">Author:</span></dt>
  <dd>Andreas Schwarte</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static org.openrdf.model.URI</code></td>
<td class="colLast"><code><strong><a href="../../../../com/fluidops/fedx/util/QueryStringUtil.html#BNODE_URI">BNODE_URI</a></strong></code>
<div class="block">A dummy URI which is used as a replacement for <code>BNode</code>s in <a href="../../../../com/fluidops/fedx/util/QueryStringUtil.html#appendBNode(java.lang.StringBuilder, org.openrdf.model.BNode)"><code>appendBNode(StringBuilder, BNode)</code></a>
 since BNodes cannot be expressed in SPARQL queries</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static org.apache.log4j.Logger</code></td>
<td class="colLast"><code><strong><a href="../../../../com/fluidops/fedx/util/QueryStringUtil.html#log">log</a></strong></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../com/fluidops/fedx/util/QueryStringUtil.html#QueryStringUtil()">QueryStringUtil</a></strong>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../com/fluidops/fedx/util/QueryStringUtil.html#askQueryString(com.fluidops.fedx.algebra.ExclusiveGroup, org.openrdf.query.BindingSet)">askQueryString</a></strong>(<a href="../../../../com/fluidops/fedx/algebra/ExclusiveGroup.html" title="class in com.fluidops.fedx.algebra">ExclusiveGroup</a>&nbsp;group,
                            org.openrdf.query.BindingSet&nbsp;bindings)</code>
<div class="block">Transform the exclusive group into a ASK query string</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../com/fluidops/fedx/util/QueryStringUtil.html#askQueryString(org.openrdf.query.algebra.StatementPattern, org.openrdf.query.BindingSet)">askQueryString</a></strong>(org.openrdf.query.algebra.StatementPattern&nbsp;stmt,
                            org.openrdf.query.BindingSet&nbsp;bindings)</code>
<div class="block">Construct a boolean ASK query for the provided statement.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../com/fluidops/fedx/util/QueryStringUtil.html#hasFreeVars(org.openrdf.query.algebra.StatementPattern, org.openrdf.query.BindingSet)">hasFreeVars</a></strong>(org.openrdf.query.algebra.StatementPattern&nbsp;stmt,
                      org.openrdf.query.BindingSet&nbsp;bindings)</code>
<div class="block">returns true iff there is at least one free variable, i.e.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.util.List&lt;java.lang.String&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../com/fluidops/fedx/util/QueryStringUtil.html#loadQueries(java.lang.String)">loadQueries</a></strong>(java.lang.String&nbsp;queryFile)</code>
<div class="block">load the queries from a queries file located at the specified path.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../com/fluidops/fedx/util/QueryStringUtil.html#selectQueryString(com.fluidops.fedx.algebra.ExclusiveGroup, org.openrdf.query.BindingSet, com.fluidops.fedx.algebra.FilterValueExpr, java.lang.Boolean)">selectQueryString</a></strong>(<a href="../../../../com/fluidops/fedx/algebra/ExclusiveGroup.html" title="class in com.fluidops.fedx.algebra">ExclusiveGroup</a>&nbsp;group,
                                  org.openrdf.query.BindingSet&nbsp;bindings,
                                  <a href="../../../../com/fluidops/fedx/algebra/FilterValueExpr.html" title="interface in com.fluidops.fedx.algebra">FilterValueExpr</a>&nbsp;filterExpr,
                                  java.lang.Boolean&nbsp;evaluated)</code>
<div class="block">Construct a SELECT query for the provided <a href="../../../../com/fluidops/fedx/algebra/ExclusiveGroup.html" title="class in com.fluidops.fedx.algebra"><code>ExclusiveGroup</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../com/fluidops/fedx/util/QueryStringUtil.html#selectQueryString(com.fluidops.fedx.algebra.FedXStatementPattern, org.openrdf.query.BindingSet, com.fluidops.fedx.algebra.FilterValueExpr, java.lang.Boolean)">selectQueryString</a></strong>(<a href="../../../../com/fluidops/fedx/algebra/FedXStatementPattern.html" title="class in com.fluidops.fedx.algebra">FedXStatementPattern</a>&nbsp;stmt,
                                  org.openrdf.query.BindingSet&nbsp;bindings,
                                  <a href="../../../../com/fluidops/fedx/algebra/FilterValueExpr.html" title="interface in com.fluidops.fedx.algebra">FilterValueExpr</a>&nbsp;filterExpr,
                                  java.lang.Boolean&nbsp;evaluated)</code>
<div class="block">Construct a SELECT query for the provided statement.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../com/fluidops/fedx/util/QueryStringUtil.html#selectQueryStringBoundCheck(org.openrdf.query.algebra.StatementPattern, java.util.List)">selectQueryStringBoundCheck</a></strong>(org.openrdf.query.algebra.StatementPattern&nbsp;stmt,
                                                      java.util.List&lt;org.openrdf.query.BindingSet&gt;&nbsp;unionBindings)</code>
<div class="block">Construct a SELECT query for a grouped bound check.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../com/fluidops/fedx/util/QueryStringUtil.html#selectQueryStringBoundJoinVALUES(org.openrdf.query.algebra.StatementPattern, java.util.List, com.fluidops.fedx.algebra.FilterValueExpr, java.lang.Boolean)">selectQueryStringBoundJoinVALUES</a></strong>(org.openrdf.query.algebra.StatementPattern&nbsp;stmt,
                                                                java.util.List&lt;org.openrdf.query.BindingSet&gt;&nbsp;unionBindings,
                                                                <a href="../../../../com/fluidops/fedx/algebra/FilterValueExpr.html" title="interface in com.fluidops.fedx.algebra">FilterValueExpr</a>&nbsp;filterExpr,
                                                                java.lang.Boolean&nbsp;evaluated)</code>
<div class="block">Creates a bound join subquery using the SPARQL 1.1 VALUES operator.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../com/fluidops/fedx/util/QueryStringUtil.html#selectQueryStringBoundUnion(org.openrdf.query.algebra.StatementPattern, java.util.List, com.fluidops.fedx.algebra.FilterValueExpr, java.lang.Boolean)">selectQueryStringBoundUnion</a></strong>(org.openrdf.query.algebra.StatementPattern&nbsp;stmt,
                                                      java.util.List&lt;org.openrdf.query.BindingSet&gt;&nbsp;unionBindings,
                                                      <a href="../../../../com/fluidops/fedx/algebra/FilterValueExpr.html" title="interface in com.fluidops.fedx.algebra">FilterValueExpr</a>&nbsp;filterExpr,
                                                      java.lang.Boolean&nbsp;evaluated)</code>
<div class="block">Construct a SELECT query string for a bound union.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../com/fluidops/fedx/util/QueryStringUtil.html#selectQueryStringIndependentJoinGroup(com.fluidops.fedx.algebra.IndependentJoinGroup, org.openrdf.query.BindingSet)">selectQueryStringIndependentJoinGroup</a></strong>(<a href="../../../../com/fluidops/fedx/algebra/IndependentJoinGroup.html" title="class in com.fluidops.fedx.algebra">IndependentJoinGroup</a>&nbsp;joinGroup,
                                                                          org.openrdf.query.BindingSet&nbsp;bindings)</code>
<div class="block">SELECT ?v_0 ?v_1 WHERE {
                { ?v_0 p1 o1 .</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../com/fluidops/fedx/util/QueryStringUtil.html#selectQueryStringIndependentJoinGroup(com.fluidops.fedx.algebra.IndependentJoinGroup, java.util.List)">selectQueryStringIndependentJoinGroup</a></strong>(<a href="../../../../com/fluidops/fedx/algebra/IndependentJoinGroup.html" title="class in com.fluidops.fedx.algebra">IndependentJoinGroup</a>&nbsp;joinGroup,
                                                                          java.util.List&lt;org.openrdf.query.BindingSet&gt;&nbsp;bindings)</code>
<div class="block">Construct a select query representing a bound independent join group.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../com/fluidops/fedx/util/QueryStringUtil.html#selectQueryStringLimit1(com.fluidops.fedx.algebra.ExclusiveGroup, org.openrdf.query.BindingSet)">selectQueryStringLimit1</a></strong>(<a href="../../../../com/fluidops/fedx/algebra/ExclusiveGroup.html" title="class in com.fluidops.fedx.algebra">ExclusiveGroup</a>&nbsp;group,
                                              org.openrdf.query.BindingSet&nbsp;bindings)</code>
<div class="block">Construct a SELECT query for the provided <a href="../../../../com/fluidops/fedx/algebra/ExclusiveGroup.html" title="class in com.fluidops.fedx.algebra"><code>ExclusiveGroup</code></a> with LIMIT 1.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../com/fluidops/fedx/util/QueryStringUtil.html#selectQueryStringLimit1(org.openrdf.query.algebra.StatementPattern, org.openrdf.query.BindingSet)">selectQueryStringLimit1</a></strong>(org.openrdf.query.algebra.StatementPattern&nbsp;stmt,
                                              org.openrdf.query.BindingSet&nbsp;bindings)</code>
<div class="block">Construct a SELECT query for the provided statement with LIMIT 1.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../com/fluidops/fedx/util/QueryStringUtil.html#toString(org.openrdf.model.Resource, org.openrdf.model.URI, org.openrdf.model.Value)">toString</a></strong>(org.openrdf.model.Resource&nbsp;subj,
                org.openrdf.model.URI&nbsp;pred,
                org.openrdf.model.Value&nbsp;obj)</code>
<div class="block">Return a string representation of this statement using the following pattern, where
 variables are indicated using ?var and values are represented as strings.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../com/fluidops/fedx/util/QueryStringUtil.html#toString(org.openrdf.query.algebra.StatementPattern)">toString</a></strong>(org.openrdf.query.algebra.StatementPattern&nbsp;stmt)</code>
<div class="block">Return a string representation of this statement using the following pattern, where
 variables are indicated using ?var and values are represented as strings.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../com/fluidops/fedx/util/QueryStringUtil.html#toString(org.openrdf.query.algebra.Var)">toString</a></strong>(org.openrdf.query.algebra.Var&nbsp;var)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="log">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>log</h4>
<pre>public static&nbsp;org.apache.log4j.Logger <a href="../../../../src-html/com/fluidops/fedx/util/QueryStringUtil.html#line.62">log</a></pre>
</li>
</ul>
<a name="BNODE_URI">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>BNODE_URI</h4>
<pre>public static final&nbsp;org.openrdf.model.URI <a href="../../../../src-html/com/fluidops/fedx/util/QueryStringUtil.html#line.68">BNODE_URI</a></pre>
<div class="block">A dummy URI which is used as a replacement for <code>BNode</code>s in <a href="../../../../com/fluidops/fedx/util/QueryStringUtil.html#appendBNode(java.lang.StringBuilder, org.openrdf.model.BNode)"><code>appendBNode(StringBuilder, BNode)</code></a>
 since BNodes cannot be expressed in SPARQL queries</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="QueryStringUtil()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>QueryStringUtil</h4>
<pre>public&nbsp;<a href="../../../../src-html/com/fluidops/fedx/util/QueryStringUtil.html#line.58">QueryStringUtil</a>()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="hasFreeVars(org.openrdf.query.algebra.StatementPattern, org.openrdf.query.BindingSet)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasFreeVars</h4>
<pre>public static&nbsp;boolean&nbsp;<a href="../../../../src-html/com/fluidops/fedx/util/QueryStringUtil.html#line.78">hasFreeVars</a>(org.openrdf.query.algebra.StatementPattern&nbsp;stmt,
                  org.openrdf.query.BindingSet&nbsp;bindings)</pre>
<div class="block">returns true iff there is at least one free variable, i.e. there is no binding
 for any variable</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>stmt</code> - </dd><dd><code>bindings</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd></dd></dl>
</li>
</ul>
<a name="toString(org.openrdf.query.algebra.StatementPattern)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public static&nbsp;java.lang.String&nbsp;<a href="../../../../src-html/com/fluidops/fedx/util/QueryStringUtil.html#line.96">toString</a>(org.openrdf.query.algebra.StatementPattern&nbsp;stmt)</pre>
<div class="block">Return a string representation of this statement using the following pattern, where
 variables are indicated using ?var and values are represented as strings.
 
 Pattern: {s; p; o}</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>stmt</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd></dd></dl>
</li>
</ul>
<a name="toString(org.openrdf.query.algebra.Var)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public static&nbsp;java.lang.String&nbsp;<a href="../../../../src-html/com/fluidops/fedx/util/QueryStringUtil.html#line.108">toString</a>(org.openrdf.query.algebra.Var&nbsp;var)</pre>
</li>
</ul>
<a name="toString(org.openrdf.model.Resource, org.openrdf.model.URI, org.openrdf.model.Value)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public static&nbsp;java.lang.String&nbsp;<a href="../../../../src-html/com/fluidops/fedx/util/QueryStringUtil.html#line.124">toString</a>(org.openrdf.model.Resource&nbsp;subj,
                        org.openrdf.model.URI&nbsp;pred,
                        org.openrdf.model.Value&nbsp;obj)</pre>
<div class="block">Return a string representation of this statement using the following pattern, where
 variables are indicated using ?var and values are represented as strings.
 
 Pattern: {s; p; o}</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>stmt</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd></dd></dl>
</li>
</ul>
<a name="selectQueryString(com.fluidops.fedx.algebra.FedXStatementPattern, org.openrdf.query.BindingSet, com.fluidops.fedx.algebra.FilterValueExpr, java.lang.Boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectQueryString</h4>
<pre>public static&nbsp;java.lang.String&nbsp;<a href="../../../../src-html/com/fluidops/fedx/util/QueryStringUtil.html#line.142">selectQueryString</a>(<a href="../../../../com/fluidops/fedx/algebra/FedXStatementPattern.html" title="class in com.fluidops.fedx.algebra">FedXStatementPattern</a>&nbsp;stmt,
                                 org.openrdf.query.BindingSet&nbsp;bindings,
                                 <a href="../../../../com/fluidops/fedx/algebra/FilterValueExpr.html" title="interface in com.fluidops.fedx.algebra">FilterValueExpr</a>&nbsp;filterExpr,
                                 java.lang.Boolean&nbsp;evaluated)
                                          throws <a href="../../../../com/fluidops/fedx/exception/IllegalQueryException.html" title="class in com.fluidops.fedx.exception">IllegalQueryException</a></pre>
<div class="block">Construct a SELECT query for the provided statement.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>stmt</code> - </dd><dd><code>bindings</code> - </dd><dd><code>filterExpr</code> - </dd><dd><code>evaluated</code> - parameter can be used outside this method to check whether FILTER has been evaluated, false in beginning</dd>
<dt><span class="strong">Returns:</span></dt><dd></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../com/fluidops/fedx/exception/IllegalQueryException.html" title="class in com.fluidops.fedx.exception">IllegalQueryException</a></code> - if the query does not have any free variables</dd></dl>
</li>
</ul>
<a name="selectQueryString(com.fluidops.fedx.algebra.ExclusiveGroup, org.openrdf.query.BindingSet, com.fluidops.fedx.algebra.FilterValueExpr, java.lang.Boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectQueryString</h4>
<pre>public static&nbsp;java.lang.String&nbsp;<a href="../../../../src-html/com/fluidops/fedx/util/QueryStringUtil.html#line.194">selectQueryString</a>(<a href="../../../../com/fluidops/fedx/algebra/ExclusiveGroup.html" title="class in com.fluidops.fedx.algebra">ExclusiveGroup</a>&nbsp;group,
                                 org.openrdf.query.BindingSet&nbsp;bindings,
                                 <a href="../../../../com/fluidops/fedx/algebra/FilterValueExpr.html" title="interface in com.fluidops.fedx.algebra">FilterValueExpr</a>&nbsp;filterExpr,
                                 java.lang.Boolean&nbsp;evaluated)
                                          throws <a href="../../../../com/fluidops/fedx/exception/IllegalQueryException.html" title="class in com.fluidops.fedx.exception">IllegalQueryException</a></pre>
<div class="block">Construct a SELECT query for the provided <a href="../../../../com/fluidops/fedx/algebra/ExclusiveGroup.html" title="class in com.fluidops.fedx.algebra"><code>ExclusiveGroup</code></a>. Note that bindings
 and filterExpr are applied whenever possible.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>group</code> - the expression for the query</dd><dd><code>bindings</code> - the bindings to be applied</dd><dd><code>filterExpr</code> - a filter expression or null</dd><dd><code>evaluated</code> - parameter can be used outside this method to check whether FILTER has been evaluated, false in beginning</dd>
<dt><span class="strong">Returns:</span></dt><dd></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../com/fluidops/fedx/exception/IllegalQueryException.html" title="class in com.fluidops.fedx.exception">IllegalQueryException</a></code></dd></dl>
</li>
</ul>
<a name="askQueryString(com.fluidops.fedx.algebra.ExclusiveGroup, org.openrdf.query.BindingSet)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>askQueryString</h4>
<pre>public static&nbsp;java.lang.String&nbsp;<a href="../../../../src-html/com/fluidops/fedx/util/QueryStringUtil.html#line.240">askQueryString</a>(<a href="../../../../com/fluidops/fedx/algebra/ExclusiveGroup.html" title="class in com.fluidops.fedx.algebra">ExclusiveGroup</a>&nbsp;group,
                              org.openrdf.query.BindingSet&nbsp;bindings)</pre>
<div class="block">Transform the exclusive group into a ASK query string</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>group</code> - </dd><dd><code>bindings</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../com/fluidops/fedx/exception/IllegalQueryException.html" title="class in com.fluidops.fedx.exception">IllegalQueryException</a></code></dd></dl>
</li>
</ul>
<a name="selectQueryStringBoundUnion(org.openrdf.query.algebra.StatementPattern, java.util.List, com.fluidops.fedx.algebra.FilterValueExpr, java.lang.Boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectQueryStringBoundUnion</h4>
<pre>public static&nbsp;java.lang.String&nbsp;<a href="../../../../src-html/com/fluidops/fedx/util/QueryStringUtil.html#line.270">selectQueryStringBoundUnion</a>(org.openrdf.query.algebra.StatementPattern&nbsp;stmt,
                                           java.util.List&lt;org.openrdf.query.BindingSet&gt;&nbsp;unionBindings,
                                           <a href="../../../../com/fluidops/fedx/algebra/FilterValueExpr.html" title="interface in com.fluidops.fedx.algebra">FilterValueExpr</a>&nbsp;filterExpr,
                                           java.lang.Boolean&nbsp;evaluated)</pre>
<div class="block">Construct a SELECT query string for a bound union.
 
 Pattern:
 
 SELECT ?v_1 ?v_2 ?v_N WHERE { { ?v_1 p o } UNION { ?v_2 p o } UNION ... } 
 
 Note that the filterExpr is not evaluated at the moment.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>stmt</code> - </dd><dd><code>unionBindings</code> - </dd><dd><code>filterExpr</code> - </dd><dd><code>evaluated</code> - parameter can be used outside this method to check whether FILTER has been evaluated, false in beginning</dd>
<dt><span class="strong">Returns:</span></dt><dd></dd></dl>
</li>
</ul>
<a name="selectQueryStringBoundJoinVALUES(org.openrdf.query.algebra.StatementPattern, java.util.List, com.fluidops.fedx.algebra.FilterValueExpr, java.lang.Boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectQueryStringBoundJoinVALUES</h4>
<pre>public static&nbsp;java.lang.String&nbsp;<a href="../../../../src-html/com/fluidops/fedx/util/QueryStringUtil.html#line.325">selectQueryStringBoundJoinVALUES</a>(org.openrdf.query.algebra.StatementPattern&nbsp;stmt,
                                                java.util.List&lt;org.openrdf.query.BindingSet&gt;&nbsp;unionBindings,
                                                <a href="../../../../com/fluidops/fedx/algebra/FilterValueExpr.html" title="interface in com.fluidops.fedx.algebra">FilterValueExpr</a>&nbsp;filterExpr,
                                                java.lang.Boolean&nbsp;evaluated)</pre>
<div class="block">Creates a bound join subquery using the SPARQL 1.1 VALUES operator.
 
 Example subquery:
 
 <source>
 SELECT ?v ?__index WHERE {
   ?s name ?v.
 } VALUES (?s ?__index) { (:s1 1) (:s2 2) ... (:sN N) }
 </source></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>stmt</code> - </dd><dd><code>unionBindings</code> - </dd><dd><code>filterExpr</code> - </dd><dd><code>evaluated</code> - parameter can be used outside this method to check whether FILTER has been evaluated, false in beginning</dd>
<dt><span class="strong">Returns:</span></dt><dd></dd><dt><span class="strong">Since:</span></dt>
  <dd>3.0</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../com/fluidops/fedx/evaluation/SparqlFederationEvalStrategyWithValues.html" title="class in com.fluidops.fedx.evaluation"><code>SparqlFederationEvalStrategyWithValues</code></a>, 
<a href="../../../../com/fluidops/fedx/evaluation/iterator/BoundJoinVALUESConversionIteration.html" title="class in com.fluidops.fedx.evaluation.iterator"><code>BoundJoinVALUESConversionIteration</code></a></dd></dl>
</li>
</ul>
<a name="selectQueryStringBoundCheck(org.openrdf.query.algebra.StatementPattern, java.util.List)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectQueryStringBoundCheck</h4>
<pre>public static&nbsp;java.lang.String&nbsp;<a href="../../../../src-html/com/fluidops/fedx/util/QueryStringUtil.html#line.396">selectQueryStringBoundCheck</a>(org.openrdf.query.algebra.StatementPattern&nbsp;stmt,
                                           java.util.List&lt;org.openrdf.query.BindingSet&gt;&nbsp;unionBindings)</pre>
<div class="block">Construct a SELECT query for a grouped bound check.
 
 Pattern:
 
 SELECT  ?o_1 .. ?o_N WHERE { { s1 p1 ?o_1 FILTER ?o_1=o1 } UNION ... UNION { sN pN ?o_N FILTER ?o_N=oN }}</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>stmt</code> - </dd><dd><code>unionBindings</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd></dd></dl>
</li>
</ul>
<a name="selectQueryStringIndependentJoinGroup(com.fluidops.fedx.algebra.IndependentJoinGroup, org.openrdf.query.BindingSet)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectQueryStringIndependentJoinGroup</h4>
<pre>public static&nbsp;java.lang.String&nbsp;<a href="../../../../src-html/com/fluidops/fedx/util/QueryStringUtil.html#line.432">selectQueryStringIndependentJoinGroup</a>(<a href="../../../../com/fluidops/fedx/algebra/IndependentJoinGroup.html" title="class in com.fluidops.fedx.algebra">IndependentJoinGroup</a>&nbsp;joinGroup,
                                                     org.openrdf.query.BindingSet&nbsp;bindings)</pre>
<div class="block">SELECT ?v_0 ?v_1 WHERE {
                { ?v_0 p1 o1 . }
                UNION
                { ?v_1 p2 o1 . }
 }</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>joinGroup</code> - </dd><dd><code>bindings</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd></dd></dl>
</li>
</ul>
<a name="selectQueryStringIndependentJoinGroup(com.fluidops.fedx.algebra.IndependentJoinGroup, java.util.List)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectQueryStringIndependentJoinGroup</h4>
<pre>public static&nbsp;java.lang.String&nbsp;<a href="../../../../src-html/com/fluidops/fedx/util/QueryStringUtil.html#line.478">selectQueryStringIndependentJoinGroup</a>(<a href="../../../../com/fluidops/fedx/algebra/IndependentJoinGroup.html" title="class in com.fluidops.fedx.algebra">IndependentJoinGroup</a>&nbsp;joinGroup,
                                                     java.util.List&lt;org.openrdf.query.BindingSet&gt;&nbsp;bindings)</pre>
<div class="block">Construct a select query representing a bound independent join group.
 
 ?v_%stmt%_%bindingId$
 
 SELECT ?v_0_0 ?v_0_1 ?v_1_0 ... 
        WHERE { 
                { ?v_0#0 p o UNION ?v_0_1 p o UNION ... } 
                UNION 
                { ?v_1_0 p o UNION ?v_1_1 p o UNION ... } 
      UNION
      ...
  }</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>joinGroup</code> - </dd><dd><code>bindings</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd></dd></dl>
</li>
</ul>
<a name="askQueryString(org.openrdf.query.algebra.StatementPattern, org.openrdf.query.BindingSet)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>askQueryString</h4>
<pre>public static&nbsp;java.lang.String&nbsp;<a href="../../../../src-html/com/fluidops/fedx/util/QueryStringUtil.html#line.529">askQueryString</a>(org.openrdf.query.algebra.StatementPattern&nbsp;stmt,
                              org.openrdf.query.BindingSet&nbsp;bindings)</pre>
<div class="block">Construct a boolean ASK query for the provided statement.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>stmt</code> - </dd><dd><code>bindings</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd></dd></dl>
</li>
</ul>
<a name="selectQueryStringLimit1(org.openrdf.query.algebra.StatementPattern, org.openrdf.query.BindingSet)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectQueryStringLimit1</h4>
<pre>public static&nbsp;java.lang.String&nbsp;<a href="../../../../src-html/com/fluidops/fedx/util/QueryStringUtil.html#line.550">selectQueryStringLimit1</a>(org.openrdf.query.algebra.StatementPattern&nbsp;stmt,
                                       org.openrdf.query.BindingSet&nbsp;bindings)</pre>
<div class="block">Construct a SELECT query for the provided statement with LIMIT 1. Such query
 can be used for source selection instead of ASK queries.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>stmt</code> - </dd><dd><code>bindings</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd></dd></dl>
</li>
</ul>
<a name="selectQueryStringLimit1(com.fluidops.fedx.algebra.ExclusiveGroup, org.openrdf.query.BindingSet)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectQueryStringLimit1</h4>
<pre>public static&nbsp;java.lang.String&nbsp;<a href="../../../../src-html/com/fluidops/fedx/util/QueryStringUtil.html#line.571">selectQueryStringLimit1</a>(<a href="../../../../com/fluidops/fedx/algebra/ExclusiveGroup.html" title="class in com.fluidops.fedx.algebra">ExclusiveGroup</a>&nbsp;group,
                                       org.openrdf.query.BindingSet&nbsp;bindings)</pre>
<div class="block">Construct a SELECT query for the provided <a href="../../../../com/fluidops/fedx/algebra/ExclusiveGroup.html" title="class in com.fluidops.fedx.algebra"><code>ExclusiveGroup</code></a> with LIMIT 1. Such query
 can be used for source selection instead of ASK queries.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>stmt</code> - </dd><dd><code>bindings</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd></dd></dl>
</li>
</ul>
<a name="loadQueries(java.lang.String)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>loadQueries</h4>
<pre>public static&nbsp;java.util.List&lt;java.lang.String&gt;&nbsp;<a href="../../../../src-html/com/fluidops/fedx/util/QueryStringUtil.html#line.834">loadQueries</a>(java.lang.String&nbsp;queryFile)
                                                    throws java.io.FileNotFoundException,
                                                           java.io.IOException</pre>
<div class="block">load the queries from a queries file located at the specified path.
 
 Expected format:
  - Queries are SPARQL queries in String format
  - queries are allowed to span several lines
  - a query is interpreted to be finished if an empty line occurs
  
  Ex:
  
  QUERY1 ...
   Q1 cntd
   
  QUERY2</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>queryType</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd>a list of queries for the query type</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.FileNotFoundException</code></dd>
<dd><code>java.io.IOException</code></dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/QueryStringUtil.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em>
                <img src=images/fluidops.png>
            </em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/fluidops/fedx/util/QueryAlgebraUtil.html" title="class in com.fluidops.fedx.util"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../com/fluidops/fedx/util/Version.html" title="class in com.fluidops.fedx.util"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/fluidops/fedx/util/QueryStringUtil.html" target="_top">Frames</a></li>
<li><a href="QueryStringUtil.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>
                <i>Copyright &#169; 2008-2011 fluid Operations AG. All Rights Reserved.</i>
            </small></p>
</body>
</html>
