Configure Term Sets in the Language Configuration File

The guidance package delivered with your Core Platform normally includes a terminology database and one or more language configuration files. The language configuration file contains instructions for the server on which term sets to load for the Acrolinx Integrations.

After you update your terminology and data model, you may wish to make new term sets available to Acrolinx users.

The quickest way to add a term set is in the term set configuration module. However, you can also configure a term set directly in the language configuration file.

There are two ways to configure a new term set in a language configuration file:

  • Add a Domain Reference to configure a basic term set based on the domain category
  • Add a Filter File Reference to configure an advanced term set based on several filter criteria
Regardless of the criteria defined for a term set, the Acrolinx only loads terms in the language that is defined in the language configuration file and any terms that have the language value Multiple Languages.

Loading Terms Using a Domain Reference

To load a new term set based one or more domains, follow these steps:

  1. Open your overlay of the relevant language configuration file.

    If you haven’t yet created an overlay of this file, create a new version of the file at the following location:

    %ACROLINX_CONFIGURATION_ROOT%\data\<LANG_ID>\configuration.properties

    If this location doesn’t yet exist, create the required subdirectories first.

  2. Add the following property: 

    <RULE_SET>.terminology.sources=<DOMAIN_REFERENCES>

    Add each domain reference using the following syntax:

    att:<DOMAIN_NAME>

    separated by a semicolon.

    Example: Standard.terminology.sources=att:acrolinx;att:switches


    Restriction: You can’t use spaces when referencing domains. If your domain name contains a space within the Terminology Manager interface, replace the space with an underscore when referencing the domain in the properties file. For example, if your domain is called 'test terms', add the reference att:test_terms.

    • You can also load terms from multiple domains into one term set by using the syntax:

      att:<DOMAIN_NAME_1>,<DOMAIN_NAME_2>[set=<SET_NAME>]
      Example:
      Standard.terminology.sources=att:planes,trains,automobiles[set=AllTransportDomains]; att:switches
      The set parameter is an optional setting that enables you to customize the name of the term set. If you don’t use this parameter, the server assigns a default name to the term set based on the domain names. If the previous example didn’t contain the set parameter, the term set name would be planes_trains_automobiles.
  3. Save your changes and reload the language configuration on the relevant language servers. 

    Attention: If you have entered domain names or term set names that contain non-ASCII characters (such as umlauts or Japanese characters), save the configuration file with the encoding UTF-8. If the configuration file doesn’t have UTF-encoding, term set names may not display correctly in the Acrolinx Integration interface.

Loading Terms Using a Filter File

To load a new term set based on a filter file, follow these steps:

  1. Open your overlay of the relevant language configuration file.

    If you haven’t yet created an overlay of this file, create a new version of the file at the following location:

    %ACROLINX_CONFIGURATION_ROOT%\data\<LANG_ID>\configuration.properties

    If this location doesn’t yet exist, create the required subdirectories first.

  2. Add the following property: 

    <RULE_SET>.terminology.sources=<FILTER_FILE_REFERENCE>

    Add a reference to the filter file using the following syntax:

    att:file:<FILE_NAME>.xml[set=<SET_NAME>]

    with multiple term sets separated by a semicolon.

    Example:
    Standard.terminology.sources=att:file:auto_cmpnts20080501.xml[set=Components]; att:Switches
    The set parameter is an optional setting that enables you to customize the name of the term set. If you don’t use this parameter, the server uses the name of the filter file as the term set name.
  3. Save your changes, restart the core server, then reload the language configuration on the relevant language servers.

The Structure of Filter File XML

Filter File is an xml file that can query the terminology database using several different criteria simultaneously. This functionality is very similar in structure to the filters in the Terminology Manager interface.

Filter Files are useful for creating term sets that represent different cross-sections of your terminology.

The following table lists the XML elements that you can use in a Filter File, with hierarchy indicated in the Level column:

LevelElement NameUse To
1compositeFilterEnclose a set of multiple categoryFilter or surfaceFilter criteria.

You can use this element several times to nest different sets of criteria.

1.1compositionSelect a Boolean value for set of criteria in a composite filter

Use this element within compositeFilter.

1.1.1negatedExclude a set of criteria from a composite filter.
1.1.1categoryFilterEnclose a search for terms within a given category

The categoryFilter element has the attribute inclusive that you can set to true or false.

  • Set the inclusive attribute to truto include terms that are associated with subcategories of the specified category value.
  • Set the inclusive attribute to false to exclude subcategories and filter for terms that only have the exact matching category value.

You can use this element several times within a compositeFilter.

1.1.1.1categoryDefine the value of the category to filter on.

Use this element within categoryFilter.

1.1.1.1.1categoryTypeDefine the name of the category to filter on.

Use this element within category.

1.1.1.surfaceFilter
Enclose a search for terms whose names match a certain pattern.

You can also include the element <isCaseSensitive> to ensure the matching takes case into account.

Example:

<surfaceFilter> <isCaseSensitive>

true</isCaseSensitive>

<surface>a%</surface>

</surfaceFilter>
1.1.1.1surfaceDefine a search pattern to filter on.

Use this element within surfaceFilter.


The follow illustration is an example of a Filter File that uses nested filters and multiple criteria:

The Filter Description for this filter would be:

Load all terms:

  • where the category ProductType is ElectronicComponents
  • and where the category domain is Switches or ACME
  • or where the term name is like ' %electric%
  • but not if the category WorkflowStatus is UnderReview

Creating a New Filter File

To create a new filter file, follow these steps:

  1. Create a term export filter in the Dashboard. To create a term export filter, follow these steps:

    1. In the Dashboard, navigate to Terminology Import and Export Export
    2. Expand the Term Filter Selectiopanel, click Filter, and define the criteria for the terms to load. When you define the filter, make sure that your criteria include a language. Otherwise, terms might get loaded by a mismatching language server. For example, an English language server could attempt to load German terms. In this scenario, you would see the following error message:

      No NLP service for language 'de' of term '<TERM_NAME>' with lemma part, skipping

      You filter by language so that the language server only loads terms in the relevant language.

    3. Enter a file name so that the Save Export Configuration button is enabled, and save the export configuration.
  2. Copy the filter XML. To copy the filter, follow these steps:

    1. In the Dashboard, navigate to Terminology > Import and Export Saved Configurations
    2. Select the export configuration that you saved in when you created the term export filter and click Download.
    3. In the window that appears, click the link to open the properties file in a text editor.
    4. Find the property exportFilter and copy the filter XML from the value of the property. The following example shows the filter XML for a filter that finds English terms in the domain "Standard_Terminology" with the process status "Finalized".

      <?xml version='1.0' encoding='UTF-8'?><compositeFilter>
      <composition>AND</composition>
      <categoryFilter inclusive="true">
      <category>Standard_Terminology<categoryType>domain</categoryType>
      </category></categoryFilter>
      <customFieldCategoryFilter inclusive="true"><category>finalized
      <categoryType>process status</categoryType></category>
      <customField>processStatus</customField></customFieldCategoryFilter>
      <categoryFilter inclusive="true"><category>en<categoryType>language</categoryType>
      </category></categoryFilter>
      </compositeFilter>
  3. Paste the filter XML into a new file at the following location:

    <INSTALL_DIR>\data\<LANG_ID>\ terms\<FILE_NAME>.xml

    For example, to create a filter file for product terms in English, you would save the file at the following location:

    <INSTALL_DIR>\data\ en\terms\productterms.xml
  4. Save your changes.
  5. (Optional) Configure your language server to load terms using the filter file.