relaton / relaton-bipm

MIT License
2 stars 0 forks source link

BIPM CIPM RES 1 citation is unstable #55

Closed opoudjis closed 7 months ago

opoudjis commented 8 months ago

I include BIPM CIPM RES 1 in my metanorma-standoc test data. This reference is repeatedly switching with updates to relaton-bipm between pointing to an 1879 document, and pointing to a 1956 document, and has just done so again:

1879:

<uri type="citation" language="en" script="Latn">https://www.bipm.org/en/committees/ci/cipm/4-1879/resolution-</uri>
                <uri type="src" language="en" script="Latn">https://raw.githubusercontent.com/metanorma/bipm-data-outcomes/main/cipm/meetings-en/meeting-4.yml</uri>

1956:

<uri type="citation" language="en" script="Latn">https://www.bipm.org/en/committees/ci/cipm/46-1956/resolution-1</uri>
               <uri type="src" language="en" script="Latn">https://raw.githubusercontent.com/metanorma/bipm-data-outcomes/main/cipm/meetings-en/meeting-46.yml</uri>

This seems to indicate some kind of ambiguity, but it does need to be resolved.

andrew2net commented 8 months ago

@opoudjis I've tried relaton fetch "BIPM CIPM RES 1" and I always get a 1956 doc. Is there other way to reproduce this issue?

opoudjis commented 8 months ago

See, the problem is, it changes between different versions of relaton-bipm. To get 1879, just go back to last week's version of relaton-bipm (and, maybe, the database it is reading.) But this is an ongoing issue, of flipping between the 1879 and the 1956 document, which has happened on relaton-bipm update at least 3 times, and I'm asking for analysis of why it is happening. Is the 1879 document unnumbered, and sometimes that's treated as zero, sometimes as 1?

The 1956 document has:

resolutions:
- dates:
  - '1956-10-06'
  subject: CIPM
  type: resolution
  title: Definition of the unit of time (second)
  identifier: 1
  url: https://www.bipm.org/en/committees/ci/cipm/46-1956/resolution-1

The 1879 document has:

resolutions:
- dates:
  - '1879-10-13'
  subject: CIPM
  type: resolution
  title: Signes abréviatifs pour les poids et mesures métriques
  identifier: 1879
  url: https://www.bipm.org/en/committees/ci/cipm/4-1879/resolution-

Notice, not resolution-1, just resolution. The current implementation does not match it to CIPM RES 1, but the previous one did...

andrew2net commented 8 months ago

@opoudjis I tried relaton-bipm versions from 1.16.0 to the latest 1.16.3. Didn't get such an issue. Possible the source dataset was changed. Did you have these fluctuations during one day or did the docs flipping occur the day after previous flipping?

The URL url: https://www.bipm.org/en/committees/ci/cipm/4-1879/resolution- is as it is in the source dataset. The doc 1879 has no number (only year), so we should use reference format CIPM RES 1879-00

opoudjis commented 8 months ago

I haven't kept track of when this happened, I'm afraid, just that it keeps happening, and that it lasts for weeks before it flips.

OK, close the ticket for now, and if it comes back, I'll reopen.

opoudjis commented 8 months ago

Just happened again. This time, picking up a different document.

       -        <title format="text/plain" language="en" script="Latn">Definition of the unit of time (second)</title>
       -        <uri type="citation" language="en" script="Latn">https://www.bipm.org/en/committees/ci/cipm/46-1956/resolution-1</uri>
       -        <uri type="citation" language="fr" script="Latn">https://www.bipm.org/fr/committees/ci/cipm/46-1956/resolution-1</uri>
       -        <uri type="src" language="en" script="Latn">https://raw.githubusercontent.com/metanorma/bipm-data-outcomes/main/cipm/meetings-en/meeting-46.yml</uri>
       -        <uri type="src" language="fr" script="Latn">https://raw.githubusercontent.com/metanorma/bipm-data-outcomes/main/cipm/meetings-fr/meeting-46.yml</uri>
       -        <uri type="pdf">https://www.bipm.org/documents/20126/17315032/CIPM46.pdf/31124ce6-06d5-4981-7c93-a49484479053</uri>
       -        <docidentifier type="BIPM" primary="true">CIPM RES 1 (1956)</docidentifier>
       -        <docidentifier type="BIPM" primary="true" language="en" script="Latn">CIPM RES 1 (1956, E)</docidentifier>
       -        <docidentifier type="BIPM" primary="true" language="fr" script="Latn">CIPM RES 1 (1956, F)</docidentifier>
       -        <docidentifier type="BIPM-long" language="en" script="Latn">CIPM Resolution 1 (1956)</docidentifier>
       -        <docidentifier type="BIPM-long" language="fr" script="Latn">Résolution 1 du CIPM (1956)</docidentifier>
       -        <docidentifier type="BIPM-long">CIPM Resolution 1 (1956) / Résolution 1 du CIPM (1956)</docidentifier>
       -        <docnumber>CIPM RES 1 (1956)</docnumber>
       +        <title format="text/plain" language="en" script="Latn">Adoption of “degree Celsius”</title>
       +        <uri type="citation" language="en" script="Latn">https://www.bipm.org/en/committees/ci/cipm/42-1948/resolution-</uri>
       +        <uri type="citation" language="fr" script="Latn">https://www.bipm.org/fr/committees/ci/cipm/42-1948/resolution-</uri>
       +        <uri type="src" language="en" script="Latn">https://raw.githubusercontent.com/metanorma/bipm-data-outcomes/main/cipm/meetings-en/meeting-42.yml</uri>
       +        <uri type="src" language="fr" script="Latn">https://raw.githubusercontent.com/metanorma/bipm-data-outcomes/main/cipm/meetings-fr/meeting-42.yml</uri>
       +        <uri type="pdf">https://www.bipm.org/documents/20126/17315032/CIPM42.pdf/7f36bfaa-e84b-a7fa-650a-edf6c3de1b46</uri>
       +        <docidentifier type="BIPM" primary="true">CIPM RES (1948)</docidentifier>
       +        <docidentifier type="BIPM" primary="true" language="en" script="Latn">CIPM RES (1948, E)</docidentifier>
       +        <docidentifier type="BIPM" primary="true" language="fr" script="Latn">CIPM RES (1948, F)</docidentifier>
       +        <docidentifier type="BIPM-long" language="en" script="Latn">CIPM Resolution (1948)</docidentifier>
       +        <docidentifier type="BIPM-long" language="fr" script="Latn">Résolution du CIPM (1948)</docidentifier>
       +        <docidentifier type="BIPM-long">CIPM Resolution (1948) / Résolution du CIPM (1948)</docidentifier>
       +        <docnumber>CIPM RES (1948)</docnumber>
                <date type="published">
       -          <on>1956-10-06</on>
       +          <on>1948-10-22</on>
                </date>

And you have not released a new version since 5 days ago.

I don't know what is going on here, but this needs to stop. And this is, once again, picking up a resolution without an incremental number.

andrew2net commented 8 months ago

@opoudjis I don't remember why we needed to make the reference "CIPM RES 1 (1879)" match to "CIPM RES (1879)" ID, but this causes the ambiguity when we use reference "CIPM RES 1" without year.

Fixed it in v1.16.4. Now the reference "CIPM RES 1 (1879)" match to the "CIPM RES (1879)" ID, only if a year presents in reference.

opoudjis commented 7 months ago

It has happened again:

       -        <title format="text/plain" language="en" script="Latn">Definition of the unit of time (second)</title>
       -        <uri type="citation" language="en" script="Latn">https://www.bipm.org/en/committees/ci/cipm/46-1956/resolution-1</uri>
       -        <uri type="citation" language="fr" script="Latn">https://www.bipm.org/fr/committees/ci/cipm/46-1956/resolution-1</uri>
       -        <uri type="src" language="en" script="Latn">https://raw.githubusercontent.com/metanorma/bipm-data-outcomes/main/cipm/meetings-en/meeting-46.yml</uri>
       -        <uri type="src" language="fr" script="Latn">https://raw.githubusercontent.com/metanorma/bipm-data-outcomes/main/cipm/meetings-fr/meeting-46.yml</uri>
       -        <uri type="pdf">https://www.bipm.org/documents/20126/17315032/CIPM46.pdf/31124ce6-06d5-4981-7c93-a49484479053</uri>
       -        <docidentifier type="BIPM" primary="true">CIPM RES 1 (1956)</docidentifier>
       -        <docidentifier type="BIPM" primary="true" language="en" script="Latn">CIPM RES 1 (1956, E)</docidentifier>
       -        <docidentifier type="BIPM" primary="true" language="fr" script="Latn">CIPM RES 1 (1956, F)</docidentifier>
       -        <docidentifier type="BIPM-long" language="en" script="Latn">CIPM Resolution 1 (1956)</docidentifier>
       -        <docidentifier type="BIPM-long" language="fr" script="Latn">Résolution 1 du CIPM (1956)</docidentifier>
       -        <docidentifier type="BIPM-long">CIPM Resolution 1 (1956) / Résolution 1 du CIPM (1956)</docidentifier>
       -        <docnumber>CIPM RES 1 (1956)</docnumber>
       +        <title format="text/plain" language="en" script="Latn">Definitions of photometric units</title>
       +        <uri type="citation" language="en" script="Latn">https://www.bipm.org/en/committees/ci/cipm/41-1946/resolution-1</uri>
       +        <uri type="citation" language="fr" script="Latn">https://www.bipm.org/fr/committees/ci/cipm/41-1946/resolution-1</uri>
       +        <uri type="src" language="en" script="Latn">https://raw.githubusercontent.com/metanorma/bipm-data-outcomes/main/cipm/meetings-en/meeting-41.yml</uri>
       +        <uri type="src" language="fr" script="Latn">https://raw.githubusercontent.com/metanorma/bipm-data-outcomes/main/cipm/meetings-fr/meeting-41.yml</uri>
       +        <uri type="pdf">https://www.bipm.org/documents/20126/17315032/CIPM41.pdf/07357119-16e6-d078-01d0-7acbca5c4d14</uri>
       +        <docidentifier type="BIPM" primary="true">CIPM RES 1 (1946)</docidentifier>
       +        <docidentifier type="BIPM" primary="true" language="en" script="Latn">CIPM RES 1 (1946, E)</docidentifier>
       +        <docidentifier type="BIPM" primary="true" language="fr" script="Latn">CIPM RES 1 (1946, F)</docidentifier>
       +        <docidentifier type="BIPM-long" language="en" script="Latn">CIPM Resolution 1 (1946)</docidentifier>
       +        <docidentifier type="BIPM-long" language="fr" script="Latn">Résolution 1 du CIPM (1946)</docidentifier>
       +        <docidentifier type="BIPM-long">CIPM Resolution 1 (1946) / Résolution 1 du CIPM (1946)</docidentifier>
       +        <docnumber>CIPM RES 1 (1946)</docnumber>
                <date type="published">
       -          <on>1956-10-06</on>
       +          <on>1946-10-29</on>
                </date>

The query string is BIPM CIPM RES 1. Should I just not use that as a query string?

andrew2net commented 7 months ago

@opoudjis there are 2 BIPM CIPM RES 1 documents, one published in 1946 and another published in 1956. Shouldn't we get the latest publication in case a reference without year is used?

ronaldtse commented 7 months ago

@opoudjis there is an ambiguity in your query. BIPM CIPM RES 1 means "Resolution 1 at CIPM". However, there has been many CIPM meetings that contain a "Resolution 1".

To refer to the first/only Resolution from the 1879 CIPM, you need to use either:

opoudjis commented 7 months ago

I'm fine to rewrite the test query, but having a query that is not only ambiguous, but changes behaviour from release to release, is a bad thing. OK, I'm going with CIPM RES 1 (1879).

ronaldtse commented 7 months ago

query that is not only ambiguous

I suppose we should just disqualify such a query because it is ambiguous. Thoughts @andrew2net ?

andrew2net commented 7 months ago

@ronaldtse do you mean we shouldn't allow references without year?

ronaldtse commented 7 months ago

@andrew2net I think for items that are not referencing a particular object (such as a resolution, a standard, a standard series) we should not allow referencing. Maybe some definition is needed.