Skip to main content

Which ONE Metadata Reader entity type will let me read the all suggested business terms against all items?

 

 

 

Hello @Pattern Groups, try termInstance entity, it contains following properties:

  • target - ID of the term
  • displayName - name of the term

Parent of this entity is catalogItem or attribute or rule etc (all entites that enable to assign terms).

So to get assigned terms from catalog I suggest to have attribute entity (ONE metadata reader) and join it with the termInstances ONE metadata reader (attribute id = parent id of termInstance). 

Btw term suggestions (generated by AI, not yet assigned terms) are stored in another entity called termSuggestion.

Does this help? If needed, I can provide a sample plan.

Have a great day.

Anna


Thankyou. A simple plan to read termInstances and termSuggestions was easy.

I’d like help please with the hard part. I’d like to know the exact names of all the entities I need to join them with like: catalogItem, attribute, attributeCatalogItem, virtualCatalogItem, businessTerm,…

Really I’m asking for a way to understand the meta model. Or in the absence of documentation what is the naming pattern of the model?   is it  <class><Subclass>, or <class><Class_attribute>, or a mixture?

 

 


Here’s another clue. It looks like the Reader for catalogItem embeds relationships to termInstances and attributes as arrays.

 


What does this mean?

 

Can you supply a simple plan that outputs catalog items and attributes with their termInstances and termSuggestions?

 


It turns out the warning is nothing, just a bug in the desktop editor.

 

Now its a matter of joining the catalog item attributes to the term suggestions.


What action in ONE changes a termSuggestion into a termInstance?    Is it when a catalog item is imported (no), profiled (doesn’t require publishing), or other action? @anna.spakova 


Hello, so lot’s of comments, let me try to answer all.

First of all attached is the simple plan that joins termInstances with catalog and attributes. I tried to already shed some light on the joining in my first comment. The relationship between the entities is as follows:

termInstance is a child of attribute (because attribute contains termInstance as embedded array), attribute is child of catalogItem (because catalogItem contains attribute as embedded array). I feel like some of your questions regarding metadata may be answered by our documentation, where we explain the data types and everything else: https://support.ataccama.com/home/docs/aip/13.9.0/development-guides/one-development-guide/configuring-the-metadata-model/one-metadata-property-references

As for the names of the objects, sometimes you can find the name in the URL:

and if you then search for the object in the metadata model, you can find more about the properties. If the properties are object like (e.g. Reference or embedded), you can again click on it and see detail and etc. In general, if object is embedded inside another one, it is a “child”. That is usefull for joining in plans. References contain directly ID of the referenced objects.

Regarding naming pattern, I don’t think there is a rule, we try to follow camel case in the names, other than that… usually there is a class as you call it (e.g. catalogItem) and a “subclass” (e.g. rdmCatalogItem) and usually the name is <subclass><Class>. But I wouldn’t count on that. You can find, if an entity is a class or subclass by property “Extends”:

If it’s null, the entity is a “class”, if it contains something, it is a “subclass”. Also the subclass inherits all properties of the parent class.

Sometimes it may be also useful to check out the graphQL query that is triggered by some action, which contains the entites that are affected. See this article: 

 

Lastly, the warning is not a bug, it is there for a reason. It indicates that either you are not returning the IDs and entity type OR the columns you use to save the IDs into don’t exist (but that’s fine, IDE will create them during execution of the plan). But it is not mandatory, thus just a warning.

Let me know if you have any further questions, I am happy to help.

Anna


Aaand I forgot one 🙂 Regarding what changes suggestion to termInstance, when user approves the suggestion in the web application:

If user rejects (the x mark), the term stays as termSuggestion only with status as REJECTED (so no termInstance is created).


Reply