@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

@prefix math: <http://www.w3.org/2000/10/swap/math#> .
@prefix type: <http://dig.csail.mit.edu/2009/IARPA-PIR/generic#> .
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
@prefix list: <http://www.w3.org/2000/10/swap/list#> .
@prefix air: <http://dig.csail.mit.edu/TAMI/2007/amord/air#> .
@prefix db: <http//dig.csail.mit.edu/db#> .
@prefix s: <http://dig.csail.mit.edu/2009/IARPA-PIR/sparql#> .
@prefix : <http://dig.csail.mit.edu/2009/IARPA-PIR/Yotam_Work/From_Required_Policy#>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.

#The policy specifies that the user must search for the info in a 
#specific graph, i.e. it must include a FROM statement with a specific 
#URI. For the purposes of this policy, the URIs specified will be 
#<URIgeneric1>, <URIgeneric2>, and <URIgeneric3>. Uses the new version
#SPARQL.

@forAll :Q, :C, :S.

:From_Required_Policy a air:Policy;
	air:label "From Required Policy";
	air:rule :FR_Rule1.

:FR_Rule1 a air:BeliefRule;
	air:label "From Required Rule 1";
	air:pattern {
              :Q a s:Query;
        	  s:Clause :C
       };
	air:description(:Q " is a SPARQL query.");
	air:rule :FR_Rule2.

:FR_Rule2 a air:BeliefRule;
	air:label "From Required Rule 2";
	air:pattern{
		:Q s:Source :S.
		:S list:in (<http://URIgeneric1.html> <http://URIgeneric2.html> <http://URIgeneric3.html>)

	};
	air:description (:Q "searches at least in one specified source " :S);
	air:assert {:Q air:compliant-with :From_Required_Policy};
	air:alt [air:rule :FR_Rule3].

:FR_Rule3 a air:BeliefRule;
	air:label "From Required Rule3";
	air:pattern{};
	air:description(:Q " does not specify to search in the correct domains.");
	air:assert {:Q air:non-compliant-with :From_Required_Policy}.


		