How to enforce usage limits?
If a public SPARQL end point is offered, we recommend running this in anytime query mode, where user requests are automatically terminated after a settable timeout and the results found before the timeout are returned to the user. In this way, no matter what users do, they will not entirely monopolize a server.
The anytime query mode is not suitable for application access, where the queries are composed by the application developer and are expected to return complete answers. Thus the public SPARQL endpoint can run in anytime query mode but application connections will get full results and not be interrupted by timeout.
Note: When using the /sparql UI with the default timeout left at 0, you will get a time out. Doing the same thing, but with a timeout setting of 30000 (milliseconds) you get a result.