Solved

Which entity and property applies to term type

  • 17 November 2023
  • 7 replies
  • 60 views

Userlevel 4
Badge +4

Hey community,

The term overview screen shows the entries of all types.

I would like to implement a ‘term type’-filter (via Application Settings → Search Configurations) on that page. For that I need to know in which entity and property term type has been implemented, but I cannot find that. We have version 13.9.4.

Does anyone have a clue?

Kind regards,

Albert de Ruiter

icon

Best answer by Albert de Ruiter 30 January 2024, 08:12

View original

7 replies

Badge

Hi Albert, 

I had a similar need for ’term types’ when I was experimenting with filters (v13.8).

We came to the conclusion that due to the ‘term type’ being an entity name, we are not able to specify a property that references multiple entity names.

Userlevel 4
Badge +4

Hi Sam (SamWrigley),

Thanks for your repsonse. From your answer I understand that ‘term type’ is an entity, but in the metamodel I cannot find such an entity. Which entity are you referring to?

Kind regards,

Albert

Badge

The entity ‘term type’ I’m referring to may be different in your environment, but it’s the name of the extended entities from “term” 

For example, businessTerm and securityTerm is the name of extended entities from term that are used as term types in the Term overview page. 

 

But if we use either of these in the search configuration as an indexed node, with the indexed property of “name”. It would not display businessTerm or securityTerm in the property filter, it will display the term names created under these term sub-types. 

 

I’m not certain there is a way to reference an entity name in the search configuration as it’s not an explicit property of an entity. 

Userlevel 4
Badge +4

Okay thanks for the clarification, I see what you mean now. I will contact support to see if they have some idea.

Userlevel 6
Badge +7

Hi @Albert de Ruiter, I see that you have reached out to our Support team about this, please don’t hesitate to share any other questions you may have on the community 🙋🏻‍♀️

Userlevel 4
Badge +4

Hi everybody,

With the aid of Ataccama support I have managed to extract the term type by using computed content. As follows.

  1. Create a new entity named termTypeCC and save without having a property yet.
    Also, do not publish yet.
  2. Go to the Computed Content tab.
  3. For entity term add the following properties
  4. In the Query field enter the following query

    select

        entity."id_i" as "id_i",

        entity."id_i" as "parent_id_i",

        $path(entity."path_i")$ as "path_i",

        entity."from_h" as "from_h",

        $type()$ as "type_i",

        d.name as "termType"

    from

        (select e.$entityId$ as "id_i", e.$entityPath$ as "path_i", e.$entityFrom$ as "from_h", e.$entityType$ as "type_i" from $entity$ e) entity

    $if($_plr$)$

    join

        $_plr$ r on r.$_plr_id$ = entity."id_i"

    $endif$

    join "_MmdDictionary" d on d.id = entity."type_i"


    Note that termType will contain all termtypes and with the name of the entity. If you want to show just a subset of the types and with a more functional name instead of d.name as "termType" you can use

        case d.name when 'businessTerm' then 'Business term'

                    when 'entityTerm' then 'Entity term'

                    when 'attributeTerm' then 'Attribute term'

                    when 'cceTerm' then 'Client critical element'

        end as "termType"

  5. Rename the SQL Variable as termType as String and check the Preview Results that should look something like
  6. Now open entity term and add a new property named termTypeCC, of type Embedded object from Object (entity) termTypeCC.
  7. Add one more property named termType, of type Delegated scalar property, via property termTypeCC (of the previous step) with Delegate property termType.
  8. After saving and publishing, property termType is available.

Badge +1

Thanks for sharing this here, @Albert de Ruiter!

Reply