1 Reply Latest reply on Jun 27, 2020 11:23 AM by Pravanth Kkumar

    How reject data domain trough EDC Api

    Lucas Oliveira New Member

      Hi. I am able to accept data domains trough the API, adding  "com.infa.ldm.profiling.DataDomainColumnAll" and "com.infa.ldm.profiling.DataDomainColumn". I notice I can do this only if the data domain was not marked as rejected in the Catalog UI. If I reject in the Catalog UI I can't accept back with the API.

       

      When I reject the data domain via API i am able to accept it back trough the API, but not trough the Catalog UI. When i'am rejecting or accepting a data domain trough the API, I firstly get the object response then remove and add  facts from it and then update the object with the new payload. But after it, the Catalog UI shows the data domain as rejected, but keep returning it when I do facet filter of the data domain in Catalog UI. I am also not allowed to accept back the data domain using the Catalog Ui, only trough API.


      I am using EDC 10.4.

      Thanks!

        • 1. Re: How reject data domain trough EDC Api
          Pravanth Kkumar New Member

          Search can be achieved using the search API and you can use the search with facets. The facets allow you to return just 1 object - but still get counts for the facets (just like search in the UI)

           

           

          search (2/catalog/data/search) for any objects that use any domain - using these settings:-

           

           

               q=com.infa.ldm.profiling.dataDomainsRejected:* and core.resourceName:<resource_name>

               facet=true

               defaultFacets=false

               facetId=com.infa.ldm.profiling.dataDomainsRejected

               facetId=core.classType

               offset=0

               pageSize=1

           

           

               or use default facets instead of listing each facet attribute (i like this better for smaller result sets)

           

           

          FacetResults in the result-set will have the counts you need - you can disregard the objects return "hits" since you only need to look at the facetResults.

           

           

          If you want to get a specific per domain - iterate over each domain returned and then search for any objects using that domain, with the same properties (substitute * for the domain name)

           

           

          Using facets is really fast - see an example here: https://github.com/Informatica-EIC/REST-API-Samples/blob/master/python/domainSummary.py

           

           

          For Inferred and Accepted DataDomain, you can use the below ones:

           

           

          com.infa.ldm.profiling.dataDomainsInferred,

          com.infa.ldm.profiling.dataDomainsAccepted