SPARQL endpoints are easy for random visitors to accidentally overload. Virtuoso allows you to secure your SPARQL endpoint against such abuses in various ways, including the WebID? Protocol.
The WebID? Protocol links a Web ID to a public key, to create a global, decentralized/distributed, and open -- yet secure! -- authentication system that functions with existing browsers.
Virtuoso lets you set WebID? Protocol-based ACLs (Access Control Lists) to restrict and permit various levels of activity based on the visitor's WebID?, through the SPARQL-WebID? endpoint, <https://<cname>:<port>/sparql-webid>
, e.g., https://virtuoso.example.com:8889/sparql-webid
.
http://<cname>:<port>/conductor
, e.g., http://virtuoso.example.com:8889/conductor
.
dba
.
The following sample scenario demonstrates setting WebID? Protocol ACLs using the Virtuoso Authentication Server UI:
conductor_dav.vad
package.
http://<cname>:<port>/conductor
, where <cname>:<port>
are replaced by your local server values.
dba
" or another user with DBA privileges
http://id.myopenlink.net/dataspace/person/demo#this
https://<cname>:<port>/sparql-webid
More examples with the ACL engine rules for using SPARQL ASK to make sophisticated data access policies based on social entity relationship semantics: