Re: How to model valid time of resource properties?

Kingsley, greetings. 

It is important to keep a clear distinction between what temporal DB calls valid time and transaction time. T-time is when the record was inserted into the databese or when it was created. This is important, basically, for internal accounting and maintenance of the DB itself. V-time is the time being referred to in the data. So for example, if Bill and Jane are married on 01012014 and this fact gets inserted into a record of marriages on 05012014, there are two times involved, and these are the valid and transaction times respectively. 

What you are talking about, when you suggest using reification and dates of documents, is transaction time, not valid time. Conflating these might work in some cases, but it is guaranteed to break eventually, and the ways it breaks can be catastrophic, involving miscarriages of justice, false imprisonment, legal judgements about inheritance, etc.. Better to not get this confused in the first place, especially as the distinciton has been carefully worked out already. 

Pat Hayes


On Oct 16, 2014, at 7:00 AM, Kingsley Idehen <kidehen@openlinksw.com> wrote:

> On 10/16/14 3:33 AM, John Walker wrote:
>> Hi Kingsley,
>>  
>>> On October 15, 2014 at 2:59 PM Kingsley Idehen <kidehen@openlinksw.com> wrote: 
>>> 
>>> On 10/15/14 8:36 AM, Frans Knibbe | Geodan wrote:
>>>> On 2014-10-13 14:14, John Walker wrote:
>>>>>  
>>>>> Hi Frans,
>>>>>  
>>>>> See this example:
>>>>> http://patterns.dataincubator.org/book/qualified-relation.html
>>>> 
>>>> Thank you John! Strangely enough, I had not come across the Linked Data Patterns book before. But I can see it is a valuable resource with solutions for many common problems. And it looks pretty too! I am sure it will come in handy for problems that I haven't stumbled upon yet. 
>>>> 
>>>> A nice thing about this solution is that it doesn't need any extensions of core technologies. I do see some downsides, though: 
>>>> 
>>>> Let's assume I want to publish data about people, as in the examples. A person can have common properties defined by the FOAF vocabulary, like foaf:age or foaf:based_near. Properties like these are likely to change. If I want to record the time in which a statement is valid I would have to create a class for that relationship and add properties to that class that will allow me to associate a start time and an end time with the class. But by doing that I would not only be forced to create my own vocabulary, I would also replace common web wide semantics with my own semantics. Or would it still be possible to relate the original property with the custom class somehow? 
>>>> 
>>>> In the cases known to me that require the recording of history of resources, all resource properties (except for the identifier) are things that can change in time. If this pattern would be applied, it would have to be applied to all properties, leading to vocabularies exploding and becoming unwieldy, as described in the Discussion paragraph. 
>>>> 
>>>> I think that the desire to annotate statements with things like valid time is very common. Wouldn't it be funny if the best solution to a such a common and relatively straightforward requirement is to create large custom vocabularies? 
>>>> 
>>>> Regards, 
>>>> Frans
>>> 
>>> Frans, 
>>> 
>>> How about reified RDF statements? 
>>> 
>>> I think discounting RDF reification vocabulary is yet another act of premature optimization, in regards to the Semantic Web meme :)
>> Just wondering if the semantics of RDF reification would accurately capture the semantics of what Frans wants to model.
>> 
>> If the idea is to capture the start and end date of a relationship, then is RDF reification the answer in this case?
>> 
> 
> Yes, since an RDF statement represents a relationship [1]. Thus, using reification (as per my example) you can refer to utterances (statements) made at a specific time. 
> 
>> As the reified statement has rdf:type rdf:Statement, wouldn't we that be making the additional statements about the statement, not about the relationship it represents. If so, what does it mean to indicate a start and end date of a statement?
>> 
>> To use a real life example discussed during Pilod [3] we have multiple conflicting source of information:
>> 
>> Tax office records show Alice and Bob were married from 2010-03-01 to 2014-01-01.
>> 
> 
> The Tax Office statements (recording this event) exist in a document created at a point in time. The document in question is comprised of RDF statements. Each statement was also made at a point in time. Collectively they provide a temporal "context lens" relating to the observations (RDF statements) captured in the aformentioned document. 
> 
>> Local council records show Alice and Bob were married from 2001-03-01 to 2014-10-10.
>> 
> 
> Local Council statements (recording this event) exist in a document created at a point in time. This document is independent of the Tax Office document. 
> 
>> This probably requires a mix of different modelling techniques and there's no right or wrong way to do it.
>> 
> 
> What would you do in the real-world today? You (the relevant offices, or the marriage relation participants) would reconcile these two documents. 
> 
> RDF Reification provides a good foundation for these issues, you can extend the vocabulary to enhance context-fidelity (across various axis), if need be [1][2].
> 
> 
> [1] http://www.openlinksw.com/c/9DQD6HLX -- OpenLink Statement 
> [2] http://www.openlinksw.com/c/9HWIJM -- Statement (which extends rdf:Statement) 
> 
> Kingsley 
>> [3] http://www.pilod.nl/
>> 
>>> 
>>> Some examples: 
>>> 
>>> [1] http://bit.ly/utterances-since-sept-11-2014 -- List of statements made from a point in time. 
>>> [2] http://linkeddata.uriburner.com/c/8EPG33 -- About Connotation
>> These are great examples of using RDF reification, good stuff!
>> It's really clear that here you are capturing additonal (meta)data about who made the statement, when, etc.
>>  
>> John
>>> 
>>> -- 
>>> Regards,
>>> 
>>> Kingsley Idehen       
>>> Founder & CEO 
>>> OpenLink Software     
>>> Company Web: 
>>> http://www.openlinksw.com
>>> 
>>> Personal Weblog 1: 
>>> http://kidehen.blogspot.com
>>> 
>>> Personal Weblog 2: 
>>> http://www.openlinksw.com/blog/~kidehen
>>> 
>>> Twitter Profile: 
>>> https://twitter.com/kidehen
>>> 
>>> Google+ Profile: 
>>> https://plus.google.com/+KingsleyIdehen/about
>>> 
>>> LinkedIn Profile: 
>>> http://www.linkedin.com/in/kidehen
>>> 
>>> Personal WebID: 
>>> http://kingsley.idehen.net/dataspace/person/kidehen#this
>> 
>>  
> 
> 
> -- 
> Regards,
> 
> Kingsley Idehen	      
> Founder & CEO 
> OpenLink Software     
> Company Web: 
> http://www.openlinksw.com
> 
> Personal Weblog 1: 
> http://kidehen.blogspot.com
> 
> Personal Weblog 2: 
> http://www.openlinksw.com/blog/~kidehen
> 
> Twitter Profile: 
> https://twitter.com/kidehen
> 
> Google+ Profile: 
> https://plus.google.com/+KingsleyIdehen/about
> 
> LinkedIn Profile: 
> http://www.linkedin.com/in/kidehen
> 
> Personal WebID: 
> http://kingsley.idehen.net/dataspace/person/kidehen#this

------------------------------------------------------------
IHMC                                     (850)434 8903 home
40 South Alcaniz St.            (850)202 4416   office
Pensacola                            (850)202 4440   fax
FL 32502                              (850)291 0667   mobile (preferred)
phayes@ihmc.us       http://www.ihmc.us/users/phayes

Received on Friday, 17 October 2014 04:00:55 UTC