Reification, the ability to treat a relation as a resource, is very well understood (the difference between an N order logic and an N+1 order logic is covered in most first year logic courses) but not yet well implemented in RDF. Arbitrary levels of reification
(as implemented in Wolfram) are unlikely to be directly useful in many day-to-day library settings.
None-the-less defining library metadata in terms of piecewise-defined directed graphs is important for ease of understanding and broad consistent application. After all, if the first-order data is not of sufficient quality, all the logic in the world isn't going to fix that.
The motivation for mixing graph structures is well understood – viz “expressive power":
A more intensive commitment to graph structuring and subsequent operations on the structure is implied – one that is not supported by moments in this thread.
There are several points here:
a) SPARQL and other query languages let you search / query relationships in either direction.
b) Many vocabularies will have predefined OWL rules so that permit creatorOf can be automatically inferred from createdBy. (i.e. the reverse relationship has an explicit name)
c) Many vocabularies (implicitly or explicitly) have a preferred direction for the relationship (they might only define "creatorOf" or they might recommend implementers to use "creatorOf" and allow "createdBy" to be inferred when needed). This potentially reduces redundancy and increases clarity in data interchange.
d) Dates / Years are 'special' due to the complexity of different granularities of specification (sometimes it's a year of birth, sometimes it's an exact date, sometimes it's a time and date, sometimes the value is not in the Gregirian calendar, ...), but
broadly similar functionality is available.
On Apr 20, 2015, at 3:00 PM, Gordon, Bruce J. <[log in to unmask]> wrote:
Isn't that direction an inference?
Bruce J. GordonAudio EngineerAudio Preservation Services - a shared service of the Harvard LibraryHarvard UniversityCambridge, Massachusetts 02138U.S.Atel. +1(617) 495-1241fax +1(617) 496-4636
On Apr 20, 2015, at 2:54 PM, Kelley McGrath <[log in to unmask]> wrote:
This would seem to be a basic question, but I was asked the other day and I wasn't sure how to answer. Looking at a linked data graph that says that Hamlet - has creator - Shakespeare, there is an arrow pointing from Hamlet to Shakespeare. This person said they assumed that you can go the other way, too. Obviously Hamlet has creator Shakespeare logically implies that Shakespeare created Hamlet. However, the RDF statement has directionality so from a practical point of view, what happens when someone starts from Shakespeare rather than Hamlet? Is there some way for them to traverse the statement backwards or does the opposite statement need to be explicitly made (which would seem to create a nightmare for data maintenance)?
How about if the endpoint is a literal, say Shakespeare has birth year 1564? This would not seem to work backwards so maybe we should be making years into URIs so we can find all the 16th century dramatists or plays written in Elizabethan England.