<!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:02 CEST 2014 -->
<title>SourceSelection (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="SourceSelection (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/SourceSelection.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/optimizer/ServiceOptimizer.html" title="class in com.fluidops.fedx.optimizer"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../com/fluidops/fedx/optimizer/StatementGroupOptimizer.html" title="class in com.fluidops.fedx.optimizer"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/fluidops/fedx/optimizer/SourceSelection.html" target="_top">Frames</a></li>
<li><a href="SourceSelection.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.optimizer</div>
<h2 title="Class SourceSelection" class="title">Class SourceSelection</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.fluidops.fedx.optimizer.SourceSelection</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/optimizer/SourceSelection.html#line.66">SourceSelection</a>
extends java.lang.Object</pre>
<div class="block">Perform source selection during optimization</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.apache.log4j.Logger</code></td>
<td class="colLast"><code><strong><a href="../../../../com/fluidops/fedx/optimizer/SourceSelection.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/optimizer/SourceSelection.html#SourceSelection(java.util.List, com.fluidops.fedx.cache.Cache, com.fluidops.fedx.structures.QueryInfo)">SourceSelection</a></strong>(java.util.List&lt;<a href="../../../../com/fluidops/fedx/structures/Endpoint.html" title="class in com.fluidops.fedx.structures">Endpoint</a>&gt;&nbsp;endpoints,
                              <a href="../../../../com/fluidops/fedx/cache/Cache.html" title="interface in com.fluidops.fedx.cache">Cache</a>&nbsp;cache,
                              <a href="../../../../com/fluidops/fedx/structures/QueryInfo.html" title="class in com.fluidops.fedx.structures">QueryInfo</a>&nbsp;queryInfo)</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>void</code></td>
<td class="colLast"><code><strong><a href="../../../../com/fluidops/fedx/optimizer/SourceSelection.html#doSourceSelection(java.util.List)">doSourceSelection</a></strong>(java.util.List&lt;org.openrdf.query.algebra.StatementPattern&gt;&nbsp;stmts)</code>
<div class="block">Perform source selection for the provided statements using cache or remote ASK queries.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Set&lt;<a href="../../../../com/fluidops/fedx/structures/Endpoint.html" title="class in com.fluidops.fedx.structures">Endpoint</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../com/fluidops/fedx/optimizer/SourceSelection.html#getRelevantSources()">getRelevantSources</a></strong>()</code>
<div class="block">Retrieve a set of relevant sources for this query.</div>
</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="blockListLast">
<li class="blockList">
<h4>log</h4>
<pre>public static&nbsp;org.apache.log4j.Logger <a href="../../../../src-html/com/fluidops/fedx/optimizer/SourceSelection.html#line.68">log</a></pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="SourceSelection(java.util.List, com.fluidops.fedx.cache.Cache, com.fluidops.fedx.structures.QueryInfo)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SourceSelection</h4>
<pre>public&nbsp;<a href="../../../../src-html/com/fluidops/fedx/optimizer/SourceSelection.html#line.75">SourceSelection</a>(java.util.List&lt;<a href="../../../../com/fluidops/fedx/structures/Endpoint.html" title="class in com.fluidops.fedx.structures">Endpoint</a>&gt;&nbsp;endpoints,
               <a href="../../../../com/fluidops/fedx/cache/Cache.html" title="interface in com.fluidops.fedx.cache">Cache</a>&nbsp;cache,
               <a href="../../../../com/fluidops/fedx/structures/QueryInfo.html" title="class in com.fluidops.fedx.structures">QueryInfo</a>&nbsp;queryInfo)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="doSourceSelection(java.util.List)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doSourceSelection</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/com/fluidops/fedx/optimizer/SourceSelection.html#line.98">doSourceSelection</a>(java.util.List&lt;org.openrdf.query.algebra.StatementPattern&gt;&nbsp;stmts)</pre>
<div class="block">Perform source selection for the provided statements using cache or remote ASK queries.
 
 Remote ASK queries are evaluated in parallel using the concurrency infrastructure of FedX. Note,
 that this method is blocking until every source is resolved.
 
 The statement patterns are replaced by appropriate annotations in this optimization.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>stmts</code> - </dd></dl>
</li>
</ul>
<a name="getRelevantSources()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getRelevantSources</h4>
<pre>public&nbsp;java.util.Set&lt;<a href="../../../../com/fluidops/fedx/structures/Endpoint.html" title="class in com.fluidops.fedx.structures">Endpoint</a>&gt;&nbsp;<a href="../../../../src-html/com/fluidops/fedx/optimizer/SourceSelection.html#line.159">getRelevantSources</a>()</pre>
<div class="block">Retrieve a set of relevant sources for this query.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd></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/SourceSelection.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/optimizer/ServiceOptimizer.html" title="class in com.fluidops.fedx.optimizer"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../com/fluidops/fedx/optimizer/StatementGroupOptimizer.html" title="class in com.fluidops.fedx.optimizer"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/fluidops/fedx/optimizer/SourceSelection.html" target="_top">Frames</a></li>
<li><a href="SourceSelection.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>
