Make an RDS Class Hierarchy presentable in Excel

WIP This is a very quickly written explanation. Prior experience with the various tools will likely be a huge advantage.

The next project that uses this should copy the code away from NorHub, preferably in its own folder in RD/software

This is a step by step guide on how you can make an Excel sheet where the indentation of the columns indicate the class hierarchy.

Software needed

  1. Cygwin
  2. Perl (install using cygwin)
  3. Gnumake (install using cygwin)
  4. ARQ ( can be found in RD/software/ARQ )
  5. Saxon ( also in RD/software )
  6. Protege, with the plugin "Tabbed subclasses" which can be gotten from the plugin menu in Protege


  1. Update RD/projects/NorHub
  2. Fill out the following files

This file should contain classes (by RDS code) of strings whose members are connected to classes via CLASS OF IDENTIFICATIONs.
All these classes will be included in the final list.


This file lists RDS codes for classes that should be included.

  1. Update RD/reference_data/XML/RDL.xml to receive the latest RDS updates
  2. Enter cygwin and navigate to RD/projects/NorHub
  3. Run in Cygwin make OWL/idpca.xml.owl. If it claims to be "up to date", force it by adding -B at the end.
  4. Open OWL/idpca.xml.owl in Protege
  5. Press the class you want as your top class, and view this in the plugin. (You might want to create a separate tab for this)
  6. Enable the reasoner
  7. Select "Tabbed subclasses (inferred)" and select "Descendant classes" on the Query tab.
  8. Copy this to the file TXT/ExcelTabbed-tabbedIds.txt. Leave the URIs as they are.
  9. Run in Cygwin make XSL/TabbedClasses.csv
  10. Open the csv in Excel.
  11. Presto!


Write down all RDS codes that should be excluded from the final Excel file.
The intended use of this file is to remove classes after the first iteration, and should initially be empty. When you have an Excel file, add a column at the leftmost end of the sheet and write "Delete" in these for each class that should be omitted.
The script will fail if you have excluded superclasses of other, non-omitted, classes

About PCA
Reference Data Services