@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix ptest: <http://example.org/dawg/protocol-test#> .
@prefix ex:    <http://example.org/dawg/protocol-test/data#> .

<>  rdf:type ptest:Manifest ;
    rdfs:comment "SQARQL Protocol Examples" ;
    ptest:entries (
	[
	    ptest:name "SELECT with service-supplied RDF dataset" ;
	    ptest:serviceDataSet [
	    	ptest:defaultGraph [
			ptest:graphName ex:books;
			ptest:graphData <svcsupplied-data.ttl>
		]
	    ] ;
	    ptest:query <svcsupplied-query.rq> ;
	    ptest:acceptType "application/sparql-results+xml" ;
	    ptest:preferredResult [
	        ptest:result <svcsupplied-results.xml> ;
	        ptest:resultCode "200 OK" ;
	        ptest:resultContentType "application/sparql-results+xml"
	    ]
	]

	[
	    ptest:name "SELECT with simple RDF dataset" ;
	    ptest:dataSet [
		    ptest:defaultGraph [
		    	ptest:graphName ex:books;
			ptest:graphData <simple-data.ttl>
		    ]
	    ] ;
	    ptest:query <simple-query.rq> ;
	    ptest:acceptType "application/sparql-results+xml" ;
	    ptest:preferredResult [
	        ptest:result <simple-results.xml> ;
	        ptest:resultCode "200 OK" ;
	        ptest:resultContentType "application/sparql-results+xml"
	    ]
	]

	[
	    ptest:name "SELECT with complex RDF dataset" ;
	    ptest:dataSet [
		    ptest:defaultGraph [
		    	ptest:graphName ex:publishers;
			ptest:graphData <complex-publishers.ttl>
		    ];
		    ptest:namedGraph [
		    	ptest:graphName ex:foaf-alice;
			ptest:graphName <complex-foaf-alice.n3>;
		    ];
		    ptest:namedGraph [
		    	ptest:graphName ex:foaf-bob;
			ptest:graphName <complex-foaf-bob.n3>;
		    ];
		    ptest:namedGraph [
		    	ptest:graphName ex:foaf-susan;
			ptest:graphName <complex-foaf-susan.n3>;
		    ];
		    ptest:namedGraph [
		    	ptest:graphName ex:foaf-john;
			ptest:graphName <complex-foaf-john.n3>;
		    ]
	    ] ;
	    ptest:query <complex-query.rq> ;
	    ptest:acceptType "application/sparql-results+xml" ;
	    ptest:preferredResult [
	        ptest:result <complex-results.xml> ;
	        ptest:resultCode "200 OK" ;
	        ptest:resultContentType "application/sparql-results+xml"
	    ]
	]	

	[
	    ptest:name "SELECT with query-only RDF dataset" ;
	    ptest:query <queryonly-query.rq> ;
	    ptest:acceptType "application/sparql-results+xml" ;
	    ptest:preferredResult [
	        ptest:result <queryonly-results.xml> ;
	        ptest:resultCode "200 OK" ;
	        ptest:resultContentType "application/sparql-results+xml"
	    ]
	]

	[
	    ptest:name "SELECT with ambiguous RDF dataset" ;
	    ptest:dataSet [
		    ptest:defaultGraph [
		    	ptest:graphName ex:morepublishers;
			ptest:graphData <ambiguous-morepublishers.n3>
		    ];
		    ptest:namedGraph [
		    	ptest:graphName ex:foaf-alice;
			ptest:graphName <ambiguous-foaf-alice.n3>;
		    ];
		    ptest:namedGraph [
		    	ptest:graphName ex:foaf-bob;
			ptest:graphName <ambiguous-foaf-bob.n3>;
		    ];
	    ] ;
	    ptest:query <ambiguous-query.rq> ;
	    ptest:acceptType "application/sparql-results+xml" ;
	    ptest:preferredResult [
	        ptest:result <ambiguous-results.xml> ;
	        ptest:resultCode "200 OK" ;
	        ptest:resultContentType "application/sparql-results+xml"
	    ]
	]	

	[
	    ptest:name "SELECT with malformed query fault" ;
	    ptest:dataSet [
		    ptest:defaultGraph [
		    	ptest:graphName ex:morepublishers;
			ptest:graphData <malformed-morepublishers.n3>
		    ]
	    ] ;
	    ptest:query <malformed-query.rq> ;
	    ptest:acceptType "application/sparql-results+xml" ;
	    ptest:preferredResult [
	        ptest:result <malformed-results.txt> ;
	        ptest:resultCode "400 Bad Request" ;
	        ptest:resultContentType "application/sparql-results+xml"
	    ]
	]	

	[
	    ptest:name "SELECT with query request refused fault" ;
	    ptest:dataSet [
		    ptest:defaultGraph [
		    	ptest:graphName ex:protein-db;
			ptest:graphData <refused-protein-db.n3>
		    ]
	    ] ;
	    ptest:query <refused-query.rq> ;
	    ptest:acceptType "text/html" ;
	    ptest:preferredResult [
	        ptest:result <refused-results.htm> ;
	        ptest:resultCode "500 Internal Server Error" ;
	        ptest:resultContentType "text/html"
	    ]
	]	

	[
	    ptest:name "Very long SELECT query using POST binding" ;
	    ptest:query <longpost-query.rq> ;
	    ptest:acceptType "application/sparql-results+xml" ;
	    ptest:preferredResult [
	        ptest:result <longpost-results.xml> ;
	        ptest:resultCode "200 OK" ;
	        ptest:resultContentType "application/sparql-results+xml"
	    ]
	]
	
   ) .

