Crear relaciones entre recursos
En este tema
Crear relaciones entre recursos
En la página Detalles de un recurso, hay un vínculo para ver las relaciones que el recurso tiene con otros recursos en el catalogo del geoportal. El mecanismo para definir las relaciones entre los recursos es a través de los metadatos del recurso mismo.
La sintaxis para definir el árbol de relación es similar a la sintaxis que se usa para definir los nodos en el árbol de la pestaña Examinar, pero en vez de definir los filtros REST para los criterios de búsqueda específicos, se definen los filtros para relaciones. Este tema describe cómo definir estos filtros y cómo preparar los metadatos para que incluyan elementos que permitan relaciones entre los recursos.
Definición de relaciones
Aunque es posible configurar una solicitud de búsqueda REST para cada nodo de relación, el mecanismo de relación de los recursos se diseña principalmente para buscar recursos que tengan una propiedad determinada que coincida con una propiedad específica del recurso seleccionado. Esto difiere de la sintaxis de consulta de la pestaña Examinar, en la que la consulta REST de searchText no se usa, pero en su lugar se usa una consulta para la relación específica.
La estructura de exploración para ver las relaciones del recurso se define en el archivo \\geoportal\WEB-INF\classes\gpt\search\browse\browse-resource.xml. Abra este archivo y verá las definiciones para los nodos que aparecen en el árbol Recurso de la página Relación. Cada nodo tiene una etiqueta <query> asociada con éste y es en esta etiqueta <query> que se define la búsqueda de una relación. La consulta dentro de la etiqueta <query> consta de tres partes:
- urn:esri:geoportal:browse:resourceRelationship: significa que la consulta dependerá de una propiedad del recurso seleccionado y una propiedad de los recursos relacionados.
- <property-meaning for selected resource> indica el significado de propiedad del recurso seleccionado que se usa para establecer el valor de coincidencia de la búsqueda.
- <property-meaning for related resources> indica el property-meaning contra el que los recursos relacionados deben coincidir con el valor de búsqueda.
Nota:
Los significados de propiedad se encuentran en el archivo property-meanings.xml en la carpeta \\geoportal\WEB-INF\classes\gpt\metadata.
Por ejemplo, la segunda etiqueta <query> en el archivo predeterminado browse-resource.xml define la relación usedBy, lo que por lo general se usa con servicios que funcionan en los datasets especificados. Dentro de la etiqueta <query>, verá la siguiente cadena de caracteres:
urn:esri:geoportal:browse:resourceRelationship:apiso.ResourceIdentifier-apiso.OperatesOn
La consulta expresa una búsqueda de recursos que tengan la propiedad apiso.OperatesOn que coincida con el valor de la propiedad apiso.ResourceIdentifier del recurso seleccionado.
Por ejemplo, considere los siguientes dos registros de metadatos de INSPIRE, Ejemplo A y Ejemplo B. El Ejemplo A tiene la propiedad apiso.ResourceIdentifier establecida en {FC784D97-30F7-4AB0-A9EA-A690D43E1295}. El Ejemplo B tiene la propiedad apiso.OperatesOn establecida en el mismo valor. En estas circunstancias, los recursos relacionados con el Ejemplo A de acuerdo con una relación "usedBy" incluirían el Ejemplo B:
Ejemplo A | Ejemplo 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 > |
Así mismo, es posible implementar relaciones basadas en el hecho que el recurso tiene el mismo valor en un campo determinado (p. ej. título, tipo de contenido).