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
Regards,
John Walker
Principal Consultant & co-founder
Semaku B.V.
SFJ 4.009, Torenallee 20, 5617 BC Eindhoven
Mobile: +31 6 475 22030
Email: [email protected]
Skype: jaw111
KvK: 58031405
BTW: NL852842156B01
IBAN: NL94 INGB 0008 3219 95
On October 13, 2014 at 1:54 PM Frans Knibbe | Geodan
<[email protected]> wrote:
Hello!
I wonder if a way of recording changes in properties of resources can
be recommended. Many resources in real life have properties that have
a time range of being valid. In some datasets, only the current (or
most recent) state of a resource is stored, but in many cases it is
important to keep track of the history of development of a resource.
An example:
:john_smith
a foaf:person ;
foaf:name "John Smith" ;
Let's say that on 2013-09-27 John Smith marries Betty Jones. John
Smith is still the same person, so it makes sense to extend the same
resource, not create a new version:
:john_smith
a foaf:person ;
foaf:name “John Smith” ;
ex:marriedTo :betty_jones ;
How could I efficiently express the fact that the statement
:john_smith ex:marriedTo :betty_jones is valid from 2013-09-27? And
if the couple divorces, that the property has expired after a certain
date? It would be nice if the way of modelling makes it easy to
request the most recent state of a resource, any historical state, or
a list of changes during a time period.
A quick web scan on the subject revealed some interesting research
papers, but as far as I can tell all solutions need extensions of RDF
and/or SPARQL to work.
Perhaps this question is really about the ability to make statements
about a triple? Which is a problem for which no satisfactory solution
has been found yet?
Regards,
Frans
------------------------------------------------------------------------
Frans Knibbe
Geodan
President Kennedylaan 1
1079 MB Amsterdam (NL)
T +31 (0)20 - 5711 347
E [email protected] <mailto:[email protected]>
www.geodan.nl <http://www.geodan.nl> | disclaimer
<http://www.geodan.nl/disclaimer>
------------------------------------------------------------------------
------------------------------------------------------------------------
Frans Knibbe
Geodan
President Kennedylaan 1
1079 MB Amsterdam (NL)
T +31 (0)20 - 5711 347
E [email protected]
www.geodan.nl <http://www.geodan.nl> | disclaimer
<http://www.geodan.nl/disclaimer>
------------------------------------------------------------------------