tdwg / vocab

Vocabulary Maintenance Specification Task Group + SDS + VMS
11 stars 6 forks source link

Specify a model for deprecating vocabularies #17

Closed baskaufs closed 8 years ago

baskaufs commented 9 years ago

The TDWG Ontologies provides examples of vocabularies that are no longer under development or that are no longer recommended for use. It occurs to me that the maintenance spec should describe a process for deprecating such vocabularies and the documentation standard should specify a graceful way of indicating the deprecation in the RDF without breaking existing applications (i.e. URIs should still dereference, but the metadata should allow a semantic client to learn of the deprecation). There is some suggested language for this in Section 2.6.1 of the VoMaG report regarding the fate of the TDWG Ontologies. I'm going to implement these suggestions on ontology documents and try to get some feedback from the RDF/OWL Task Group about whether they follow best practices. See the TDWG Ontologies issues tracker for what's going on.

baskaufs commented 9 years ago

I have finished marking up the TDWG Ontology documents to indicate their deprecation. Here is the diff showing what I did. Points:

  1. I updated dcterms:modified and incremented the version number so it would be possible to know that the deprecated version is more recent.
  2. I used an owl:deprecated property for the ontology itself to indicate to semantic clients that the ontology was deprecated.
  3. I used an rdfs:comment property to indicate to humans that the ontology was no longer under development and to suggest a place to look for a replacement.
  4. I used an rdfs:seeAlso property to let a semantic client follow its nose to an rdf document that might contain information about the replacement vocabulary. The VoMaG Report recommended including this information within the ontology document itself, but since for many ontologies I'm not sure what the recommended replacement should be, I put it in a separate document that could be managed and updated more easily. That document is https://raw.githubusercontent.com/tdwg/ontology/master/replacements.rdf and uses dcterms:isReplacedBy as a property of the ontology to indicate the replacement vocabulary. Right now it's a stub, but hopefully in the future suggestions can be included for all of the vocabularies.

This is the approach that made sense to me and it may serve as a springboard for discussion of a formal recommendation.

The situation was more complicated for deprecating particular .owl documents that duplicated information in other .rdf documents. See the diff here. In this case, I did not want to actually deprecate the ontology, just the document. So I created a description of the .owl document, linked it to the ontology using dcterms:references, then deprecated the .owl document itself. In this case, I specifically indicated in the .owl document itself using dcterms:isReplacedBy that the .rdf version of the document was a replacement for the .owl document.

sblum commented 9 years ago

Thanks, Steve. This all looks very reasonable to me.

I'm still trying to catch up with the background, as I'm getting pressed into service to help prepare for this year's meeting.

Thank you for keeping the fire burning,

-Stan

From: Steve Baskauf notifications@github.com<mailto:notifications@github.com> Reply-To: tdwg/vocab reply@reply.github.com<mailto:reply@reply.github.com> Date: Wednesday, July 1, 2015 at 10:27 AM To: tdwg/vocab vocab@noreply.github.com<mailto:vocab@noreply.github.com> Subject: Re: [vocab] Specify a model for deprecating vocabularies (#17)

I have finished marking up the TDWG Ontology documents to indicate their deprecation. Here is the diffhttps://github.com/tdwg/ontology/commit/269406d539aca780656fcdeee841860d12026dca?diff=split showing what I did. Points:

  1. I updated dcterms:modified and incremented the version number so it would be possible to know that the deprecated version is more recent.
  2. I used an owl:deprecated property for the ontology itself to indicate to semantic clients that the ontology was deprecated.
  3. I used an rdfs:comment property to indicate to humans that the ontology was no longer under development and to suggest a place to look for a replacement.
  4. I used an rdfs:seeAlso property to let a semantic client follow its nose to an rdf document that might contain information about the replacement vocabulary. The VoMaG Report recommended including this information within the ontology document itself, but since for many ontologies I'm not sure what the recommended replacement should be, I put it in a separate document that could be managed and updated more easily. That document is https://raw.githubusercontent.com/tdwg/ontology/master/replacements.rdf and uses dcterms:isReplacedBy as a property of the ontology to indicate the replacement vocabulary. Right now it's a stub, but hopefully in the future suggestions can be included for all of the vocabularies.

This is the approach that made sense to me and it may serve as a springboard for discussion of a formal recommendation.

The situation was more complicated for deprecating particular .owl documents that duplicated information in other .rdf documents. See the diff herehttps://github.com/tdwg/ontology/commit/8d7e72fcd215ba410ba3d0ba21ec23d1d01e6857. In this case, I did not want to actually deprecate the ontology, just the document. So I created a description of the .owl document, linked it to the ontology using dcterms:references, then deprecated the .owl document itself. In this case, I specifically indicated in the .owl document itself using dcterms:isReplacedBy that the .rdf version of the document was a replacement for the .owl document.

— Reply to this email directly or view it on GitHubhttps://github.com/tdwg/vocab/issues/17#issuecomment-117758058.

baskaufs commented 8 years ago

This has been incorporated in the draft Documentation Specification.