I can only speak for the use cases I actually know about. ETags would get used, 
because the most important web app in my concern that is potentially a client 
to Fuseki would be able to use them. But that is just one case.

JENA-626 would be great in any regard. 

---
A. Soroka
The University of Virginia Library

On Jun 29, 2015, at 12:20 PM, Andy Seaborne <a...@apache.org> wrote:

> There is no case of external modification of the database which Fuseki is 
> running.  A disaster will occur otherwise.  [Modifying externally while 
> running requires a different approach (e.g. switching between two copies of 
> the database ... maybe ... so many ways to corrupt a database ... ).]
> 
> 
> E-tags is a quite technical solution - will any system actually use it for 
> real even if it is the right solution?  We wouldn't want to find out that 
> etags support does not get used.  For the SPARQL Protocols case (with query 
> stings), it might not really get used.  Has caching of requests including 
> query string rolled out to any degree? (a point from discussion in JENA-388).
> 
> If query string currently cause no caching by intermediaries in practice, 
> will clients cache which is the case of one client reissuing the same query? 
> Possible but is it likely?
> 
> See also JENA-626 "SPARQL Query Caching".  That would make a difference - 
> different client apps starting up often ask the same query to get started.
> 
>       Andy
> 
> On 29/06/15 16:03, Claude Warren wrote:
>> I am not familure with how the indexing interplays with the rest of the
>> Jena system.  My assumption is, like you, that we only want the ETag in the
>> Fuseki layer.  However, to generate an ETag it seems like Fuseki will need
>> to be able to ask the underlying dataset when the last change occured, but
>> then you also want to know if indexing has changed so that results my be
>> changed as well.
>> 
>> If we consider ETag generation separate from the Dataset then the ETag
>> generator could register as a listener to the dataset and react whenever a
>> change occurs to the model.   > This doesn't solve the problem of responding
>> to index updates.  However, whatever interface the listener uses to trigger
>> an ETag change could just as well be done by an indexer.  Is there an
>> indexer listener interface (ala Model/Graph listeners)?  In this solution
>> the ETag gets input from any registered component.  I think that each
>> registered component should have a "name" and a "value".  The ETag
>> generator would retain the most recent value for each registered component
>> and generate a new ETag when a value changes.  So I see a class with 2
>> methods
>> 
>> void ETagGenerator.change( String name, String value )
>> and
>> String ETagGenerator.getTag(); // to retrieve the current tag.
>> 
>> Claude
>> 
>> 
>> 
>> On Mon, Jun 29, 2015 at 2:50 PM, aj...@virginia.edu <aj...@virginia.edu>
>> wrote:
>> 
>>> On Jun 29, 2015, at 9:33 AM, Claude Warren <cla...@xenei.com> wrote:
>>>> If there were an ETag per dataset and a method on the dataset to force
>>> an ETag reset would this address the index issue in that the indexer could
>>> reset the ETag when it deemed appropriate?
>>> 
>>> It might-- for that indexer. I would be concerned about setups in which
>>> another process acted against the data "out of sight" of Fuseki. But would
>>> the ETag be on ARQ's Dataset itself? If I understand what's going on here
>>> correctly (debatable at best), Dataset should not have any HTTP concerns
>>> mixed into it. ETag would be on something closer to Fuseki's DataService,
>>> which I do not think would normally be accessible to an indexer which is
>>> only aware of what's on diskā€¦ but this is all from my understanding of the
>>> architecture, which is pretty minimal. {grin} Maybe some kind of "last
>>> changed" timestamp could reasonably go on Dataset to support this kind of
>>> function?
>>> 
>>>> In any case I would go with the first choice.
>>> 
>>> It definitely seems like the most bang for the least buck.
>>> 
>>>> Is there anything that prohibits sending both an ETag and a constant
>>> expires?  I havn't looked but I recall they are not mutually exclusive.
>>> 
>>> Yes, I think you are correct. I suppose a bad ETag will never be known to
>>> be such as long as it is "inside" the range of a still-good Expires, but
>>> that is a question for the administrator configuring Fuseki, it seems to
>>> me. There is also Cache-Control, of course, in the same field of
>>> functionality.
>>> 
>>> ---
>>> A. Soroka
>>> The University of Virginia Library
>>> 
>>> 
>> 
>> 
> 

Reply via email to