w3c / w3c-api

The W3C API
https://w3c.github.io/w3c-api/
214 stars 92 forks source link

API doesn't version-less shortnames for leveled specifications #96

Closed deniak closed 4 years ago

deniak commented 4 years ago

We rely on the shortnames to serve the specifications (/specifications/{shortname}) and at the moment, a specification is mapped to one and only one shortname. This is causing an issue when there's a shortname change or when we have to handle version-less shortnames, eg. hr-time, hr-time-1 and hr-time-2. Discussing with @vivienlacourba and @plehegar, we need a way to redirect a specific shortname to another one, eg /specifications/hr-time/specifications/hr-time-2, to make it consistent with what the WG decides.

/cc @tidoust @jean-gui

plehegar commented 4 years ago

To be clear, a WG decides to redirect to latest or upcoming. For webperf, they picked upcoming. In the case of pointer events, they picked latest. We could choose to represent this type of redirect at the API level as well.

plehegar commented 4 years ago

Btw, this would mean fixing the latest link in our API and introducing /specifications/{shortname}/versions/upcoming

plehegar commented 4 years ago

An other one: https://api.w3.org/specifications-by-shortname/hr-time returns "hr-time-2", "hr-time-3".

It doesn't return "hr-time" (which is wrongly superseded) but it returns hr-time-3 (which is Retired).

Once the fix is done. I think it should return one of: 1- "hr-time", "hr-time-2" 2- "hr-time", "hr-time-1", "hr-time-2", "hr-time-3"

(I prefer option 1)

deniak commented 4 years ago

The new version of the API has just been released. @riccardoAlbertoni does it solve the issue with vocab-dcat?

andrea-perego commented 3 years ago

Sorry for the belated feedback, @deniak , but this does not fix the issue with vocab-dcat.

SpecRef still returns the old entry, but with the publication date of vocab-dcat-2 (2 Feb 2020).

See: https://api.specref.org/bibrefs?refs=vocab-dcat

{
   "vocab-dcat":{
      "authors":[
         "Fadi Maali",
         "John Erickson"
      ],
      "href":"https://www.w3.org/TR/vocab-dcat/",
      "title":"Data Catalog Vocabulary (DCAT)",
      "status":"REC",
      "publisher":"W3C",
      "deliveredBy":[
         {
            "url":"https://www.w3.org/2011/gld/",
            "shortname":"gld"
         }
      ],
      "versions":[
         "vocab-dcat-20200204",
         "vocab-dcat-20140116",
         "vocab-dcat-20131217",
         "vocab-dcat-20131105",
         "vocab-dcat-20130801",
         "vocab-dcat-20130312",
         "vocab-dcat-20120405"
      ],
      "obsoletedBy":[
         "vocab-dcat-2"
      ],
      "id":"vocab-dcat",
      "date":"4 February 2020"
   }
}
deniak commented 3 years ago

I submitted a PR to specref: https://github.com/tobie/specref/pull/635. Hopefully this will fix the issue for vocab-dcat

andrea-perego commented 3 years ago

Thanks, @deniak . I see that the PR is yet to be merged.

Meanwhile, a related issue:

Following the use of https://www.w3.org/TR/vocab-dcat/ to point to the latest DCAT REC, the first REC has been made available at:

https://www.w3.org/TR/vocab-dcat-1/

However, I don't see it listed in https://www.w3.org/2002/01/tr-automation/tr.rdf

deniak commented 3 years ago

Following the use of https://www.w3.org/TR/vocab-dcat/ to point to the latest DCAT REC, the first REC has been made available at:

https://www.w3.org/TR/vocab-dcat-1/

However, I don't see it listed in https://www.w3.org/2002/01/tr-automation/tr.rdf

That's because vocab-decab-1 was never officially published under that shortname but since we have an inconsistency, I fixed the data so the new shortname appears in tr.rdf. That being said, you shouldn't rely on tr.rdf. We are in the process of deprecating it in favor of the W3C API.

andrea-perego commented 3 years ago

Thanks, @deniak . I was looking at tr.rdf as I supposed it is still used by SpecRef.