#
# NB: the test suite is now maintained elsewhere.
# See https://www.w3.org/2009/sparql/docs/tests/#status
# 

@prefix rdf:    <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix : <http://www.w3.org/2009/sparql/docs/tests/data-sparql11/functions/manifest#> .
@prefix rdfs:	<http://www.w3.org/2000/01/rdf-schema#> .
@prefix mf:     <http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#> .
@prefix qt:     <http://www.w3.org/2001/sw/DataAccess/tests/test-query#> .
@prefix dawgt:   <http://www.w3.org/2001/sw/DataAccess/tests/test-dawg#> .
@prefix sparql:  <http://www.w3.org/ns/sparql#> .

<>  rdf:type mf:Manifest ;
    rdfs:label "Built-in Functions" ;
    mf:entries
    ( 
	:strdt01
	:strdt02
	:strdt03
	:strlang01
	:strlang02
	:strlang03
	:isnumeric01
	:abs01
	:ceil01
	:floor01
	:round01
	:concat01
	:concat02
	:substring01
	:substring02
	:length01
	:ucase01
	:lcase01
	:encode01
	:contains01
	:starts01
	:ends01
	:plus-1
	:plus-2
	:md5-01
	:md5-02
	:sha1-01
	:sha1-02
	:sha256-01
	:sha256-02
	:sha512-01
	:sha512-02
	:minutes
	:seconds
	:hours
	:month
	:year
	:day
	:timezone
	:tz
	:bnode01
	:bnode02
	:in01
	:in02
	:notin01
	:notin02
	:now01
	:rand01
	:iri01
	:if01
	:if02
	:coalesce01
	:strbefore01a
	:strbefore02
	:strafter01a
	:strafter02
	:replace01
	:replace02
	:replace03
	:uuid01
	:struuid01
 ) .


:strdt01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "STRDT()" ;
	mf:feature sparql:strdt ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <strdt01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <strdt01.srx> ;
	.

:strdt02 rdf:type mf:QueryEvaluationTest ;
	mf:name    "STRDT(STR())" ;
	mf:feature sparql:strdt ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <strdt02.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <strdt02.srx> ;
	.

:strdt03 rdf:type mf:QueryEvaluationTest ;
	mf:name    "STRDT() TypeErrors" ;
	mf:feature sparql:strdt ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <strdt03.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <strdt03.srx> ;
	.

:strlang01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "STRLANG()" ;
	mf:feature sparql:strlang ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <strlang01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <strlang01.srx> ;
	.

:strlang02 rdf:type mf:QueryEvaluationTest ;
	mf:name    "STRLANG(STR())" ;
	mf:feature sparql:strlang ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <strlang02.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <strlang02.srx> ;
	.

:strlang03 rdf:type mf:QueryEvaluationTest ;
	mf:name    "STRLANG() TypeErrors" ;
	mf:feature sparql:strlang ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <strlang03.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <strlang03.srx> ;
	.

:isnumeric01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "isNumeric()" ;
	mf:feature sparql:isnumeric ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <isnumeric01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <isnumeric01.srx> ;
	.

:abs01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "ABS()" ;
	mf:feature sparql:abs ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <abs01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <abs01.srx> ;
	.

:ceil01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "CEIL()" ;
	mf:feature sparql:ceil ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <ceil01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <ceil01.srx> ;
	.

:floor01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "FLOOR()" ;
	mf:feature sparql:floor ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <floor01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <floor01.srx> ;
	.

:round01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "ROUND()" ;
	mf:feature sparql:round ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <round01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <round01.srx> ;
	.

:concat01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "CONCAT()" ;
	mf:feature sparql:concat ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <concat01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <concat01.srx> ;
	.

:concat02 rdf:type mf:QueryEvaluationTest ;
	mf:name    "CONCAT() 2" ;
	mf:feature sparql:concat ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <concat02.rq> ;
           qt:data   <data2.ttl> ] ;
    mf:result  <concat02.srx> ;
	.

:substring01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "SUBSTR() (3-argument)" ;
	mf:feature sparql:substr ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <substring01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <substring01.srx> ;
	.

:substring02 rdf:type mf:QueryEvaluationTest ;
	mf:name    "SUBSTR() (2-argument)" ;
	mf:feature sparql:substr ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <substring02.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <substring02.srx> ;
	.

:length01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "STRLEN()" ;
	mf:feature sparql:strlen ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <length01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <length01.srx> ;
	.

:ucase01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "UCASE()" ;
	mf:feature sparql:ucase ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <ucase01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <ucase01.srx> ;
	.

:lcase01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "LCASE()" ;
	mf:feature sparql:lcase ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <lcase01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <lcase01.srx> ;
	.

:encode01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "ENCODE_FOR_URI()" ;
	mf:feature sparql:encode_for_uri ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <encode01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <encode01.srx> ;
	.

:contains01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "CONTAINS()" ;
	mf:feature sparql:contains ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <contains01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <contains01.srx> ;
	.

:starts01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "STRSTARTS()" ;
	mf:feature sparql:strstarts ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <starts01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <starts01.srx> ;
	.

:ends01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "STRENDS()" ;
	mf:feature sparql:strends ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <ends01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <ends01.srx> ;
	.

:plus-1 a mf:QueryEvaluationTest ;
    mf:name    "plus-1" ;
    rdfs:comment	"plus operator on ?x + ?y on string and numeric values" ;
    mf:action
       [ qt:query  <plus-1.rq> ;
	 qt:data   <data-builtin-3.ttl> ] ;
     dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:result  <plus-1.srx> ;
    .

:plus-2 a mf:QueryEvaluationTest ;
    mf:name    "plus-2" ;
    rdfs:comment	"plus operator in combination with str(), i.e.  str(?x) + str(?y), on string and numeric values" ;
    mf:action
       [ qt:query  <plus-2.rq> ;
	 qt:data   <data-builtin-3.ttl> ] ;
     dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:result  <plus-2.srx> ;
    .

:md5-01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "MD5()" ;
	mf:feature sparql:md5 ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <md5-01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <md5-01.srx> ;
	.

:md5-02 rdf:type mf:QueryEvaluationTest ;
	mf:name    "MD5() over Unicode data" ;
	mf:feature sparql:md5 ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <md5-02.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <md5-02.srx> ;
	.

:sha1-01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "SHA1()" ;
	mf:feature sparql:sha1 ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <sha1-01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <sha1-01.srx> ;
	.

:sha1-02 rdf:type mf:QueryEvaluationTest ;
	mf:name    "SHA1() on Unicode data" ;
	mf:feature sparql:sha1 ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <sha1-02.rq> ;
           qt:data   <hash-unicode.ttl> ] ;
    mf:result  <sha1-02.srx> ;
	.

# These tests are not part of the SPARQL test suite because SHA224 was removed from SPARQL 1.1
## :sha224-01 rdf:type mf:QueryEvaluationTest ;
## 	mf:name    "SHA224()" ;
## 	mf:feature sparql:sha224 ;
##     dawgt:approval dawgt:NotClassified ;
##     mf:action
##          [ qt:query  <sha224-01.rq> ;
##            qt:data   <data.ttl> ] ;
##     mf:result  <sha224-01.srx> ;
## 	.
## 
## :sha224-02 rdf:type mf:QueryEvaluationTest ;
## 	mf:name    "SHA224() on Unicode data" ;
## 	mf:feature sparql:sha224 ;
##     dawgt:approval dawgt:NotClassified ;
##     mf:action
##          [ qt:query  <sha224-02.rq> ;
##            qt:data   <hash-unicode.ttl> ] ;
##     mf:result  <sha224-02.srx> ;
## 	.

:sha256-01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "SHA256()" ;
	mf:feature sparql:sha256 ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <sha256-01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <sha256-01.srx> ;
	.

:sha256-02 rdf:type mf:QueryEvaluationTest ;
	mf:name    "SHA256() on Unicode data" ;
	mf:feature sparql:sha256 ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <sha256-02.rq> ;
           qt:data   <hash-unicode.ttl> ] ;
    mf:result  <sha256-02.srx> ;
	.

:sha512-01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "SHA512()" ;
	mf:feature sparql:sha512 ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <sha512-01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <sha512-01.srx> ;
	.

:sha512-02 rdf:type mf:QueryEvaluationTest ;
	mf:name    "SHA512() on Unicode data" ;
	mf:feature sparql:sha512 ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <sha512-02.rq> ;
           qt:data   <hash-unicode.ttl> ] ;
    mf:result  <sha512-02.srx> ;
	.

:hours rdf:type mf:QueryEvaluationTest ;
	mf:name    "HOURS()" ;
	mf:feature sparql:hours ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <hours-01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <hours-01.srx> ;
	.

:minutes rdf:type mf:QueryEvaluationTest ;
	mf:name    "MINUTES()" ;
	mf:feature sparql:minutes ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <minutes-01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <minutes-01.srx> ;
	.

:seconds rdf:type mf:QueryEvaluationTest ;
	mf:name    "SECONDS()" ;
	mf:feature sparql:seconds ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <seconds-01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <seconds-01.srx> ;
	.

:year rdf:type mf:QueryEvaluationTest ;
	mf:name    "YEAR()" ;
	mf:feature sparql:year ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <year-01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <year-01.srx> ;
	.

:month rdf:type mf:QueryEvaluationTest ;
	mf:name    "MONTH()" ;
	mf:feature sparql:month ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <month-01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <month-01.srx> ;
	.

:day rdf:type mf:QueryEvaluationTest ;
	mf:name    "DAY()" ;
	mf:feature sparql:day ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <day-01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <day-01.srx> ;
	.

:timezone rdf:type mf:QueryEvaluationTest ;
	mf:name    "TIMEZONE()" ;
	mf:feature sparql:timezone ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <timezone-01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <timezone-01.srx> ;
	.

:tz rdf:type mf:QueryEvaluationTest ;
	mf:name    "TZ()" ;
	mf:feature sparql:tz ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <tz-01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <tz-01.srx> ;
	.

:bnode01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "BNODE(str)" ;
	mf:feature sparql:bnode ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <bnode01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <bnode01.srx> ;
	.

:in01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "IN 1" ;
	mf:feature sparql:in ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <in01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <in01.srx> ;
	.

:in02 rdf:type mf:QueryEvaluationTest ;
	mf:name    "IN 2" ;
	mf:feature sparql:in ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <in02.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <in02.srx> ;
	.

:notin01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "NOT IN 1" ;
	mf:feature sparql:in ;
	mf:feature sparql:not ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <notin01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <notin01.srx> ;
	.

:notin02 rdf:type mf:QueryEvaluationTest ;
	mf:name    "NOT IN 2" ;
	mf:feature sparql:in ;
	mf:feature sparql:not ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <notin02.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <notin02.srx> ;
	.

:now01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "NOW()" ;
	mf:feature sparql:now ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <now01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <now01.srx> ;
	.

:rand01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "RAND()" ;
	mf:feature sparql:rand ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <rand01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <rand01.srx> ;
	.

:bnode02 rdf:type mf:QueryEvaluationTest ;
	mf:name    "BNODE()" ;
	mf:feature sparql:bnode ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <bnode02.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <bnode02.srx> ;
	.

:iri01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "IRI()/URI()" ;
	mf:feature sparql:iri ;
	mf:feature sparql:uri ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <iri01.rq> ;
           qt:data   <data.ttl> ] ;
    mf:result  <iri01.srx> ;
	.

:if01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "IF()" ;
	mf:feature sparql:if ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <if01.rq> ;
           qt:data   <data2.ttl> ] ;
    mf:result  <if01.srx> ;
	.

:if02 rdf:type mf:QueryEvaluationTest ;
	mf:name    "IF() error propogation" ;
	mf:feature sparql:if ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <if02.rq> ;
           qt:data   <data2.ttl> ] ;
    mf:result  <if02.srx> ;
	.

:coalesce01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "COALESCE()" ;
	mf:feature sparql:coalesce ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <coalesce01.rq> ;
           qt:data   <data-coalesce.ttl> ] ;
    mf:result  <coalesce01.srx> ;
	.

:strbefore01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "STRBEFORE()" ;
	mf:feature sparql:strbefore ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <strbefore01.rq> ;
           qt:data   <data2.ttl> ] ;
    mf:result  <strbefore01.srx> ;
	.

:strbefore01a rdf:type mf:QueryEvaluationTest ;
	mf:name    "STRBEFORE()" ;
	mf:feature sparql:strbefore ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-08-07#resolution_2> ;
    mf:action
         [ qt:query  <strbefore01.rq> ;
           qt:data   <data2.ttl> ] ;
    mf:result  <strbefore01a.srx> ;
	.

:strbefore02 rdf:type mf:QueryEvaluationTest ;
	mf:name    "STRBEFORE() datatyping" ;
	mf:feature sparql:strbefore ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-08-07#resolution_2> ;
    mf:action
         [ qt:query  <strbefore02.rq> ;
           qt:data   <data4.ttl> ] ;
    mf:result  <strbefore02.srx> ;
	.

:strafter01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "STRAFTER()" ;
	mf:feature sparql:strafter ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <strafter01.rq> ;
           qt:data   <data2.ttl> ] ;
    mf:result  <strafter01.srx> ;
	.

:strafter01a rdf:type mf:QueryEvaluationTest ;
	mf:name    "STRAFTER()" ;
	mf:feature sparql:strafter ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-08-07#resolution_2> ;
    mf:action
         [ qt:query  <strafter01.rq> ;
           qt:data   <data2.ttl> ] ;
    mf:result  <strafter01a.srx> ;
	.

:strafter02 rdf:type mf:QueryEvaluationTest ;
	mf:name    "STRAFTER() datatyping" ;
	mf:feature sparql:strafter ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-08-07#resolution_2> ;
    mf:action
         [ qt:query  <strafter02.rq> ;
           qt:data   <data4.ttl> ] ;
    mf:result  <strafter02.srx> ;
	.

:replace01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "REPLACE()" ;
	mf:feature sparql:replace ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <replace01.rq> ;
           qt:data   <data3.ttl> ] ;
    mf:result  <replace01.srx> ;
	.

:replace02 rdf:type mf:QueryEvaluationTest ;
	mf:name    "REPLACE() with overlapping pattern" ;
	mf:feature sparql:replace ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <replace02.rq> ;
           qt:data   <data3.ttl> ] ;
    mf:result  <replace02.srx> ;
	.

:replace03 rdf:type mf:QueryEvaluationTest ;
	mf:name    "REPLACE() with captured substring" ;
	mf:feature sparql:replace ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-01-31#resolution_3> ;
    mf:action
         [ qt:query  <replace03.rq> ;
           qt:data   <data3.ttl> ] ;
    mf:result  <replace03.srx> ;
	.

:uuid01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "UUID() pattern match" ;
	mf:feature sparql:uuid ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-08-07#resolution_2> ;
    mf:action
         [ qt:query  <uuid01.rq> ;
           qt:data   <data-empty.nt> ] ;
    mf:result  <uuid01.srx> ;
	.

:struuid01 rdf:type mf:QueryEvaluationTest ;
	mf:name    "STRUUID() pattern match" ;
	mf:feature sparql:struuid ;
    dawgt:approval dawgt:Approved ;
    dawgt:approvedBy <http://www.w3.org/2009/sparql/meeting/2012-08-07#resolution_2> ;
    mf:action
         [ qt:query  <struuid01.rq> ;
           qt:data   <data-empty.nt> ] ;
    mf:result  <struuid01.srx> ;
	.

