Virtuoso DAV Extensions

What?

A mechanism for generating HTTP accessible resources (virtual or physical) from Virtuoso hosted data. These resources are available in two content-type forms: hypermedia (e.g. Atom, RSS, RDF-JSON, RDF/XML, Turtle, N3, TriX?, TriG? etc.) and non-hypermedia (iCalendar, vCard, Excel, Word, GIFs, PDFs, PNGs etc.).

DAV Extension Types (DETs), are a means of making collections and resources whose content is computed at run time. A DET is more than a set of dynamic web pages. A DET looks like a collection for purposes of the protocol and DAV APIs; it can be writable through the DAV protocol, it can have search functions plugging it into generic DAV search and so on.

A DET is akin to an entirely generic file-system mount point. The contents shown will be generated on demand by the DET hook functions. The results may reflect arbitrary application data rendered as virtual DAV collections and resources, specially grouped or selected actual DAV resources, resources from the file system or anything else.

The DET is the ideal means of implementing DAV extensions such as Cal DAV. Virtuoso DET's are available together with the release of the ODS Briefcase web file sharing application. Samples and programming guidelines for custom DET's are available too.

Importance?

Enables broad range of applications to consume data access and management services provided by Virtuoso across a plethora of platforms.

How?

You generate DET based resources via Virtuoso PL based mapping functions.

Filter Collection

This DET can show resources selected within a tree by a combination of search criteria on content, metadata and content type. When a resource is written into such a DET, the metadata corresponding to the selection criteria are set.

Application DETs

The Virtuoso Blog, Mail, News, Wiki and other applications have corresponding DETs which render each user's content managed by the application into a collection in the user's DAV home. This makes all application data URL-accessible and facilitates consolidated searches across all such resources.

DETs APIs

Examples:

Simple code examples for creating the resources types generated as part of ODS installations:

Upload File DETs

Applications DETs