Usage of the Sponger Middleware via REST patterns

What?

How to interact with the Sponger via REST patterns.

Why?

Delegation and proxies are part of the Internet and Web's federated architecture. Thus, developers of RESTful applications benefit immensely from the ability to leverage Sponger functionality via delegation to it as a proxy.

Two proxies are available: /about (deprecated) and /describe. /about provides a simple RDF browsing interface, /describe exposes a functionally richer faceted browser.

How?

The following table presents list of the supported URL parameters:

ParameterValueDescriptionExample
sr
(/describe)

refresh
(/about)
clean Use: Clear the target graph before sponging

The 'clean' usage explicitly clears the target graph i.e. will cause the Sponger to clear it's cache even if it is marked to be in use.
Thus, if the fetch cache is for some reason left in an inconsistent state, for instance by a shutdown during Network Resource fetching, then 'clean' is required as it doesn't check the cache state beforehand.
Note:
* must be used with caution as other threads may be doing fetching of network resources at same time.
* refresh must be used in tandem with @Lookup@ i.e. &@Lookup@=&refresh=clean
Explicitly clear the graph

/describe
/about
sponger:getadd Use: When adding new triples, do not overwrite existing triples with the same subject and predicate

Add new triples to named graphs, progressively. This is the default value for the parameter sponger:get. May be used together with refresh=<seconds> to override the default cache expiration (which is based on a cache expiry date/time calculated from information in the HTTP headers returned from a previous sponge of the target data source).
Add new triples and refresh on every 10 seconds

/describe
/about
sponger:getsoft Use: Add triples only if the target graph is initially empty

Network Resource Fetch data subject to the cache invalidation policies and associated rules of instance. May be used together with refresh=<seconds> to override the default cache expiration.
Network Resource Fetch data with option soft and refresh on every 10 seconds

/describe
/about
sponger:getreplace Use: When adding new triples, overwrite existing triples with the same subject and predicate

Replace subject to cache invalidation policy and rules, but coverage includes non fetched triples if such exist in a given named graph. may be used together with refresh=<seconds> to override the default cache expiration.
Replace data and refresh on every 10 seconds

/describe
/about

Related