Dynamic SPARQL Documents & Cloud Storage Access Control — by Ted Thibodeau Jr
At its core, Virtuoso offers a universal filesystem interface as one of its various options for open standards based I/O operations. A SPARQL query result saved to a DET folder becomes a file you can create, share via WebDAV, open in Excel or Tableau, and delete — while the underlying RDF data stays live and in sync. A Google Drive folder mounted through ODS-Briefcase becomes the same: a file hierarchy you share, protect with WebID ACLs, and access from any WebDAV client — without the underlying storage service knowing or caring that it's part of a knowledge graph pipeline. This mesh-up of two articles by Ted Thibodeau Jr, building on the Virtuoso platform and linked data deployment patterns pioneered by Kingsley Uyi Idehen, demonstrates that pattern: the filesystem is the interface, and knowledge graphs — whether generated from SPARQL queries or layered over cloud storage — inherit the create-share-delete model that every user and every tool already understands. 433 triples, 5 storage services, 10 FAQs, 12 glossary terms, 10 HowTo steps.
How Virtuoso's DET folders generate change-sensitive documents from SPARQL queries — outputting CSV, HTML, JSON, Turtle — accessible via HTTP/WebDAV and consumable by Excel, Tableau, and Qlik Sense. May 2018.
How ODS-Briefcase mounts Google Drive, Dropbox, OneDrive, Box, and S3 as DET folders with WebID-based RBAC/ABAC — transforming proprietary SaaS storage into a decentralized, standards-based personal data space. Jan 2018.
Mounted via ODS-Briefcase. Does not properly handle MIME types. Normalized through the Virtuoso abstraction layer.
Partial MIME type support. Folder sharing restricted by social network requirements. Normalized by ODS-Briefcase.
Requires macOS Yosemite (10.10+) or later. Mounted with read-write WebDAV access through ODS-Briefcase.
Cloud storage mounted via ODS-Briefcase with WebDAV and WebID ACLs for decentralized access control.
The only service among the five that properly handles Document Content Types (MIME types). Mountable with WebID ACLs.
Multi-model hybrid RDBMS. DET folders, SPARQL endpoint, WebDAV server, ODS-Briefcase storage virtualization.
Dynamic Extended Type folders transform content at request time — SQL-to-XML, SQL-to-RDF, SPARQL-results-to-CSV. DET applies HTTP content negotiation to serve the right format to each consumer.
Save SPARQL results to a DET folder via the endpoint. With 'Refresh periodically' enabled, documents auto-update. Output formats: CSV, HTML, JSON, Turtle, N-Triples, RDF/XML. Accessible via HTTP/WebDAV for desktop tools.
ODS-Briefcase mounts Google Drive, Dropbox, Microsoft OneDrive, Box, and Amazon S3. Each appears as a WebDAV mount point in the user's personal data space. ODS-Briefcase uses proprietary APIs but presents a uniform WebDAV interface.
WebID is a W3C standard for decentralized identity verification using TLS client certificates. ACLs on ODS-Briefcase folders can grant READ access based on WebID verification. Supports RBAC (Users/Roles) and ABAC (attribute-based on-the-fly evaluation).
CSV, HTML, JSON, Turtle (RDF), N-Triples, RDF/XML. Format is selected at save time; the file auto-refreshes when underlying data changes.
Modern macOS, Windows, and Linux can mount WebDAV directories. Dynamic documents appear as local files — Excel, Tableau, and Qlik Sense can open and refresh them without understanding SPARQL or RDF.
Google Drive does not handle MIME types properly. Dropbox handles them slightly better. OneDrive requires specific OS versions. Only Amazon S3 properly handles Content Types. ODS-Briefcase normalizes all services for full MIME support.
ODS-Briefcase provides an open-standards virtualization layer: HTTP with Content Negotiation, WebDAV for read-write, LDP for Linked Data, WebID+TLS for identity, and 5-Star Linked Data deployment via relative URIs over any mounted storage.
Virtuoso (open-source or Enterprise) with Conductor v1.00.8774+. Create a DAV folder with type Dynamic Resources. The SPARQL endpoint's 'Save resultset to WebDAV folder' option handles the rest.
Use OpenLink's WebID Generator at id.myopenlink.net/certgen or any compliant service. The WebID includes a TLS client certificate for identity verification against ODS-Briefcase ACLs.
Virtuoso folder type that transforms content dynamically — SQL to RDF, SPARQL to CSV.
HTTP extension for filesystem operations — mountable by macOS, Windows, and Linux.
W3C standard for decentralized identity verification using TLS client certificates.
Virtuoso component mounting cloud storage as DET folders with WebID ACLs.
W3C RDF query language. Virtuoso can save results as dynamic, auto-refreshing documents.
Access Control List — permissions applied to folders/documents for read, write, execute.
Browser-based Virtuoso admin UI — manages DAV folders, DET configs, and packages.
HTTP mechanism serving different representations based on client Accept headers.
Role-Based Access Control — permissions via users and roles/groups.
Attribute-Based Access Control — on-the-fly permission evaluation via visitor attributes.
Linked Data Protocol — W3C protocol for read-write Linked Data over HTTP.
User-controlled data space with mounted storage services and WebID ACLs.
Deploy latest Virtuoso binary. Ensure Conductor v1.00.8774+ via System Admin → Packages.
In Conductor → Web Application Server → Content Management → DAV location. Folder Type: Dynamic Resources. Assign ownership, grant +Read to Public.
SPARQL endpoint → Save resultset to WebDAV folder → enter filename, refresh interval, format → Run Query.
Mount the DAV folder via WebDAV from your OS. Dynamic documents appear as local files for Excel, Tableau, Qlik Sense.
ODS-Briefcase (formerly ODrive) is a Virtuoso component. Install and configure via the Virtuoso Conductor.
Use ODS-Briefcase to mount Google Drive, Dropbox, OneDrive, Box, S3. Each appears as a DET folder in your personal data space.
Apply ACLs to each mounted folder. Simplest: grant READ to visitors who verify their WebID. RBAC and ABAC supported.
Generate at id.myopenlink.net/certgen or any WebID-compliant service. Provides TLS client certificate for identity verification.
Visit mounted DET folders via WebDAV URLs. With valid WebID, ACLs permit READ. Accessible via HTTP, WebDAV, and LDP.
Use relative URIs + content negotiation to deploy Linked Data over any mounted storage. Dokieli can use services for annotation storage.
Ready-to-run queries against the companion RDF graph via URIBurner SPARQL endpoint. SELECT uses text/x-html+tr; DESCRIBE/CONSTRUCT use text/x-html-nice-turtle.
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?type (COUNT(?s) AS ?count)
WHERE { GRAPH <VIRTUOSO_DET_GRAPH> { ?s rdf:type ?type } }
GROUP BY ?type ORDER BY DESC(?count)▶ Open at linkeddata.uriburner.com/sparqlPREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX schema: <http://schema.org/>
SELECT ?service ?name ?type
WHERE { GRAPH <VIRTUOSO_DET_GRAPH> {
{ ?service rdf:type schema:Service ; schema:name ?name }
UNION { ?service rdf:type schema:SoftwareApplication ; schema:name ?name }
} } ORDER BY ?name▶ Open at linkeddata.uriburner.com/sparqlDESCRIBE <https://medium.com/virtuoso-blog/dynamically-generating-documents-from-sparql-queries-7d6589505100#collection> FROM <VIRTUOSO_DET_GRAPH>
DESCRIBE uses text/x-html-nice-turtle result format.