Enable linking to different versions #1476

mfenner opened this Issue Jan 11, 2017 · 2 comments


None yet

2 participants

mfenner commented Jan 11, 2017

Many resources described by schema.org metadata have multiple versions, and this is particularly true for Dataset from science and other domains, and SoftwareSourceCode. The version property is helpful here, but the ability to link to different versions is also important.

There are two patterns with linking to different versions: a) parent/child (HasVersion/isVersionOf), which is probably a special case of the existing workExample/exampleOfWork and sibling (IsNewVersionOf/IsPreviousVersionOf). parent/child is probably the more important pattern, but isPreviousVersionOf is a nice way of signaling that the resource has been updated with a newer version available elsewhere.

What of course happens frequently is that a webpage is updated in place and earlier versions are not kept. version and dateModified may then be the only indicators that the webpage has changed.

darobin commented Jan 11, 2017

Hi Martin!

I'm not sure that exampleOfWork is the right point of comparison, predecessorOf and successorOf might be closer to what you have in mind? They're on the wrong class but they could be extended.

I think part of the problem is to avoid going crazy with full FRBR (it's tempting to have a Dataset being a specific version of a DataProject and having a DataDownload as its representation — but that becomes unwieldy fast).

This is partly related to #975, which it would be great to revive.

mfenner commented Jan 12, 2017

@darobin thanks for pointing me to predecessorOf and successorOf. That should wor. Maybe they can be added to the CreativeWork class.

I could use exampleOfWork to describe the relation between for example version 1.3 of piece of software with the generic description of that software, but IsVersionOf would probably be clearer. IsVersionOf/HasVersion is also part of Dublin Core and a well-understood concept.

And I agree with the risk of going crazy with FRBR.

Regarding #975, I think dependencies is another related, but different kind of relation between different resources. For datasets I think we frequently encounter the following three kinds of relations:

  • versioning, as described here
  • HasPart/IsPartOf, datasets beeing part of larger datasets (e.g. precipitation in Nairobi in May 2015 as part of precipitation in Nairobi since recording started)
  • citation relationships which come in different flavors, and I see dependencies as part of this group

While I understand dependencies for software, I am less sure for other relations, e.g. an article referencing a dataset. That dataset might be required to write the article, but that is sometimes difficult to say and I think the more generic citation works better.

Happy to help with a discussion around properties describing related resources for datasets beyond versioning.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment