Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Améliorer le parsing de la fréquence DCAT et le retour d'erreur le cas échéant #986

Closed
maudetes opened this issue Nov 22, 2022 · 4 comments
Labels
Code quality Indique qu'il s'agit d'une amélioration de la qualité du code (au sens très large) Moissonnage Indique que le sujet touche au moissonnage Nettoyage ?

Comments

@maudetes
Copy link
Contributor

maudetes commented Nov 22, 2022

Deux cas de valeurs qui retournent des erreurs :

  • annuel ou quotidienne
    Avec l'erreur suivante:
    Image

  • https://publications.europa.eu/resource/authority/frequency/ANNUAL
    retourne une 500

Il faudrait dans l'idéale retourner une erreur plus explicite pour le premier cas, et ne pas crasher avec une 500 dans le second.

@maudetes maudetes added Moissonnage Indique que le sujet touche au moissonnage Code quality Indique qu'il s'agit d'une amélioration de la qualité du code (au sens très large) labels Nov 22, 2022
@maudetes
Copy link
Contributor Author

maudetes commented Nov 22, 2022

Première analyse:

  • Dans le premier cas, l'erreur a lieu car annuel est traité comme une URIRef, ce qu'elle n'est pas. Exemple de reproduction: <dct:accrualPeriodicity rdf:resource="annuel"/>. Il s'agit donc d'une erreur sur l'exposition de cette métadonnée dans le catalogue moissonné.
  • Dans le second cas, l'erreur a lieu car l'URI utilisée est en https et non pas http que nous supportons. Exemple de reproduction: <dct:accrualPeriodicity rdf:resource="https://publications.europa.eu/resource/authority/frequency/ANNUAL"/>

Il faudrait donc améliorer la résilience ou le retour d'erreur de la partie namespace_manager.compute_qname(term) qui est appelé dans ces deux cas.

@maudetes
Copy link
Contributor Author

Autre exemple en échec sur lequel enquêter:

<dcterms:accrualPeriodicity>
  <dcterms:Frequency rdf:about="http://publications.europa.eu/resource/authority/frequency/annual">
    <rdf:type rdf:resource="http://purl.org/dc/terms/Frequency"/>
  </dcterms:Frequency>
</dcterms:accrualPeriodicity>

@maudetes
Copy link
Contributor Author

Sur l'exemple précédent, l'erreur vient de la référence RDF qui est incorrecte. Elle devrait être http://publications.europa.eu/resource/authority/frequency/ANNUAL avec la fréquence ANNUAL en majuscule.

@maudetes
Copy link
Contributor Author

La plupart des cas d'erreurs sont le cas de RDF mal construits.
La détection de la fréquence est plus résiliente qu'avant (#766, opendatateam/udata#2883), je pense qu'on peut clore ce ticket.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Code quality Indique qu'il s'agit d'une amélioration de la qualité du code (au sens très large) Moissonnage Indique que le sujet touche au moissonnage Nettoyage ?
Projects
None yet
Development

No branches or pull requests

2 participants