Re: How to model valid time of resource properties?

On 10/16/14 8:00 AM, Kingsley Idehen 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 

Fixing the references above, for sake of clarity.

I meant to say:  RDF Reification provides a good foundation for these 
issues, you can extend the vocabulary to enhance context-fidelity 
(across various axis), if need be [2][3].

Links:

[1] http://bit.ly/understanding-data-relationships-section -- Relationships
[2] http://www.openlinksw.com/c/9DQD6HLX -- OpenLink Statement 
Reification Ontology
[3] http://www.openlinksw.com/c/9HWIJM -- Definition of a Statement 
(which extends rdf:Statement)

-- 
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

Received on Thursday, 16 October 2014 12:45:29 UTC