管理目录

目录支持由元数据片段组成的元数据记录。其思想是,元数据片段可以在多个元数据记录中使用。

这是一个典型的片段示例。这是一个责任方,可以在同一个元数据记录中多次使用,也可以在多个元数据记录中使用(如果适用)。

<gmd:CI_ResponsibleParty xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco" >
  <gmd:individualName>
    <gco:CharacterString>John D'Ath</gco:CharacterString>
  </gmd:individualName>
  <gmd:organisationName>
    <gco:CharacterString>Mulligan &amp; Sons, Funeral Directors</gco:CharacterString>
  </gmd:organisationName>
  <gmd:positionName>
    <gco:CharacterString>Undertaker</gco:CharacterString>
  </gmd:positionName>
  <gmd:role>
    <gmd:CI_RoleCode codeList="./resources/codeList.xml#CI_RoleCode" codeListValue="pointOfContact"/>
  </gmd:role>
</gmd:CI_ResponsibleParty>

保存在目录数据库中的元数据片段称为子模板。这主要是由于历史原因,因为子模板类似于模板元数据记录,因为它可以用作构造新元数据记录的“模板”。

片段可以以两种模式插入元数据记录:

  • 通过复制/粘贴

  • 按链接(如果启用了xlink支持。见 元数据XLink

使用XLinks时,如果片段被更新,那么所有元数据记录中的相关片段也将被更新(检查XLink缓存)。

碎片可以通过收割产生(参见 获取元数据片段以支持重用 )或者使用元数据导入页导入。

本手册本节描述:

  • 如何管理子模板目录

  • 如何从现有的元数据记录集中提取片段并将其存储为子模板

  • 如何管理用于加快对不在本地目录中的片段的访问的片段缓存

管理子模板目录

处理子模板和元数据记录之间存在一些差异。与元数据记录不同,子模板没有一致的根元素,它们使用的元数据架构可能无法识别,它们不会出现在主搜索结果中(除非它们是元数据记录的一部分)。因此,编辑器板允许您搜索和管理目录条目的权限。

../../_images/directories-search.png

从编辑板中,选择 Manage directory 要访问目录项的编辑器,请执行以下操作:

../../_images/directories-manager.png

如果你没有看到 Organizations and Contacts 选项卡,然后确保为元数据配置文件的联系人创建了子模板,并使用 Metadata and Templates 部分。

在这个页面中,编辑器可以使用顶部的选项卡edit/remove/import new subtemplates选择一种目录类型。

要导入新条目,请使用“元数据导入”页并选择适当的记录类型:

../../_images/directories-import.png

与元数据记录一样,它们被分配一个整数id并存储在catalog元数据表中(模板字段设置为“y”)。

在元数据记录中插入目录项

例如,在元数据编辑器中,该目录可用于填充联系人。

../../_images/directories-editor-popup.png

打开目录选择器,选择一个联系人,然后选择联系人角色。

../../_images/directories-editor-popupopen.png

从元数据记录中提取子模板

许多站点都有带有公共信息的现有元数据记录,例如ISO CI_contact元素中的联系人信息。这样的目录条目可以使用“Extract subtemplates”API从选定的元数据记录集中提取。

要使用此功能,应遵循以下步骤:

  • 确保您了解XPath是什么-请参见http://www.w3schools.com/xpath/default.asp例如。

  • 在元数据记录中标识要作为可重用子模板管理的元数据片段。这可以使用XPath完成。例如,XPath .//gmd:CI_ResponsibleParty 确定记录中的所有责任方。下面的示例显示了这样一个片段(从一个样本记录中获取):

<gmd:CI_ResponsibleParty>
   <gmd:individualName>
      <gco:CharacterString>Jippe Hoogeveen</gco:CharacterString>
   </gmd:individualName>
   <gmd:organisationName>
      <gco:CharacterString>FAO - NRCW</gco:CharacterString>
   </gmd:organisationName>
   <gmd:positionName>
      <gco:CharacterString>Technical Officer</gco:CharacterString>
   </gmd:positionName>
   <gmd:contactInfo>
      <gmd:CI_Contact>
         <gmd:phone>
            <gmd:CI_Telephone>
               <gmd:voice gco:nilReason="missing">
                  <gco:CharacterString/>
               </gmd:voice>
               <gmd:facsimile gco:nilReason="missing">
                  <gco:CharacterString/>
               </gmd:facsimile>
            </gmd:CI_Telephone>
         </gmd:phone>
         <gmd:address>
            <gmd:CI_Address>
               <gmd:deliveryPoint>
                  <gco:CharacterString>Viale delle Terme di Caracalla</gco:CharacterString>
               </gmd:deliveryPoint>
               <gmd:city>
                  <gco:CharacterString>Rome</gco:CharacterString>
               </gmd:city>
               <gmd:administrativeArea gco:nilReason="missing">
                  <gco:CharacterString/>
               </gmd:administrativeArea>
               <gmd:postalCode>
                  <gco:CharacterString>00153</gco:CharacterString>
               </gmd:postalCode>
               <gmd:country>
                  <gco:CharacterString>Italy</gco:CharacterString>
               </gmd:country>
               <gmd:electronicMailAddress>
                  <gco:CharacterString>jippe.hoogeveen@fao.org</gco:CharacterString>
               </gmd:electronicMailAddress>
            </gmd:CI_Address>
         </gmd:address>
      </gmd:CI_Contact>
   </gmd:contactInfo>
   <gmd:role>
      <gmd:CI_RoleCode codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_RoleCode"
                       codeListValue="pointOfContact"/>
   </gmd:role>
</gmd:CI_ResponsibleParty>
  • 标识并记录片段中一个或多个字段的XPath,其中文本内容将用作子模板的id。这个XPath应该与前一步中标识的片段的根元素相关。例如,在上面的片段中,我们可以选择 .//gmd:electronicMailAddress/gco:CharacterString/text() 作为要创建的片段的id。

  • 在API页面上,选择registries/collect操作:

../../_images/directories-api-collect.png
  • 用前面步骤中收集的信息填写表单。

  • 提取的子模板可以使用GET模式预览,验证后,使用PUT方法将结果保存到目录中。

最后,转到子模板目录管理界面,您应该能够选择子模板的根元素来检查提取的子模板。

子模板索引基于架构(有关详细信息,请参见索引字段文件夹)。当前ISO19139索引子模板用作根元素:

  • gmd:CI_责任方

  • gmd:MD_分布

  • gmd:仅限CI资源

  • gmd:EX_范围

同步子模板与元数据记录

创建后,目录提供了将元数据记录与目录项同步的功能。为此,请使用API测试页。

同步进程使用与收集进程相同的参数,具有两个可选参数:

  • propertiesToCopy 保留元数据片段中可能定义的某些元素(例如联系人角色)

  • substituteAsXLink 指示是否应使用XLMODE/POSITE。

../../_images/directories-api-synch.png

管理片段缓存

如果目录链接中的元数据记录是来自外部站点的片段,则目录将在第一次查找后缓存这些片段,以减少网络通信量并加快元数据记录在搜索结果中的显示速度。

缓存是使用Java缓存系统(JCS)自动处理的。JCS通过以下方式智能地处理大型缓存:

  • 定义最大缓存对象数

  • 在转移到辅助存储器(磁盘)之前,尽可能多地使用主存储器

  • 提供缓存持久性:当web应用程序关闭时,缓存保存到磁盘,当重新启动时从磁盘还原缓存

可以使用中的JCS配置文件在GeoNetwork中配置JCS参数 INSTALL_DIR/web/geonetwork/WEB-INF/classes/cache.ccf .

目录中生成元数据片段的某些操作(例如获取)将在生成新片段时自动刷新XLink缓存。但是,如果要链接来自外部站点的片段,则根据更改的频率,需要手动刷新XLink缓存。要执行此操作,您应该导航到“管理”页,然后选择“清除XLink缓存并使用XLinks重建记录索引”功能,该功能在“管理”页的以下屏幕截图中突出显示。

../../_images/directories-cache.png