@prefix foaf: <http://xmlns.com/foaf/1.1/> .
@prefix r: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix earl: <http://www.w3.org/WAI/ER/EARL/nmg-strawman#> .
@prefix e95: <http://www.w3.org/2001/03/earl/1.0-test#> .
@prefix log: <http://www.w3.org/2000/10/swap/log#> .

# convert the assertor to earl @@more info to collect here

{ ?assertor a e95:Assertor ;
	e95:name ?name;
 } => 

	{ ?assertor a earl:Assertor ;
		foaf:name ?name ;
 } .

# convert the assertion to earl

{ ?ass a e95:Assertion ; 
	e95:AssertedBy ?asserts ;

} =>

	{ ?ass a earl:Assertion ;
		earl:AssertedBy ?asserts  
 } .

#get the subject
{ ?ass a e95:Assertion ;
        r:subject ?subject .

	?subject e95:WebContent ?thePage ;
		e95:date ?pageDate
 } => {
	?ass earl:subject [
		a earl:WebContent ;
		earl:reprOf ?thePage ;
		earl:date ?pageDate ]
} .	


#Collect any messages

{ ?ass a e95:Assertion ;
        earl:message ?resNote 
 } => {
	?ass earl:message ?resNote } .

# collect the testcase info for complex cases

{ ?ass a e95:Assertion ;
        r:object [ e95:testCase ?theTest ; e95:note ?theNote ] .
 
        ?theTest e95:testCase ?testId
 } => {
        ?ass earl:testCase [
                        a earl:TestCase ;
                        earl:message ?theNote ;
                        earl:testCase ?testId  ] ;
} .     

# Convert e95 test modes to earl ones
	{?x a earl:Assertion ; earl:mode e95:automatic } => { ?x earl:mode earl:automatic } .
	{?x a earl:Assertion ; earl:mode e95:manual } => { ?x earl:mode earl:manual } .
	# AccessValet uses heurisitc to mean automatic tests it isn't sure of...
	{?x a earl:Assertion ; earl:mode e95:heuristic } => { ?x earl:mode earl:automatic } .

# Convert AccessValet test results to earl ones
	{?x a earl:Assertion ; earl:result e95:Fail } => { ?x earl:result [ a earl:Fail ] } .
	{?x a earl:Assertion ; earl:result e95:Pass } => { ?x earl:result [ a earl:Pass ] } .
	#Aha. I always wondered if I would use confidence...
	{?x a earl:Assertion ; earl:result e95:suspectAgainst } => 
		{ ?x earl:result [ a earl:Fail ] , [ earl:validity earl:Fail ; earl:confidence earl:low ]  } .
