ecolabdata / ecospheres

Portail des données de la transition écologique et de la cohésion des territoires
https://ecologie.data.gouv.fr
2 stars 0 forks source link

Point de contact manquant dans certains jdd GéoIDE #455

Open streino opened 1 week ago

streino commented 1 week ago

D'après le dashboard, certaines DDT on une proportion de fiches non négligeables sans point de contact, ex DDT 49. Hors il semble que ces fiches contiennent bien un point de contact. Ça devrait en tous cas être le cas dans la mesure où Géo-IDE gère automatiquement cette information, donc les ADL n'ont pas la main dessus.

abulte commented 2 days ago

Exemple de fiche avec contact point détecté http://catalogue.geo-ide.developpement-durable.gouv.fr/catalogue/srv/fre/catalog.search#/metadata/fr-120066022-jdd-8c75bd41-81ac-4623-8d06-3f15c40538c1

Exemple de fiche sans contact détecté http://catalogue.geo-ide.developpement-durable.gouv.fr/catalogue/srv/fre/catalog.search#/metadata/fr-120066022-jdd-193999f4-3f05-4a2b-8730-dc8dbb1bc2e3

Il semble donc que ce soit la présence d'informations de contacts autres que strictement "Point de contact" sur les métadonnées qui pose problème.

Confirmé sur deux autres fiches tirées au hasard.

Je ne suis pas expert de la lecture de XML ISO, mais il semblerait que dans le cas OK on ait `

pointOfContact ` dans un `gmd:pointOfContact`, ce qui n'est pas le cas quand KO (ce sont les autres rôles qui y sont). En revanche dans les deux cas on a bien `gmd:contact` avec le `pointOfContact` qui a l'air bon dedans, mais pas pris en compte par le XSL semic ? (a priori confirmé par une recherche rapide) @streino je te laisse la balle, sauf si tu veux que je creuse un truc.
streino commented 1 day ago

Après passage du XSLT SEMIC :

http://catalogue.geo-ide.developpement-durable.gouv.fr/catalogue/srv/fre/catalog.search#/metadata/fr-120066022-jdd-8c75bd41-81ac-4623-8d06-3f15c40538c1

<rdf:Description>
  <foaf:isPrimaryTopicOf>
    <rdf:Description>
      ...
      <dcat:contactPoint>
        <rdf:Description>
          <rdf:type rdf:resource="http://www.w3.org/2006/vcard/ns#Organization"/>
          <vcard:fn xml:lang="fr">DDT 49 (Direction Départementale des Territoires de Maine-et-Loire)</vcard:fn>
          ...
        </rdf:Description>
      </dcat:contactPoint>
      ...
    </rdf:Description>
  </foaf:isPrimaryTopicOf>
  ...
  <dcat:contactPoint>
    <rdf:Description>
      <rdf:type rdf:resource="http://www.w3.org/2006/vcard/ns#Organization"/>
      <vcard:fn xml:lang="fr">DDT 49 (Direction Départementale des Territoires de Maine-et-Loire)</vcard:fn>
      ...
    </rdf:Description>
  </dcat:contactPoint>
  ...
</rdf:Description>

http://catalogue.geo-ide.developpement-durable.gouv.fr/catalogue/srv/fre/catalog.search#/metadata/fr-120066022-jdd-193999f4-3f05-4a2b-8730-dc8dbb1bc2e3

<rdf:Description>
  <foaf:isPrimaryTopicOf>
    <rdf:Description>
      <dcat:contactPoint>
        <rdf:Description>
          <rdf:type rdf:resource="http://www.w3.org/2006/vcard/ns#Organization"/>
          <vcard:fn xml:lang="fr">DDT 49 (Direction Départementale des Territoires de Maine-et-Loire)</vcard:fn>
          ...
        </rdf:Description>
      </dcat:contactPoint>
      ...
    </rdf:Description>
  </foaf:isPrimaryTopicOf>
  ...
</rdf:Description>

Le XSLT SEMIC a l'air OK :

@maudetes, contact_point sur data.gouv est sensé avoir quelle sémantique ?

abulte commented 1 day ago

Ce serait le nesting dans isPrimaryTopicOf qui pose problème (premier cas OK, 2e cas KO dans le commentaire ci-dessus) ? A priori rien ne permet de gérer ça dans https://github.com/opendatateam/udata/blob/6a72398550726d92ade7b1dd5498e0b4a23c0b29/udata/rdf.py#L297.

streino commented 1 day ago

Ce serait le nesting dans isPrimaryTopicOf qui pose problème (premier cas OK, 2e cas KO dans le commentaire ci-dessus) ? A priori rien ne permet de gérer ça dans https://github.com/opendatateam/udata/blob/6a72398550726d92ade7b1dd5498e0b4a23c0b29/udata/rdf.py#L297.

C'est pas vraiment que ça pose problème, mais dct:contactPoint ne veut pas "dire la même chose" selon qu'il est dans le isPrimaryTopicOf (et donc concerne le CatalogRecord, ie les métadonnées) ou directement dans le root (et donc concerne le Dataset ie les données).

La question pour @maudetes c'est donc est-ce que c'est intentionnel (contact_point parle bien du point de contact des données) ou une erreur de branchement ?

maudetes commented 1 day ago

Le point de contact utilisé aujourd'hui est celui des données. Donc en effet, on moissonne le DCAT.contactPoint associé au dataset. Si on veut aller vers le support de multiples parties prenantes typées (ex publisher, creator, etc.), on pourrait éventuellement rajouter une notion de point de contact de la métadonnée, mais ce n'est pas la notion actuelle.