I am interested in examples of how Aristotle has successfully integrated with Legacy Systems. I am based in Ireland and work as a Information Architecture Lead for the Irish Health Service Executive (HSE) and would like to learn about how the tool has been integrated to legacy systems through the API and the steps involved. Thankyou Martin.
I’ve worked on a few API operations maintaining our metadata holdings.
One thing I worked on was using the API to synchronise metadata holdings between Aristotle (our master) and Cloudera Navigator in a Data Lake environment (mirror containing only a subset of Aristotle’s holdings).
To do this, I used graphQL to gather all the information I needed about a group of distributions of interest.
With a nominated list of distribution UUID’s, call graphQL to get from each distribution a complete list of:
Data Elements contained therein
Value Domains of each Data Element
Permissible Values of that Value Domain if applicable
For each distribution, generate a json file compatible with the Cloudera Navigator API.
FTP the json files to a Unix server which has access to Cloudera.
BASH script on the unix server calls the Cloudera Navigator restful API and store each json file containing all the new Aristotle data.
As far as technologies go, to invoke graphQL in Aristotle I’m just using VBA.
To load JSON files into Cloudera, I’m using a BASH script invoked from a Unix machine.
Are you interested in examples of the graphQL query I call to gather distribution/dataelement/valuedomain information?
Other things I’ve worked are aimed at making maintaining metadata within Aristotle a little easier. For example, we had to consolidate two identical value domains that were linked to a large number of data elements. It made no sense to have two separate value domains, and it would be painful to use the Aristotle UI to click through every link and merge one into the other. So I just wrote a few API calls to discover all the links that need updating, and make the changes (swapping the old value domain for the new). Similar routines swap data elements within distributions and so on. But this isn’t about integration with legacy systems, just maintenance.
Hope this is useful. If there’s something more specific that I can go into detail with, just let me know.
Hi Martin,
Sorry for not replying sooner, I’ve had my head buried in Python and am working on shifting my API work to this language.
Most of the linking to other systems has been to our data lake currently. I’m interested in dropping some extracted metadata into some landing tables (maybe SQL Server or Postgres, whatever I can get my hands on really) and look into migrating content to other tools from there.
Other API work I have done is the administrative kind of functions I wrote about earlier.
I’ll post again with a simple query on gathering distribution/dataelement/valuedomain information, about to fall alseep :), just passed midnight.
Here’s a little query where you specify a dataset specification uuid of interest, and retrieve a few details of interest, including:
Dataset Specification details
Data Elements linked to it
Current registration details of each of those Data Elements
Value Domain of each of those Data Elements
Permissible Values of each of those Data Elements
It’s a greedy query, reaching for a lot of information, which is why I limit it to processing just 1 dataset specification uuid. Should give you an idea of how you can apply it elsewhere.