Re: Incrementing a literal

In terms of the counter


On 14 Nov 2012, at 06:43, Sergey Larionov <s.larionov@rks.karelia.ru> wrote:

> 
> Henry, ok, time may be seen as continous (or is
> that a current consensus view from some leaders of
> thought). Still, when building the 'counter' ontology
> (or describing something that changes at all),
> can it make sense to somehow avoid the traditional 
> programming/overwriting thinking style like:
> 
> update counter with value 1
> update counter with value 2
> update counter with value 3
> 
> and instead just expand the knowledge by adding (no
> updating or deleting at all) new facts into knowledge
> system as they come:
> 
> counter was 1 at timeA
> counter was 2 at timeB
> counter was 3 at timeC

yes, that's the better method. You can also remove 
all previous counters from your database at that
point.

You can also have

<> numberOfPeopleVisted 34 .

And remove the previous relation. Then if clients have merge
this and previous graphs with that relation, they would have
to search for the highest number. They could end up with this:

<> numberOfPeopleVisted 30, 31, 32, 33, 34 .

In other words <numberOfPeopleVisted> does not mean
number of people who visited now, it means number of people
who visited at any point in time. And clearly if 34 visited, 
then so did 33 ( at an earlier time slice)



> 
> What is impossible here I fail to see? Is it difficult
> to query the 'current' value of a counter from such a
> (corresponding) set of triples using the currently
> available semantic web tools?
> 
>>> Melvin, may I propose an opinion that 'needing to
>>> update a value' seems like a design flaw. Why? Taking
>>> your particular example of incrementing a 'counter'
>>> variable which goes from 1 to 2 to 3 and further on,
>>> on each step there actually *was* a time/state when
>>> 'counter' contained each of it's values. And at that
>>> time/state conclusions could be made which were based
>>> on *that* particular value. Updating seems like
>>> effectively erasing the history.
>>> 
>>> Now what is 'current value' as it obviously should
>>> have some means to be changed? Well 'current value' 
>>> seems like a result of a function taking a specific
>>> 'current' time as an input. Current time is an observer's 
>>> context property. So may an answer to your question 
>>> contain a suggestion to store all the values for a 
>>> counter with their relevant time frame attributes 
>>> and obtain 'current' value using a query? SL
> 
>> that is impossible since time is continuous and between any 
>> two times there are infinite number of more time slots. You
>> would need temporal reasoning and mereological reasoning to do
>> this. Those tools are not available yet.
> 
>>> 
>>> 
>>>> Is there a pattern for incrementing a literal counter?
>>>> Alice stores turtle in http://example.org/counter
>>>> The initial operation should generate something like
>>>> <#> <#counter> 1.
>>>> Then the subsequent operation
>>>> <#> <#counter> 2.
>>>> And after that.
>>>> <#> <#counter> 3.
>>>> And so on ...
>>> 
>>>> Is there a neat way to do this in  distributed way?  SPARQL update?   Maybe using Etags?   
> 
> 
> 
> 

Social Web Architect
http://bblfish.net/

Received on Wednesday, 14 November 2012 17:56:16 UTC