#
#	SAN Example:	Abstract Action & Action Pool (a SAN with Abstract Action & Action Pool)
#
	@prefix : <http://www.test.com/test1#> .
	@prefix log: <http://www.w3.org/2000/10/swap/log#> .
	@prefix owl: <http://www.w3.org/2002/07/owl#> .
	@prefix protege: <http://protege.stanford.edu/plugins/owl/protege#> .
	@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
	@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
	@prefix san: <http://imu.ntua.gr/ontologies/san/2011/06/01/san.rdf#> .
	@prefix swrl: <http://www.w3.org/2003/11/swrl#> .
	@prefix swrlb: <http://www.w3.org/2003/11/swrlb#> .
	@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
	@prefix xsp: <http://www.owl-ontologies.com/2005/08/07/xsp.owl#> .
	
	
	:RootGoal_1     a san:RootGoal;
		san:name "g1"^^xsd:string;
		san:hasSituation :Situation_1;
		san:hasContextCondition :ContextCondition_1;
		san:hasAction :AbstractAction_1 .
	
	:Situation_1     a san:Situation ;
		san:name "s1"^^xsd:string ;
		san:dialect "EP-SPARQL"^^xsd:string ;
		san:defined-by "+++++++++++++++++++++++++"^^xsd:string .
	
	:ContextCondition_1     a san:ContextCondition;
		san:name "c1"^^xsd:string ;
		san:dialect "default"^^xsd:string ;
		san:defined-by "true"^^xsd:string .
	
    :AbstractAction_1     a san:AbstractAction ;
		san:name "An Abstract Action"^^xsd:string ;
#		san:action-pool "http://www.test.com/test1#Action_Pool_1"^^xsd:string ;
		san:action-pool "http://www.test.com/test1#Dyn_Action_Pool_1"^^xsd:string ;
		san:search-method "org.iccs.san.engine.naive.TestSearchMethod"^^xsd:string ;
#		san:execution-policy "ONE_FIRST"^^xsd:string ;
#		san:execution-policy "ONE_RANDOM"^^xsd:string ;
#		san:execution-policy "PARALLEL_ANY"^^xsd:string ;
#		san:execution-policy "PARALLEL_ALL"^^xsd:string ;
		san:execution-policy "PARALLEL_TIMEOUT"^^xsd:string ;
		san:timeout "5000"^^xsd:string .
	
# Static Action Pool		
	:Action_Pool_1        a san:ActionPool ;
		san:name "An ACTION POOL"^^xsd:string ;
		san:hasAction :Dummy_Action_1 ;
		san:hasAction :Dummy_Action_2 ;
		san:hasAction :Dummy_Action_3 .

# Dynamic Action Pool		
	:Dyn_Action_Pool_1    a san:ActionPool ;
		san:name "A DYNAMIC ACTION POOL"^^xsd:string ;
		san:is-dynamic "true"^^xsd:string ;
		## Run Primitive Action with names ending in '1' or '2' :)
		san:query " select ?x WHERE { ?x a san:PrimitiveAction . ?x san:name ?name FILTER regex(str(?name), '[12]', 'i') } "^^xsd:string ;
		san:job-column "x"^^xsd:string .
	
	:Dummy_Action_1     a san:PrimitiveAction ;
		san:name "dummy action 1"^^xsd:string ;
#		san:command "A_PRIMITIVE_ACTION ''ONE''"^^xsd:string .
		san:command "DELAY 2 FAILURE"^^xsd:string .
	
	:Dummy_Action_2     a san:PrimitiveAction ;
		san:name "dummy action 2"^^xsd:string ;
#		san:command "A_PRIMITIVE_ACTION ''TWO''"^^xsd:string .
		san:command "DELAY 4 SUCCESS"^^xsd:string .
	
	:Dummy_Action_3     a san:PrimitiveAction ;
		san:name "dummy action 3"^^xsd:string ;
#		san:command "A_PRIMITIVE_ACTION ''THREE''"^^xsd:string .
		san:command "DELAY 6 SUCCESS"^^xsd:string .

#END
