DE API Documentation

View on GitHub

Table of Contents

Categorizing Apps with Ontology Hierarchies

  1. First an admin must upload an ontology XML document, which will be stored in the metadata database, and later parsed with the OWLAPI libraries in order to build the app categories.
  2. Once 1 or more ontology XML documents have been uploaded, the details of each available ontology may be listed. Each uploaded document is stored with a unique “version” ID. This version ID is used in the remaining endpoints in order to save and list ontology classes and hierarchies parsed from the associated ontology.
  3. Next an admin must choose which hierarchies (and the ontology classes in them) will be available for use in the DE.
    • Save an Ontology Hierarchy
    • An admin may delete all classes under any ontology class hierarchy which will allow the admin to selectively remove sub-hierarchies, or the entire hierarchy from the root.
      • Deleting an Ontology Hierarchy
      • Deleted classes and sub-hierarchies can easily be re-added by re-saving the hierarchy root (only classes and hierarchies that are not already saved under the given root are added).
  4. Finally, the admin sets an ontology version as the default, active version used by the DE when listing hierarchies or ontology classes for regular users.
  5. Admins or users with app “write” permissions may categorize those apps under ontology classes by attaching the class IRIs as metadata.
  6. Apps with an ontology class attached as metadata, or any class under the hierarchy of that root class, may be listed with the following endpoint:
  7. An admin may add hierarchies for other ontology versions and preview their filtered hierarchies and app listings, without affecting the active version in use by normal users.

Save an Ontology XML Document

Secured Endpoint: POST /admin/ontologies

Delegates to metadata: POST /admin/ontologies

This endpoint is a passthrough to the metadata endpoint using the same path. Please see the metadata service documentation for more information.

Listing Saved Ontology Details

Secured Endpoint: GET /admin/ontologies

Delegates to apps: GET /admin/ontologies

This endpoint is a passthrough to the apps endpoint using the same path. Please see the apps service documentation for more information.

Logically Deleting an Ontology

Secured Endpoint: DELETE /admin/ontologies/{ontology-version}

Delegates to apps: DELETE /admin/ontologies/{ontology-version}

This endpoint is a passthrough to the apps endpoint using the same path. Please see the apps service documentation for more information.

Set Active Ontology Version

Secured Endpoint: POST /admin/ontologies/{ontology-version}

Delegates to apps: POST /admin/ontologies/{ontology-version}

This endpoint is a passthrough to the apps endpoint using the same path. Please see the apps service documentation for more information.

Save an Ontology Hierarchy

Secured Endpoint: PUT /admin/ontologies/{ontology-version}/{root-iri}

Delegates to metadata: PUT /admin/ontologies/{ontology-version}/{root-iri}

This endpoint is a passthrough to the metadata endpoint using the same path. Please see the metadata service documentation for more information.

Deleting an Ontology Hierarchy

Secured Endpoint: DELETE /admin/ontologies/{ontology-version}/{root-iri}

Delegates to metadata: DELETE /admin/ontologies/{ontology-version}/{root-iri}

This endpoint is a passthrough to the metadata endpoint using the same path. Please see the metadata service documentation for more information.

Listing Ontology Hierarchies

Secured Endpoint: GET /apps/hierarchies

Delegates to apps: GET /apps/hierarchies

This endpoint is a passthrough to the apps endpoint using the same path. Please see the apps service documentation for more information.

Listing Filtered Ontology Hierarchies

Secured Endpoint: GET /apps/hierarchies/{root-iri}

Delegates to apps: GET /apps/hierarchies/{root-iri}

This endpoint is a passthrough to the apps endpoint using the same path. Please see the apps service documentation for more information.

Listing Hierarchies for any Ontology

Secured Endpoint: GET /admin/ontologies/{ontology-version}

Delegates to metadata: GET /ontologies/{ontology-version}

This endpoint is a passthrough to the metadata endpoint using the same path. Please see the metadata service documentation for more information.

Listing Filtered Hierarchies for any Ontology

Secured Endpoint: GET /admin/ontologies/{ontology-version}/{root-iri}

Delegates to apps: GET /admin/ontologies/{ontology-version}/{root-iri}

This endpoint is a passthrough to the apps endpoint using the same path. Please see the apps service documentation for more information.

Listing Apps in Hierarchies for the Active Ontology

Secured Endpoint: GET /apps/hierarchies/{root-iri}/apps

Delegates to apps: GET /apps/hierarchies/{root-iri}/apps

This endpoint is a passthrough to the apps endpoint using the same path. Please see the apps service documentation for more information.

Listing Apps in Hierarchies for any Ontology

Secured Endpoint: GET /admin/ontologies/{ontology-version}/{root-iri}/apps

Delegates to apps: GET /admin/ontologies/{ontology-version}/{root-iri}/apps

This endpoint is a passthrough to the apps endpoint using the same path. Please see the apps service documentation for more information.

Listing Unclassified Apps for the Active Ontology

Secured Endpoint: GET /apps/hierarchies/{root-iri}/unclassified

Delegates to apps: GET /apps/hierarchies/{root-iri}/unclassified

This endpoint is a passthrough to the apps endpoint using the same path. Please see the apps service documentation for more information.

Listing Unclassified Apps for any Ontology

Secured Endpoint: GET /admin/ontologies/{ontology-version}/{root-iri}/unclassified

Delegates to apps: GET /admin/ontologies/{ontology-version}/{root-iri}/unclassified

This endpoint is a passthrough to the apps endpoint using the same path. Please see the apps service documentation for more information.