WebDAV Support in Virtuoso
Virtual directories in Virtuoso's web server space can be designated as WebDAV. When this is done, the resources are stored in a set of SQL tables representing resources, collections, permissions, metadata, WebDAV locks and the like. Collections may optionally be text indexed if the resource in question is of a suitable content type.
WebDAV HTTP methods can then be used for accessing and manipulating content in such virtual directories. SQL applications can read the resources directly from the WebDAV tables, if SQL permissions allow. A special WebDAV SQL API allows selective access to WebDAV without having to make the whole table readable to the application.
A WebDAV resource has an owner, a group owner and a set of access flags, just as files in Unix. Additionally, collections and resources have an optional access control list. The access control list provides Win32 file system lie fine-grained granting and revoking of access.
Virtuoso supports the WebDAV PROPBATCH method and the URIQA metadata access protocol. For supported content types, such as most XML formats and some binary formats, Virtuoso automatically reads the metadata from the file and stores it as an RDF description. This metadata can be used for providing alternate metadata driven views of content, and for locating resources in applications.
Text indexing can be enabled at the resource or the collection level. This allows for content searching from the administration interface.
Versioning can be enabled at the resource level. The versioning support corresponds to the Delta V core functionality. Versioning support is still somewhat experimental.
The Virtuoso Conductor administration application must be used for setting privileges of WebDAV resources, searching for content etc., since these features are not exposed by the basic protocol. A WebDAV Access Control protocol implementation may be added later, as user agents start supporting this.