# Virtuoso SPARQL Document Generation & Cloud Storage Access Control > [HTML Infographic](virtuoso-sparql-doc-gen-cloud-storage-acl-qwen3.6-plus-1.html) | [RDF Turtle](../rdf/virtuoso-sparql-doc-gen-cloud-storage-acl-qwen3.6-plus-1.ttl) | [JSON-LD](../rdf/virtuoso-sparql-doc-gen-cloud-storage-acl-qwen3.6-plus-1.jsonld) A meshup of two Virtuoso blog articles: (1) using SPARQL DESCRIBE, CONSTRUCT, and SELECT queries to dynamically generate documents in multiple formats for follow-your-nose exploration, and (2) using ODS-Briefcase with WebID-based ACLs to mediate fine-grained access to resources stored in Google Drive, Dropbox, Microsoft OneDrive, Box, and Amazon S3. By [Kingsley Uyi Idehen](https://linkeddata.uriburner.com/describe/?url=https%3A%2F%2Fwww.linkedin.com%2Fin%2Fkidehen%23this) & [Ted Thibodeau Jr](https://linkeddata.uriburner.com/describe/?url=https%3A%2F%2Fwww.linkedin.com%2Fin%2Ftedthibodeau%23this) | OpenLink Virtuoso Weblog | 2016-04-25 --- ## Overview Virtuoso SPARQL queries produce dynamic documents in HTML, CSV, JSON, XML, Turtle, JSON-LD, and RDF/XML. ODS-Briefcase mounts third-party cloud storage as WebDAV DET folders with WebID-based ACLs, enabling granular access control independent of the provider's native permissions. **Key Stats:** - **7+** SPARQL Result Formats (HTML, CSV, JSON, XML, Turtle, JSON-LD, RDF/XML) - **5** Cloud Services Supported (Google Drive, Dropbox, OneDrive, Box, Amazon S3) - **10** FAQ Questions covering SPARQL, ODS-Briefcase, WebID, ACLs, and Sponger - **12** Glossary Terms (SPARQL, WebID, WebDAV, DET, Named Graph, and more) --- ## SPARQL Document Generation Virtuoso SPARQL queries dynamically generate documents in multiple formats for follow-your-nose exploration of data access drivers and product portfolios. ### DESCRIBE/CONSTRUCT Result Types SPARQL DESCRIBE and CONSTRUCT queries produce RDF statement graphs in: - **RDF-Turtle** (`text/turtle`) - **RDF N-Triples** (`application/n-triples`) - **JSON-LD** (`application/ld+json`) - **RDF/XML** (`application/rdf+xml`) ### SELECT Result Types SELECT queries return tabular solutions in: - **HTML** (`text/html`) - **HTML with Faceted Browsing Links** (`text/x-html+tr`) - **CSV** (`text/csv`) - **SPARQL Results JSON** (`application/sparql-results+json`) - **SPARQL Results XML** (`application/sparql-results+xml`) - **Microsoft Excel** (`application/vnd.ms-excel`) - **JavaScript** (`application/javascript`) ### HTTP Content Negotiation Virtuoso SPARQL endpoints support HTTP content negotiation for result format selection via Accept headers, though browser support beyond `text/html` is limited. ### Structured Data Islands HTML documents can embed SPARQL DESCRIBE results as structured data islands using `