Re: How to model valid time of resource properties?

Hi


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

Personally I would not use this approach for foaf:age and foaf:based_near as
these capture a certain snapshot/state of (the information about) a resource.
Having some representation where the foaf:age triple could be entailed could
lead to having multiple conflicting statements with no easy way to find the
truth.

Having a clear understanding of the questions you want to ask of your knowledge
base should help steer modelling choices.

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

If you want to be able to capture historical states of a resource, using named
graphs to provide that context would be my first thought.

If that resource consists of just one triple, then RDF reification of that
statement would also work as Kingsley mentions.

> 
>      > >      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 :)
> 
>  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
> 
> 
>  --
>  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 Wednesday, 15 October 2014 22:23:13 UTC