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 versionsclassification: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