Skip to main content
ExLibris
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    Configurar reglas de normalización para Primo VE

    Volver al menú

    Las reglas de normalización definen transformaciones que se aplican a registros de fuentes externas (DC o XML genérico) para crear los registros de Dublin Core expandidos de Primo VE para el descubrimiento. Se pueden crear las propias reglas de normalización y aplicarlas a los registros cargados externamente.

    Para obtener información sobre cómo crear reglas de normalización para registros Marc21 desde fuentes externas, véase Trabajar con reglas de normalización.

    Usar el esquema DC expandido

    El esquema expandido Dublin Core de Primo VE incluye campos de descubrimiento adicionales que se pueden rellenar según sea necesario usando reglas de normalización. Los siguientes campos son compatibles con el esquema DC expandido:

    • discovery.resourceType – Estos campos mantienen los tipos de recursos que se muestran en Primo, que pueden ser diferentes a los valores en los campos dc:type y dcterms:type que se cargan desde los registros externos. Para más información, véase Mapear tipos de recursos desde fuentes de datos externas.

    • discovery.local1 hasta discovery.local50 – Estos campos contienen información adicional que puede usar para mostrar información adicional desde la fuente y también para usarla como un índice de búsqueda. Para más información, véase Mapear a campos de descubrimiento locales.

    Mapear Tipos de recurso desde fuentes de datos externas

    Debido a que los valores de los tipos de recursos Dublin Core pueden ser cualquier cosa y pueden no coincidir con los códigos admitidos que se usan en Primo VE, puede ser necesario mapear el tipo de recurso desde el campo dc:type o dcterms:type del registro fuente para un código de tipo de recurso admitido en Primo VE (véase Tipos de recurso admitidos en Primo VE) o para un tipo de recurso local definido en Primo VE (véase Configurar tipos de recursos locales para Primo VE).

    Se puede usar cualquiera de los siguientes métodos para mapear los tipos de recursos a Primo VE:

    • Crear reglas de normalización que sustituyen el valor del campo dc:type o dcterms:type correspondiente.

    • Crear reglas de normalización que mapean un valor de tipo de recurso al campo discovery:resourceType y dejan el campo DC original tal como está.

    • Añadir mapeos de tipos de recursos a la tabla de mapeo Mapear tipo Dublin Core a tipo Descubrimiento. Para más información, véase Usar la tabla de mapeo para mapear tipos de recursos.

    Primo VE determina el tipo de recurso de un registro en base a la existencia de los siguientes campos en orden:

    1. Campo discovery:resourceType

    2. Campo dcterms:type

    3. Campo dc:type

    Si el procesamiento continúa a los ejemplares 2 y 3, el sistema compara el valor de un ejemplar con los mapeos en la tabla de mapeo Mapear tipo Dublin Core a tipo Descubrimiento. Si se encuentra una coincidencia, el valor coincidente en la tabla de mapeo se usa y se guarda en el campo discovery:resourceType. Si no se encuentra ninguna coincidencia y la tabla de mapeo tiene un valor por defecto, se usará el valor por defecto. En caso contrario, el sistema usará el valor del campo DC tal cual.

    Ejemplos

    Para más información sobre crear reglas de normalización, véase Crear reglas de normalización.

    El siguiente ejemplo mapea el tipo de recurso de Procedimientos en dc:type a un código admitido en Primo VE.

    Se pueden mapear distintos tipos de recursos en la fuente (tales como Póster y Fotografía) al mismo tipo de recurso (tal como imagen) en Primo VE.


    regla "desde dc:type A hasta discovery:type B"

    cuando

    "dc"."type" es igual a "Procedimientos"

    entonces

    configurar "conference_proceedings" en "discovery"."resourceType"

    fin


    El siguiente ejemplo mapea el tipo de recurso LibGuides en dcterms:type a un nuevo tipo de recurso local que tiene que definirse en Primo VE.

    Si el tipo de recurso local se ha definido como LibGuides en Primo VE, la siguiente regla de normalización no sería necesaria, y el sistema simplemente usaría el tipo de recurso que fue mapeado a dcterms:type en Primo VE.


    regla "desde dcterms:type A hasta discovery:type B"

    cuando

    "dcterms"."type" es igual a "LibGuides"

    entonces

    configurar "library_guides" en "disvovery"."resourceType"

    fin


    Tipos de recursos admitidos en Primo VE

    La tabla a continuación enumera los códigos de tipos de recursos admitidos por Primo VE. Se tendrán que mapear los valores de su fuente a uno de los códigos admitidos o a un tipo de recurso local (si es necesario). Para más información sobre crear tipos de recursos locales, véase Configurar Tipos de recursos locales para Primo VE.

    Tipos de recursos admitidos en Primo VE

    Código de tipo de recurso

    Mostrar nombre

    bases de datos

    Base de datos

    audios

    Audio

    periódicos

    Periódico

    manuscritos

    Manuscrito

    conferencia_procedimientos

    Procedimiento de la conferencia

    disertaciones

    Disertación

    kits

    Kit

    otro

    Otro

    materiales_de archivo

    Material de archivo

    realia

    Realia

    libros

    Libro

    libro_capítulos

    Capítulo Libro

    colecciones

    Colección

    documentos_legales

    Documento legal

    patentes

    Patente

    referencia_entradas

    Entrada de referencia

    investigación_conjuntos de datos

    Conjunto de datos de investigación

    reseñas

    Reseña

    conjuntos_datos_estadísticos

    Conjunto de datos estadísticos

    informes_técnicos

    Informe técnico

    revistas

    Revista

    periódico_artículos

    Artículos de periódico

    artículos

    Artículo

    texto_recursos

    Recurso de texto

    documentos_oficiales

    Documento oficial

    imágenes

    Imagen

    mapas

    Mapa

    vídeos

    Vídeo

    puntuaciones

    Puntuación

    sitios web

    Sitio web

    Mapear a campos de descubrimiento locales

    El esquema expandido de Dublin Core para Primo VE permite mapear información a los siguientes campos, que se rellenan durante la carga de registros: discovery.local1 - discovery.local50. Después que se hayan cargado los registros, Primo VE puede usar los campos locales para mostrar información adicional en los despliegues breves y completos de un registro, y también los puede usar como campos de búsqueda. Los campos locales son particularmente útiles para mapear campos DC no estándares que no se carguen por defecto durante la importación a Primo VE.

    Cuando se use un campo de descubrimiento local, también se debe configurar su campo de despliegue local con un nombre similar. Por ejemplo, si se ha creado una regla de normalización para discovery.local2, también se debe definir el campo de despliegue local Local_field_02, y asegurarse de que se selecciona la casilla de verificación Usar el campo local paralelo 01/50 desde el registro Dublin Core. Para más información, véase Configurar despliegue local y campos de búsqueda para Primo VE.

    Ejemplos

    Para más información sobre crear reglas de normalización, véase Crear reglas de normalización.

    El siguiente ejemplo mapea el valor en dc:relation al campo local 1 en Primo VE.


    regla "mover relación a campo local 1"

    cuando

    existe "dc"."relation"

    entonces

    mover "dc"."relation" a "discovery"."local1"

    fin


    El siguiente ejemplo define el valor del campo local 2 a Investigación interna por cada registro procesado.


    regla "definir campo local 2 para investigación interna"

    cuando

    True

    entonces

    configurar "Internal Research" en "discovery"."local2"

    fin


    Crear reglas de normalización

    El Editor MD permite crear reglas de normalización, que se usan para personalizar la transformación de registros externos (ya sea Dublic Core o XML genérico) al formato Dublin Core extendido de Primo VE para descubrimiento. Una vez creadas las reglas, se pueden añadir según sea necesario a los procesos de reglas de normalización, que pueden asignarse posteriormente a perfiles de importación. Para más información, véase Crear un proceso de regla de normalización.

    Para información sobre cómo crear reglas de normalización para Marc21 desde fuentes de datos externas, véase Trabajar con reglas de normalización.

    Para añadir un fichero de regla de normalización:
    1. Abrir el Editor MD (Menú de Configuración > Descubrimiento > Cargar fuentes de datos externas > Reglas de normalización para fuentes de datos externas).

      PVE_ME_RulesSection2.png

      Abrir la pestaña Reglas
    2. Seleccionar, entre las siguientes carpetas, la carpeta debajo de la pestaña Reglas para ver los ficheros de reglas de normalización correspondientes: Reglas de normalización (DC) o Reglas de normalización (XML). Se pueden usar como la base para sus reglas nuevas. También es una buena práctica ver si una regla ya se ha creado.

      PVE_ME_CreateNormRules.png

      Cree un nuevo fichero de regla DC
    3. Crear una regla nueva seleccionando Fichero > Nuevo > Reglas de normalización (DC) o Reglas de normalización (XML), que depende del formato de los ficheros de importación de Descubrimiento que se estén recibiendo de la fuente externa.

      DC_NormRules_Properties_Add_File.png

      Configurar las propiedades del fichero de reglas de normalización
    4. Especificar las siguientes propiedades y después hacer clic en Guardar:

      • Nombre - Especificar un nombre identificable para el fichero de reglas, que puede contener tipos de reglas relacionados.

      • Descripción - Introducir texto para describir los contenidos de su fichero de regla.

      • Subcarpeta - Seleccione una de las siguientes ubicaciones de subcarpetas: Privado (solo para su uso y no se puede incluir en un proceso de normalización) o Compartido (fichero de reglas público).

      • Habilitado - Seleccionar esta casilla de verificación para permitir que el fichero de regla se aplique a las listas de tareas de reglas de normalización. (Por defecto, el fichero de reglas de normalización está deshabilitado.)

    5. Añadir sus reglas al panel del editor. Para más información, véase Sintaxis de reglas de normalización.

      PVE_ME_EditRule.png

      Panel del editor de reglas de normalización
    6. Hacer clic en Vista preliminar. La regla o las reglas en el fichero se aplican a los registros especificados y se muestra el resultado.

    7. Hacer clic en Guardar bajo el panel del editor.

    Sintaxis de reglas de normalización

    Los ficheros de reglas contienen una o más reglas, que a su vez contienen una o más condiciones seguidas por una o más acciones. La sintaxis siguiente se usa para cada regla en el fichero:


    regla "<rule name>"
    cuando
    <condition 1>
    <condition 2>
    ...
    entonces
    <action 1>
    <action 2> [if <condition>]
    ...
    fin

    Condiciones

    Una regla puede contener una o más condiciones que se aplican a campos y valores específicos en el registro fuente. Si se cumplen todas las condiciones, la regla se aplica al registro. En caso contrario, la regla no se aplica y el registro se deja sin cambios. Cada condición debe incluir una de las siguientes palabras clave:

    • verdad – Aplica incondicionalmente la regla a todos los registros.

    • existe – Aplica la regla cuando existe un campo específico.

    • no existe: se aplica la regla cuando no existe un campo específico.

    • es igual – Aplica la regla cuando concuerda el contenido completo del campo específicado.

    • no es igual – Aplica la regla cuando no concuerda el contenido completo del campo especificado.

    La siguiente tabla ofrece un ejemplo para cada tipo de condición.

    Condiciones DC y XML

    Sintaxis

    Ejemplo

    Condiciones generales:

    verdad

    verdad

    Condiciones DC:

    existe "{namespace}"."{field}

    existe "dc"."description"

    existe "{namespace}"."{field}"\("{xsiType}"\)

    existe "dc"."identifier"("dcterms:ISBN")

    "{namespace}"."{field}" es igual a "{value}"

    "dc"."identifier" es igual a "deporte"

    "{namespace}"."{field}"\("{xsiType}"\) es igual a "{value}"

    "dc"."identifier"("dcterms:ISBN") es igual a "deporte"

    "{namespace}"."{field}" no es igual a "{value}"

    "dc"."identifier" no es igual a "deporte"

    "{namespace}"."{field}"\("{xsiType}"\) no es igual a "{value}"

    "dc"."identifier"("dcterms:ISBN") no es igual a "deporte"

    Condiciones XML :

    "xpathExpression" es igual a "value"

    "ino:object/viaRecord/recordId" es igual a "probar"

    "xpathExpression" no es igual a "value"

    "ino:object/viaRecord/recordId" no es igual a "probar"

    existe "xpathExpression"

    existe "ino:object/viaRecord/recordId"

    no existe"xpathExpression"

    no existe "ino:object/viaRecord/recordId"

    Acciones

    Se pueden aplicar acciones a campos únicos en base a las condiciones especificadas en la regla. Si se cumplen todas las condiciones, las acciones se aplican al registro en el orden en que aparecen en la lista. Cada acción debe incluir una de las siguientes palabras clave:

    • copiar – Copia el valor de un campo a otro campo.

    • mover – Mueve el valor de un campo a otro campo.

    • eliminar – Elimina el valor de un campo.

    • definir – Define el valor de un campo directamente.

    Además, se puede anexar la condición si es igual a <value> a una acción de arriba para aplicar los cambios de regla solamente para valores coincidentes específicos.

    La siguiente tabla ofrece un ejemplo para cada tipo de acción.

    Acciones DC y XML

    Sintaxis

    Ejemplo

    Acciones DC:

    copiar "{namespace}"."{field}"({"xsiType"}) a "{newTagNameSpace}"."{newTagField}"({"newXsiType"})

    copiar "dc"."identifier"("dcterms:ISBN") a "dc"."title"("dcterms:ISBN")

    copiar "{namespace}"."{field}"({"xsiType"}) a "{newTagNameSpace}"."{newTagField}"

    copiar "dc"."identifier"("dcterms:ISBN") a "dc"."title"

    copiar "{namespace}"."{field}" a "{newTagNameSpace}"."{newTagField}"({"newXsiType"})

    copiar "dc"."identifier"("dcterms:ISBN") a "dc"."title"("dcterms:ISBN")

    copiar"{namespace}"."{field}" a "{newTagNameSpace}"."{newTagField}"

    copiar "dc"."identifier" a "dc"."title"

    copy "{namespace}"."{field}"({"xsiType"}) if equals "{value}" to "{newTagNameSpace}"."{newTagField}"({"newXsiType"})

    copiar "dc"."identifier"("dcterms:ISBN") si es igual a "sport" para "dc"."title"("dcterms:ISBN")

    copy "{namespace}"."{field}"({"xsiType"}) if equals "{value}" to "{newTagNameSpace}"."{newTagField}"

    copiar "dc"."identifier"("dcterms:ISBN") si es igual a "sport" para "dc"."title"

    copy "{namespace}"."{field}" if equals "{value}" to "{newTagNameSpace}"."{newTagField}"({"newXsiType"})

    copiar "dc"."identifier" si es igual a "sport" para "dc"."title"("dcterms:ISBN")

    copy "{namespace}"."{field}" if equals "{value}" to "{newTagNameSpace}"."{newTagField}"

    copiar "dc"."identifier" ") si es igual a "deporte" para "dc"."title"

    move "{namespace}"."{field}"({"xsiType"}) to "{newTagNameSpace}"."{newTagField}"({"newXsiType"})

    mover "dc"."identifier"("dcterms:ISBN") a "dc"."title"("dcterms:ISBN")

    move "{namespace}"."{field}"({"xsiType"}) to "{newTagNameSpace}"."{newTagField}"

    mover "dc"."identifier"("dcterms:ISBN") a "dc"."title"

    move "{namespace}"."{field}"  to "{newTagNameSpace}"."{newTagField}"({"newXsiType"})

    mover "dc"."identifier" a "dc"."title"("dcterms:ISBN")

    move "{namespace}"."{field}"  to "{newTagNameSpace}"."{newTagField}"

    mover "dc"."identifier" a "dc"."title"

    move "{namespace}"."{field}"({"xsiType"}) to "{newTagNameSpace}"."{newTagField}"({"newXsiType"})

    mover "dc"."identifier"("dcterms:ISBN") si es igual a "sport" para "dc"."title"("dcterms:ISBN")

    move "{namespace}"."{field}"({"xsiType"}) if equals "{value}"  to "{newTagNameSpace}"."{newTagField}"

    mover "dc"."identifier"("dcterms:ISBN") si es igual a "sport" para "dc"."title"

    move "{namespace}"."{field}" to "{newTagNameSpace}"."{newTagField}"({"newXsiType"})

    mover "dc"."identifier" si es igual a "sport" para "dc"."title"("dcterms:ISBN")

    move "{namespace}"."{field}" if equals "{value}" to "{newTagNameSpace}"."{newTagField}"

    mover "dc"."identifier" si es igual a "sport" para "dc"."title"

    remove "{namespace}"."{field}" if equals "{value}"

    eliminar "dc"."identifier" ") si es igual a "deporte"

    remove "{namespace}"."{field}"({"xsiType"}) if equals "{value}"

    eliminar "dc"."identifier"("dcterms:ISBN") si es igual a "deporte"

    remove "{namespace}"."{field}"({"xsiType"})

    eliminar "dc"."identifier"("dcterms:ISBN")

    remove "{namespace}"."{field}"

    eliminar "dc"."identifier"

    set "{value}" in "{namespace}"."{field}"({"xsiType"})

    definir "sport" en "dc"."identifier"("dcterms:ISBN")

    set "{value}" in "{namespace}"."{field}"

    definir "deporte" en "dc"."identifier"

    Acciones XML: (Para más información, véase Estándares W3C XPATH.)

    copy "concat ({xpathExpression},' ',{xpathExpression})" to "{namespace}"."{field}"

    La palabra clave concat es una función XPATH que representa una de las muchas funciones XPATH que se pueden usar dentro de las acciones XML.

    copy "concat(//person[@pers_role='pau']/name/first/text(),' ',//person[@pers_role='pau']/name/last/text())" to "dc"."creator"

    copy "xpathExpression" to "newTagNameSpace"."newTagField"({"xsiType"})

    copiar "ino:object/viaRecord/isbn" a "dcterms "."title"("dcterms:ISBN")

    copy "xpathExpression" to "newTagNameSpace"."newTagField"

    copiar "ino:object/viaRecord/isbn" a "dcterms "."title"

    set "value" in newTagNameSpace"."newTagField"({"xsiType"})

    set "whatever" in "dcterms "."title"("dcterms:ISBN")

    set "value" in newTagNameSpace"."newTagField"

    definir "cualquier cosa" in "discovery"."local1"

    Ejemplos DC

     

    regla "mover descripción"
    cuando
    existe "dc"."description"
    entonces
    mover "dc"."description" a "dcterms"."description"
    fin

     

    regla "mover descripción"
    cuando
    existe "dc"."identifier"("dcterms:ISBN")
    entonces
    mover "dc"."identifier"("dcterms:ISBN") a "dcterms"."identifier"("dcterms:ISBN")
    fin

     

    regla "mover descripción"
    cuando
    "dc"."identifier"("dcterms:ISBN") es igual a "sport1111"
    entonces
    mover "dc"."identifier"("dcterms:ISBN") a "dcterms"."identifier"("dcterms:ISBN")
    fin

     

    regla "identificador dc es igual a deporte"
    cuando
    "dc"."identifier"("dcterms:ISBN") no es igual a "deporte"
    entonces
    mover "dc"."title" a "dcterms"."description"
    fin

     

    regla "desde dc:type A a discovery:type C"
    cuando
    "dc"."type" es igual a "Fotografía"
    entonces
    definir "imágenes" en "discovery"."resourceType"
    fin

     

    regla "desde dc:type A a discovery:type D"
    cuando
    "dc"."type" es igual a "Póster"
    entonces
    definir "imágenes" en "discovery"."resourceType"
    fin

    Ejemplos XML

     

    regla "Copiar identificador"
    cuando
    existe "ino:object/viaRecord/recordId"
    entonces
    copiar "ino:object/viaRecord/recordId" a "dc"."identifier"
    fin

     

    regla"copiar primero el título"
    cuando
    verdad
    entonces
    copiar "(//título/textElement)[1]" a "dc"."title"
    fin

     

    regla "copiar todos los títulos"
    cuando
    verdad
    entonces
    copiar "(//title/textElement)" a "dcterms"."title"
    fin

     

    regla "autor"
    cuando
    existe "ino:object/viaRecord/work/creator/nameElement"
    entonces
    copiar "ino:object/viaRecord/work/creator/nameElement" a "dc"."creator"
    fin

     

    regla "es igual a inglés"
    cuando
    "ino:object/viaRecord/work/lang/textElement" es igual a "eng"
    entonces
    definir "inglés" in "dc"."language"
    fin

     

    regla "definir Constante"
    cuando
    verdad
    entonces
    definir "materia de prueba" in "dc"."subject"
    fin

    • Was this article helpful?
    //Feedback