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 <[email protected]> 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.htmlThank 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,FransFrans, 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
smime.p7s
Description: S/MIME Cryptographic Signature
