duraspace / pcdm

Portland Common Data Model
http://pcdm.org/models
Apache License 2.0
90 stars 9 forks source link

Removing the word 'master' from the Use and Works ontologies #73

Closed escowles closed 3 years ago

no-reply commented 3 years ago

💯 to this.

a few considerations before moving forward:

anarchivist commented 3 years ago

@no-reply 💬

changing URIs is tricky. are we happy to drop the older terms flatly, or is there a deprecation step needed?

great minds think alike 🙃

escowles commented 3 years ago

@no-reply @anarchivist Good point. A quick look at RDFS and OWL didn't turn up anything obvious, but I'll have time later today or early next week to dig in and see if there's a good way to deprecate the class before removing it outright.

no-reply commented 3 years ago

thanks @escowles.

OWL has owl:deprecated (with a boolean value). i can't speak to RDFS compatibility, though.

one option to consider is to retain the older term indefinitely with an owl:sameAs pointing to the new one.

anarchivist commented 3 years ago

it's a bit lighterweight, but this could be a case for dct:replaces/dct:isReplacedBy. i'd be more concerned about pointing from the old class to new one for PCDM users, rather than reasoning, etc.

awoods commented 3 years ago

Even though we are talking about a breaking change, the URL to the current version of the PCDM use ontology will still exist. Do we imagine actual application breakage with this change?

no-reply commented 3 years ago

wrt "term of art", i found:

the Stanford definitions seem closest to ours, but i think our "best quality" is quite a bit looser than any of these.

it seems to me like dropping "master" has the added benefit of avoiding the implications of these definitions.

escowles commented 3 years ago

Thanks for all the feedback on this. I wasn't able to find any good real-world examples, so I'm mostly just going off the comments here and the pretty thin examples in the OWL docs. I've pushed a new commit that is an all-of-the-above approach:

  1. Adds the old class linking to the new one with dcterms:isReplacedBy
  2. Adds owl:deprecated=true to the old class
  3. Adds an rdfs:comment saying the old class is deprecated
  4. Updates the new class to link to the old one with dcterms:replaces

I don't expect anyone to be doing reasoning with this ontology, so I would prioritize readability and clarity. If you think any of those four items muddies things more than clarifies, please let me know.

no-reply commented 3 years ago

Even though we are talking about a breaking change, the URL to the current version of the PCDM use ontology will still exist. Do we imagine actual application breakage with this change?

i think without the deprecation, updating an app to point to load the newer vocabulary version would require a data migration. the latest version offers support for a rolling update of existing references. which might lower the bar for adoption of the new term.

awoods commented 3 years ago

Per the PCDM Committers Process, I believe we need one more vote of approval, and a wait period of 7 days from today.

In the likely case of a merge, I will plan on publishing the new versions and updating the redirects:

anarchivist commented 3 years ago

@awoods 👍 from me. I propose that we send a note to the PCDM list about the PR to share information about the change; that message may also include info about a deprecation and proposed timeline to remove.

escowles commented 3 years ago

I've posted to the PCDM Google Group that this PR exists and the merging timeline. I proposed leaving the deprecated term in the ontology for a year before removal, given how slow-moving they are.

awoods commented 3 years ago

Thanks, @escowles . For the record, here is a link to your email message to PCDM-community.

escowles commented 3 years ago

@awoods Can you update the website when you have a chance? Thanks!

awoods commented 3 years ago

@escowles : website updated: https://pcdm.org/

escowles commented 3 years ago

@awoods Thanks! Sorry to say, I immediately noticed something I didn't update: https://github.com/duraspace/pcdm/pull/74