Skip To Content

Créer des relations entre les ressources

Créer des relations entre les ressources

Sur la page Détails d’une ressource, un lien permet d’afficher les relations que possède la ressource avec d’autres ressources dans le catalogue du géoportail. La méthode de définition des relations entre les ressources passe par les métadonnées de la ressource elle-même.

La syntaxe de définition de l’arborescence des relations est similaire à celle utilisée pour définir les nœuds dans l’arborescence de l’onglet de navigation, mais au lieu de définir les filtres REST pour des critères de recherche spécifiques, des filtres sont définis pour les relations. Cette rubrique explique comment définir ces filtres et comment préparer les métadonnées de façon à ce qu’elles incluent des éléments qui autorisent des relations entre les ressources.

Définition des relations

Bien qu’il soit possible de configurer une requête de recherche REST pour chaque nœud de relation, la méthode des relations entre les ressources est principalement conçue pour rechercher des ressources dont une propriété donnée correspond à une propriété spécifique de la ressource sélectionnée. Cela est différent de la syntaxe de requête de l’onglet de navigation, car la requête REST searchText n’est pas utilisée. Une requête pour la relation spécifique est utilisée à la place.

La structure de navigation permettant d’afficher les relations des ressources est définie dans le fichier \\geoportal\WEB-INF\classes\gpt\search\browse\browse-resource.xml. Ouvrez ce fichier pour voir les définitions des nœuds dans l’arborescence Ressource de la page Relation. Chaque nœud possède une balise <query> associée. C’est dans cette balise <query> que la recherche d’une relation est définie. La requête au sein de la balise <query> se divise en trois parties :

  • urn:esri:geoportal:browse:resourceRelationship : signifie que la requête dépend à la fois d’une propriété de la ressource sélectionnée et d’une propriété des ressources associées.
  • <property-meaning pour la ressource sélectionnée> indique l’élément property-meaning de la ressource sélectionnée qui sert à définir la valeur correspondant à la recherche.
  • <property-meaning pour les ressources sélectionnées> indique l’élément property-meaning par rapport auquel les ressources associées doivent correspondre à la valeur de la recherche.
Remarque :

L’élément property-meanings disponible se trouve dans le fichier property-meanings.xml du dossier \\geoportal\WEB-INF\classes\gpt\metadata.

Par exemple, la deuxième balise <query> dans le fichier browse-resource.xml par défaut définit la relation usedBy, qui est généralement utilisée avec des services fonctionnant sur des jeux de données spécifiques. La chaîne suivante apparaît dans la balise <query> :

urn:esri:geoportal:browse:resourceRelationship:apiso.ResourceIdentifier-apiso.OperatesOn

La requête exprime une recherche de ressources dont la propriété apiso.OperatesOn correspond à la valeur de la propriété apiso.ResourceIdentifier de la ressource sélectionnée.

Prenons l’exemple des deux enregistrements de métadonnées INSPIRE suivants, Exemple A et Exemple B. La propriété apiso.ResourceIdentifier de l’exemple A est définie sur {FC784D97-30F7-4AB0-A9EA-A690D43E1295}. La propriété apiso.OperatesOn de l’exemple B est définie sur la même valeur. Dans ces circonstances, les ressources associées à Exemple A conformément à une relation "usedBy" inclut Exemple B :

Exemple AExemple B

< MD_Metadata xmlns =" http://www.isotc211.org/2005/gmd "
 xmlns:gco =" http://www.isotc211.org/2005/gco " 
xmlns:gmd = http://www.isotc211.org/2005/gmd …>
<…INSPIRE metadata for datasets..>
< identifier >
< MD_Identifier >
 < code >
< gco:CharacterString >
 {FC784D97-30F7-4AB0-A9EA-A690D43E1295} 
</ gco:CharacterString >
 </ code >
</ MD_Identifier >
</ identifier >
<…..>
</ MD_Metadata >

< MD_Metadata xmlns =" http://www.isotc211.org/2005/gmd " 
xmlns:gco =" http://www.isotc211.org/2005/gco " 
xmlns:gmd = 
http://www.isotc211.org/2005/gmd …>
<…INSPIRE metadata for services
..>
< srv:operatesOn xmlns:xlink =" http://www.w3.org/1999/xlink " 
uuidref =" {FC784D97-30F7-4AB0-A9EA-A690D43E1295} "/>
<…..>
</ MD_Metadata >

De même, il est possible d’implémenter des relations en s’appuyant sur le fait que la ressource a la même valeur dans un champ donné (par exemple, le titre ou le type de contenu).