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

    使用指示规则

    可译的
    所有用户可以创建指示规则。
    指示规则用于过滤结果集。指示规则不改变数据。它们仅用于读取基于一定条件的结果集和过滤记录。过滤进程的结果是创建的新结果集,它是原始/过滤结果集的子集。有关更多信息,见管理检索查询和结果集页面的过滤结果集
    指示规则用于MARC书目记录,XML指示规则用于Dublin Core记录。
    以下部分介绍如何创建和测试指示规则,并提供可纳入工作流程的示例:
    指示规则只和资源管理内容类型有关。
    此外,您可以对使用结果集的其他功能区域设定指示规则:

    请注意,相同的指示规则不能用于Alma中的所有区域和工作流。

    创建指示规则。

    您可以通过元数据编辑器来创建和维护指示规则。
    对于网络区联盟成员,用户可以控制在本地或在网络机构中保存新规则。要完成该选项,打开记录模板区域,访问新建 > 提交选项。请注意,该选项根据用户生效。
    反斜杠(\)对指示规则和基于表单的指示规则用作转义字符,这是根据规范化规则中的相同原则进行的。
    创建指示规则:
    1. 打开元数据编辑器。
    2. 选择新建 > 指示指示规则属性对话框打开。
      Indication_Rule_Properties_Dialog_Box_3_NL.png
      模板属性对话框
    3. 指示规则的名称并提供帮助其他用户了解规则用途的描述。 
    4. 在“类型”下拉列表中,选择是否创建规则为Drool(MACR书目记录)或XML(都柏林核心元数据记录)。
    5. 指示创建规则为专用或共享。这决定指示规则保存在哪个文件夹。您可能想要将指示规则保存在专用文件夹并在移动到共享文件夹(通过更改属性)之前进行测试。专用指示规则无法在由管理结果集页面触发的“过滤结果集”功能中使用。请注意,共享区文件夹含有供您复制并创建自己的规则的指示规则。
    6. 选择保存。元数据编辑器编辑面板打开。
    7. 按照以下内容创建规则:
      • 如果选择创建MARC记录的指示规则,输入规则的Drools逻辑。对于创建指示规则时使用的句法见章节规范化规则 – 句法和示例。下列指示规则在Alma中提供:
        MultiTitleIndication.dslr BriefIndication.dslr
        Indication_Rule_Example_OTB_1.png
        提供的指示规则(多个题名)
        对该规则,控制字段不存在条件。
        Indication_Rule_Example_OTB_2.png
        提供的指示规则(简要主题)

        欲知更多示例,见指示规则语法示例章节。
        尽管在规则中允许使用多个布尔运算符,但当选择大量布尔运算符时会降低运行速度。因此每条规则应包含不超过200个布尔运算符。
      • 如果选择创建都柏林核心记录的XML指示规则,按照XML格式输入指示规则。
    8. 选择保存

    测试指示规则

    在运行作业以使用指示规则过滤结果集之前,您可能想要在元数据编辑器中测试规则。
    要测试已创建的指示规则:
    1. 在元数据编辑器中打开一个书目记录。
    2. 选择split mode icon.png拆分编辑器
    3. 在左面板中选择规则选项卡并展开指示规则文件夹。
    4. 专用或者共享文件夹中查找要测试的规则(非社区)。点击规则查看操作列表:
      • 编辑
      • 删除
      • 提交到共享区
      • 复制
      • 属性
    5. 选择编辑。指示规则将在书目记录旁边的分屏中打开。
      Indication_Rule_Open_in_Split_Screen_2.png
      Indication_Rule_Open_in_Split_Screen_2_NL.png
      指示规则在分屏中打开
    6. 选择尝试。根据结果,显示弹出窗口,其中包含true或false响应,指示书目记录满足或不符合指示规则中的Drool逻辑。 
      Indication_Rule_Try_It_Response_2_NL.png
      指示规则 - 尝试响应

    MARC记录的指示规则 - 语法示例

    下文的Alma指示规则实例中提供了指示规则语法的实例。有关更多信息,见条件。 

    在检索特定词汇的规则中,使用星号查找确切词汇。如果子字段含有任何其他内容,则不会找到,除非有星号。请注意,您只需在结尾插入星号,无需放在开头。

    rule "130|a|Bible."
    when
    exists "130.a.Bible*"
    then
    set indication."true"
    end

    exists "130.a.Bible"类似于“Equals”检索,因此如果子字段含有任何其他内容,则不会找到,除非有星号。

    示例1
    识别结果集中在949字段包含$a的记录。
    rule "Contains 949 with subfield a"
    when
    exists "949.a.*"
    then
    set indication."true"
    end
    示例2
    识别结果集中在$0(子字段零)中包含1XX或6XX或7XX的记录。
    rule "Contains a 1XX or 6XX or 7XX subfield 0"
    when
    ((exists "1**.0.*") OR (exists "6**.0.*") OR (exists "7**.0.*"))
    then
    set indication."true"
    end
    示例3
    识别结果集中含有$0(子字段零)的以65例如650或659开头的字段的记录。
    rule "Contains a 65X subfield 0"
    when
    exists "65*.0.*"
    then
    set indication."true"
    end
    当创建指示规则使用通配符时,对字段标签中的每个数位使用一个星号。
    示例4
    识别结果集中含有$0(子字段零)的以6例如600、630、650或659开头的字段的记录。
    rule "Contains a 6XX subfield 0"
    when
    exists "6**.0.*"
    then
    set indication."true"
    end
    示例5
    检索含有多个300个字段且每个字段都有子字段a的所有记录。
    rule "Retrieve all records which contain two subfield a occurrences in 300"
    when
    existsMoreThanOnce "300.a"
    then
    set indication."true"
    end
    示例6
    创建在字段630和650中有重复子字段x和z的记录的结果集。
    rule "Find duplicates 630 and 650"
    when
    recordHasDuplicateSubfields "630,650" "xz" ".,"
    then
    set indication."true"
    end
    有关指示规则的更多示例,见开发者网络的Alma指示规则示例页面。

    都柏林核心记录的XML指示规则 - 语法示例

    以下为XML指示规则语法的示例。
    示例1
    以下为如果记录有dc:subject字段则返回true的XML指示规则:
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/">
    <xsl:output method="text" encoding="UTF-8"/>
    <xsl:template match="/">
    <xsl:variable name="indication" select = "boolean(//dc:subject)" />
    <xsl:value-of select="$indication" />
    </xsl:template>
    </xsl:stylesheet>
    示例2
    以下为如果记录有等于Theology的dc:subject字段则返回false的XML指示规则:
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/">
    <xsl:output method="text" encoding="UTF-8"/>
    <xsl:template match="/">
    <xsl:variable name="indication" select = "not(boolean(//dc:subject='Theology'))" />
    <xsl:value-of select="$indication" />
    </xsl:template>
    </xsl:stylesheet>
    示例3
    以下为如果记录有dc:creator字段或dcterms:creator字段含有Tolstoy则返回true的XML指示规则:
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/">
    <xsl:output method="text" encoding="UTF-8"/>
    <xsl:template match="/">
    <xsl:variable name="indication" select = "boolean(//dc:creator[contains(.,'Tolstoy')] or //dcterms:creator[contains(.,'Tolstoy')])" />
    <xsl:value-of select="$indication" />
    </xsl:template>
    </xsl:stylesheet>

    基于表单的指示规则

    所有用户可以创建指示规则。

    Ex Libris提供使用结构性表单创建MARC格式的指示规则的功能,因此使得流程更为简便和直接(该新功能与现有的创建MARC格式的Drool规则和创建DC格式的XML规则不同,这两个现有功能保持不变)。对于指示的完整信息,见使用指示规则

    结构性表格允许输入不同的字段和子字段以及值,并在输入标签和标签名称时提供弹窗帮助。一旦创建了规则,结构性表单使您可以在部署之前测试规则是否有效。 

    该功能默认禁用。要对您的机构启用,联系客户支持。 

    限制

    • 当前您只能创建MARC 21和UNIMARC基于表单的指示规则。
    • 基于表单的规则目前只能用于过滤结果集,在使用指示规则的其他工作流程中使用这些规则的能力已在我们的发展路线图中,并会在将来添加。

    新建基于表单的指示规则

    指示规则的“表单”类型已介绍。该类型与其他指示规则有相同的规则操作(新建编辑删除复制提交到共享区等)。创建新的基于表单的规则时,规则在元数据编辑器中接收到“表单”标记。 

    form_badge_on_MDE.png

    创建基于表单的指示规则

    要创建基于表单的指示规则:
    1. 打开元数据编辑器 > 规则区域。
    2. 选择新建 > 指示指示规则属性对话框打开。
      New indication rule form with new fields.png
    3. 在“名称”下,对规则命名,在“描述”(可选)下提供帮助其他用户了解规则用途的描述。 
    4. 在“类型”下,选择是否创建规则为Drool(MACR书目记录)、XML(都柏林核心记录)或表单。 
    5. 在“访问层级”下,指示创建规则为专用或共享。这决定指示规则保存在哪个文件夹。您也可能想要将指示规则保存在专用文件夹并在移动到共享文件夹(通过更改属性)之前进行测试。专用指示规则无法在由管理结果集页面触发的“过滤结果集”功能中使用。请注意,共享区文件夹含有供您复制并创建自己的规则的指示规则。
    6. 在“记录类型”下,选择规则是否用于创建书目或规范记录结果集。
      在以后也将可以创建馆藏结果集。
    7. 在“格式”下,选择结果集类型。可用选项取决于您的系统中启用的格式。
    8. 选择保存。元数据编辑器编辑面板打开。
    9. 在元数据编辑器的右侧面板中,按照下文的配置指示规则部分的说明配置规则。
    10. 选择保存

    配置指示规则

    一旦创建了基于表单的指示规则,打开面板,可以在其中配置条件。指示规则可以有一个或多个条件。MDE indication rule fields breakdown.png

    手动或通过系统协助创建指示规则

    您可以通过以下方式创建指示规则:

    • 手动输入执行查询的字段信息。
    • 使用弹窗帮助选择需要的字段。弹窗帮助从您的系统中定义的元数据配置文件获取信息(见配置编目
    要手动输入信息: 要使用弹窗帮助:
    1. 在条件的第一个字段中,输入所需的字段标签。
      Alma自动对必需的指示符、位置和子字段放置星号占位符。不同字段的格式有所不同。 
    2. 手动替换所需指示符、位置和子字段中的星号。
      例如:
      filling in form based fields manually.png
    1. 在条件的第一个字段中,点击字段右侧的箭头。
    2. 在打开的下拉列表中,输入标签或名称的部分或完整描述。 
    3. 打开弹窗,其中建议与您输入的信息匹配的字段(匹配根据规则的格式和类型使用相关的配置文件完成)。选择所需字段。working_with_popup_assistanc.png
    4. 选择完成。 

    定义基于表单的指示规则的字段

    对于不同类型的字段,显示不同的规则语法。

    要定义指示规则的字段:
    1. 在条件中,如下定义字段:
      字段类型 输入该类型的字段

      控制字段001 / 003 / 005 / 009

      要输入控制字段001 / 003 / 005 / 009
      1. 输入(或选择使用弹窗帮助)字段标签。 
      2. 选择所需的比较器。
      3. 输入自由文本。
        inputting_simple_fields.png

      所有其他控制字段

      要输入其他控制字段:
      1. 输入(或选择使用弹窗帮助)字段标签。 
      2. 如果您在输入LDR、006、007或008字段,在“位置”下拉菜单中,选择相关位置并选择完成MDE indication rule 008 field wizard.png
      3. 选择所需的比较器。
      4. 输入自由文本。 
      数据字段 - 包括不在元数据配置文件中的字段(例如本地定义的字段)

      要输入数据字段:

      1. 输入(或选择使用弹窗帮助)字段标签。 
      2. 选择所需标识符和子字段并选择完成
      3. 选择所需的比较器。
      4. 输入自由文本。

      inputting data fields.png

      • 如果您没有对标识符/子字段指定任何值,在条件中才会显示为‘*’并被Alma视为“任意值”。
      • 要对指示符(在允许的字段中)指示空值(未定义),输入‘#’。
      • 在“值”字段输入文本时,Alma不会尝试验证文本。这使得您可以出于数据更正目的选择无效的值。
    2. 要添加更多条件,或条件组,见下文的处理指示规则。 
    3. 在工具栏中选择保存保存指示规则。 

    测试基于表单的指示规则 

    在运行使用指示规则过滤结果集的作业之前,最好验证您的规则是否有效,如果无效则可以进一步修改。您可以测试整个规则或者规则中的一组条件。 

    要测试指示规则:
    • 一旦创建并保存了规则,点击规则上方的 test profile icon.png 。
      根据结果,显示弹出窗口,其中包含true或false响应,指示书目记录满足或不符合指示规则中的逻辑。 

      New indication rule testing.png

      处理基于表单的指示规则

      选项  描述
      要添加额外的条件到规则
      • 选择 plus sign.png (条件上方)以添加另一个条件。 
      • 选择 copy icon.png (条件右侧)并复制该条件,然后按需编辑新条件。 
      要添加一组条件到规则 创建指示规则时,您可以添加单个条件或创建条件组。选择 plus group sign.png (条件行上方)并按需添加条件。

      但是,请注意,您最多可以添加三组嵌套层级的条件。

      opening a group of fields in indication rule.png

      要更改条件组之间的关系

      基准条件默认为AND关系,这意味着检索数目记录时需要满足每个条件为真。添加一组条件时,您可以更改组中的关系为OR。此时,会在任一条件为真时检索到数目记录。 

      请注意,只有包含在规则中的字段用于检索记录。没有包含在规则中的字段不会影响检索,这意味着这些字段为任意值的记录都会被检索到。

      点击条件之间的布尔运算符。AND和OR的旗标会显示在列表顶部。点击旗标选择此关系类型。要停止显示旗标,再次点击布尔运算符。
      changing the type of relationship between groups.png

      尽管允许使用多个布尔运算符,但选择大量布尔运算符时会降低运行速度。因此每条规则应包含不超过200个布尔运算符。

      要移除条件 选择条件左侧的X从规则中移除。
    • Was this article helpful?