Scientific Classification Documentation

Preface


The AppDB uses a classification system for scientific disciplines which is based on the Frascati Field of Science and Technology (FOS) . A table with these disciplines may be found on the dedicated EGI Confluence page. Additional information may also be found on the EGI wiki.

REST API


The classification data is also available through the AppDB REST API. The sections below provide details on using the API.

High-level metadata for each existing scientific classification version

  • Resource: classification/versions
  • Methods: GET
  • Parameter(s):
    Name Type Optional Description
    format ENUM(‘xml’, ‘json’)
    Default: ‘xml’
    Yes Response format
  • Example request:
    $ curl "https://appdb-pi.egi.eu/rest/1.0/classification/versions?format=xml"
    
  • Example response (in pseudo-XML):
    <appdb:appdb>
    <classification:version id="1" version="1.1" createdon="..." publishedon="..." archivedon="..." state="archived"/>
    <classification:version id="2" version="1.2" createdon="..." publishedon="..." archivedon="..." state="archived"/>
    <classification:version id="3" version="1.3" createdon="..." publishedon="..." archivedon="..." state="archived"/>
    <classification:version id="4" version="2.0" createdon="..." publishedon="..." archivedon="..." state="archived"/>
    <classification:version id="5" version="2.1" createdon="..." publishedon="..." archivedon="..." state="stable"/>
    <classification:version id="6" version="2.2" createdon="..." publishedon="..." archivedon="..." state="under-devel"/>
    .................................
    </appdb:appdb>
    
  • Response details:
    Element Attribute Type Description
    classification:version id integer A unique version id
    version string The version tag
    createdon datetime version creation date and time
    publishedon datetime Version publication date and time. This attribute appears only if the state of the given version becomes ‘stable’.
    archivedon datetime Version archival date and time. This attribute appears only if the state of the given version becomes ‘archived’.
    state ENUM(‘stable’, ‘under-devel’, ‘archived’) ‘stable’: indicates the stable/production-grade scientific classification version.
    ‘under-devel’: indicates a version that is under development
    ‘archived’: older versions

Full metadata for a specific (:id) scientific classification version

  • Resource: classification/version/:id
  • Methods: GET
  • Parameter(s):
    Name Type Optional Description
    :id integer No A specific version id
    format ENUM(‘xml’, ‘json’)
    Default: ‘xml’
    Yes Response format
  • Example request:
    $ curl "https://appdb-pi.egi.eu/rest/1.0/classification/version/1?format=xml"
    
  • Example response (in pseudo-XML):
    <appdb:appdb>
    <classification:version id="1" version="1.0" createdon="..." publishedon="..." archivedon="..." state="stable">
    <classification:discipline id="1078" parentid="1138" order="1" value="Level2"/>
    <classification:discipline id="1079" parentid="1138" order="2" value="Level2"/>
    <classification:discipline id="1047" parentid="1138" order="3" value="Level2"/>
    <classification:discipline id="1139" parentid="1201" order="2" value="Level2"/>
    <classification:discipline id="1080" parentid="1201" order="1" value="Level2"/>
    <classification:discipline id="1138" parentid="1252" order="1" value="Level1"/>
    <classification:discipline id="1201" parentid="1252" order="2" value="Level1"/>
    <classification:discipline id="1252" parentid="0" order="1" value="Level0"/>
    .................................
    </classification:version>
    </appdb:appdb>
    
  • Response details:
    Element Attribute Type Description
    classification:version id integer A unique version id
    version string The version tag
    createdon datetime version creation date and time
    publishedon datetime Version publication date and time. This attribute appears only if the state of the given version becomes ‘stable’.
    archivedon datetime Version archival date and time. This attribute appears only if the state of the given version becomes ‘archived’
    state ENUM(‘stable’, ‘under-devel’, ‘archived’) ‘stable’: indicates the stable/production-grade scientific classification version.
    ‘under-devel’: indicates a version that is under development
    ‘archived’: older versions
    classification:discipline id integer A unique discipline id
    parentid integer the parent discipline unique id. ‘0’ indicates a top-level discipline.
    order integer An integer that defines the order of the given discipline within the tree branch.
    value string the discipline name/title