Difference between revisions of "CTS2 BioPortal wrapper summary"

From NCBO Wiki
Jump to navigation Jump to search
Line 2: Line 2:
  
 
=== CodeSystemCatalogQuery ===
 
=== CodeSystemCatalogQuery ===
*Query:{{CTS2_REST_base}}codesystems
+
* Query: {{CTS2_REST_base}}codesystems
* Query: http://informatics.mayo.edu/cts2/rest/codesystems
+
** Query with 'about' filter: {{CTS2_REST_base}}codesystems?matchvalue=oid&filtercomponent=about
** Query with 'about' filter: http://informatics.mayo.edu/cts2/rest/codesystems?matchvalue=oid&filtercomponent=about
+
** Query with 'name' filter: {{CTS2_REST_base}}codesystems?matchvalue=nci&filtercomponent=resourceName
** Query with 'name' filter: http://informatics.mayo.edu/cts2/rest/codesystems?matchvalue=nci&filtercomponent=resourceName
+
** Query with 'description' filter: {{CTS2_REST_base}}codesystems?matchvalue=databases&filtercomponent=resourceSynopsis
** Query with 'description' filter: http://informatics.mayo.edu/cts2/rest/codesystems?matchvalue=databases&filtercomponent=resourceSynopsis
+
** Query with 'keyword' filter: {{CTS2_REST_base}}codesystems?matchvalue=100&filtercomponent=keyword
** Query with 'keyword' filter: http://informatics.mayo.edu/cts2/rest/codesystems?matchvalue=100&filtercomponent=keyword
+
** Query with 'bioportalId' filter: {{CTS2_REST_base}}codesystems?matchvalue=1007&filtercomponent=ontologyId&referencetype=property
** Query with 'bioportalId' filter: http://informatics.mayo.edu/cts2/rest/codesystems?matchvalue=1007&filtercomponent=ontologyId&referencetype=property
 
 
** ('contains' and 'exactmatch' algorithms supported)
 
** ('contains' and 'exactmatch' algorithms supported)
 
* 'Count' via HEAD call
 
* 'Count' via HEAD call
  
 
=== CodeSystemCatalogRead ===
 
=== CodeSystemCatalogRead ===
* Read by name: http://informatics.mayo.edu/cts2/rest/codesystem/SNOMEDCT
+
* Read by name: {{CTS2_REST_base}}codesystem/SNOMEDCT
* Read by uri: http://informatics.mayo.edu/cts2/rest/codesystembyuri?uri=http://purl.bioontology.org/ontology/SNOMEDCT
+
* Read by uri: {{CTS2_REST_base}}codesystembyuri?uri=http://purl.bioontology.org/ontology/SNOMEDCT
 
* 'Exists' via HEAD call
 
* 'Exists' via HEAD call
  
 
=== CodeSystemCatalogVersionQuery ===
 
=== CodeSystemCatalogVersionQuery ===
* Query: http://informatics.mayo.edu/cts2/rest/codesystemversions
+
* Query: {{CTS2_REST_base}}codesystemversions
* Query code system versions of code system: http://informatics.mayo.edu/cts2/rest/codesystem/SNOMEDCT/versions
+
* Query code system versions of code system: {{CTS2_REST_base}}codesystem/SNOMEDCT/versions
** Query with 'about' filter: http://informatics.mayo.edu/cts2/rest/codesystemversions?matchvalue=oid&filtercomponent=about
+
** Query with 'about' filter: {{CTS2_REST_base}}codesystemversions?matchvalue=oid&filtercomponent=about
** Query with 'name' filter: http://informatics.mayo.edu/cts2/rest/codesystemversions?matchvalue=nci&filtercomponent=resourceName
+
** Query with 'name' filter: {{CTS2_REST_base}}codesystemversions?matchvalue=nci&filtercomponent=resourceName
** Query with 'description' filter: http://informatics.mayo.edu/cts2/rest/codesystemversions?matchvalue=anatomy&filtercomponent=resourceSynopsis
+
** Query with 'description' filter: {{CTS2_REST_base}}codesystemversions?matchvalue=anatomy&filtercomponent=resourceSynopsis
 
** ('contains' and 'exactmatch' algorithms supported)
 
** ('contains' and 'exactmatch' algorithms supported)
 
* 'Count' via HEAD call
 
* 'Count' via HEAD call
  
 
=== CodeSystemVersionCatalogRead ===
 
=== CodeSystemVersionCatalogRead ===
* Read by name: http://informatics.mayo.edu/cts2/rest/codesystem/LNC/version/LNC_226_RRF
+
* Read by name: {{CTS2_REST_base}}codesystem/LNC/version/LNC_226_RRF
* Or OfficialResourceVersionId: http://informatics.mayo.edu/cts2/rest/codesystem/LNC/version/226
+
* Or OfficialResourceVersionId: {{CTS2_REST_base}}codesystem/LNC/version/226
 
* 'Exists' via HEAD call
 
* 'Exists' via HEAD call
  
 
=== EntityDescriptionQuery ===
 
=== EntityDescriptionQuery ===
* Query with 'description' http://informatics.mayo.edu/cts2/rest/entities?matchvalue=swelling
+
* Query with 'description' {{CTS2_REST_base}}entities?matchvalue=swelling
* Get all entities of code system version: http://informatics.mayo.edu/cts2/rest/codesystem/AIR/version/AIR_1993_RRF/entities
+
* Get all entities of code system version: {{CTS2_REST_base}}codesystem/AIR/version/AIR_1993_RRF/entities
* Query entities of code system version with 'keyword' filter: http://informatics.mayo.edu/cts2/rest/codesystem/LNC/version/LNC_226_RRF/entities?matchvalue=100
+
* Query entities of code system version with 'keyword' filter: {{CTS2_REST_base}}codesystem/LNC/version/LNC_226_RRF/entities?matchvalue=100
 
** ('contains' and 'exactmatch' algorithms supported)
 
** ('contains' and 'exactmatch' algorithms supported)
 
* 'Count' via HEAD call
 
* 'Count' via HEAD call
  
 
=== EntityDescriptionRead ===
 
=== EntityDescriptionRead ===
* Read by name: http://informatics.mayo.edu/cts2/rest/codesystem/LNC/version/LNC_226_RRF/entity/LP31957-1
+
* Read by name: {{CTS2_REST_base}}codesystem/LNC/version/LNC_226_RRF/entity/LP31957-1
* Or using CSV OfficialResourceVersionId : http://informatics.mayo.edu/cts2/rest/codesystem/LNC/version/226/entity/LP31957-1
+
* Or using CSV OfficialResourceVersionId : {{CTS2_REST_base}}codesystem/LNC/version/226/entity/LP31957-1
 
*: NOTE: Does not support Entity lookup by URI (See notes below)
 
*: NOTE: Does not support Entity lookup by URI (See notes below)
 
* 'Exists' via HEAD call
 
* 'Exists' via HEAD call
  
 
=== ValueSetCatalogQuery ===
 
=== ValueSetCatalogQuery ===
* Query: http://informatics.mayo.edu/cts2/rest/valuesets
+
* Query: {{CTS2_REST_base}}valuesets
** Query with 'about' filter: http://informatics.mayo.edu/cts2/rest/valuesets?matchvalue=FMA_subset&filtercomponent=about
+
** Query with 'about' filter: {{CTS2_REST_base}}valuesets?matchvalue=FMA_subset&filtercomponent=about
** Query with 'name' filter: http://informatics.mayo.edu/cts2/rest/valuesets?matchvalue=set&filtercomponent=resourceName
+
** Query with 'name' filter: {{CTS2_REST_base}}valuesets?matchvalue=set&filtercomponent=resourceName
** Query with 'description' filter: http://informatics.mayo.edu/cts2/rest/valuesets?matchvalue=anatomy&filtercomponent=resourceSynopsis
+
** Query with 'description' filter: {{CTS2_REST_base}}valuesets?matchvalue=anatomy&filtercomponent=resourceSynopsis
** Query based on code system restriction: http://informatics.mayo.edu/cts2/rest/valuesets?codesystem=SNOMEDCT
+
** Query based on code system restriction: {{CTS2_REST_base}}valuesets?codesystem=SNOMEDCT
 
** ('contains' and 'exactmatch' algorithms supported)
 
** ('contains' and 'exactmatch' algorithms supported)
 
* 'Count' via HEAD call
 
* 'Count' via HEAD call
  
 
=== ValueSetCatalogRead ===
 
=== ValueSetCatalogRead ===
* Read by name: http://informatics.mayo.edu/cts2/rest/valueset/SNOMEDCT-MAS
+
* Read by name: {{CTS2_REST_base}}valueset/SNOMEDCT-MAS
 
* 'Exists' via HEAD call
 
* 'Exists' via HEAD call
  
 
=== ValueSetDefinitionQuery ===
 
=== ValueSetDefinitionQuery ===
* Read by name: http://informatics.mayo.edu/cts2/rest/valueset/SCTSPA/definitions
+
* Read by name: {{CTS2_REST_base}}valueset/SCTSPA/definitions
 
* 'Exists' via HEAD call
 
* 'Exists' via HEAD call
  
 
=== ValueSetDefinitionRead ===
 
=== ValueSetDefinitionRead ===
* Read by name: http://informatics.mayo.edu/cts2/rest/valueset/SCTSPA/definition/42157
+
* Read by name: {{CTS2_REST_base}}valueset/SCTSPA/definition/42157
 
* 'Exists' via HEAD call
 
* 'Exists' via HEAD call
  
 
=== ValueSetDefinitionResolutionService ===
 
=== ValueSetDefinitionResolutionService ===
* Read by name: http://informatics.mayo.edu/cts2/rest/valueset/SCTSPA/definition/42157/resolution?resolutiontype=entitydirectory
+
* Read by name: {{CTS2_REST_base}}valueset/SCTSPA/definition/42157/resolution?resolutiontype=entitydirectory
 
* 'Exists' via HEAD call
 
* 'Exists' via HEAD call
  
 
=== AssociationQuery ===
 
=== AssociationQuery ===
* Query 'sourceOf' associations of entity: http://informatics.mayo.edu/cts2/rest/codesystem/SNOMEDCT/version/SNOMEDCT_2010_01_31_RRF/entity/100001001/sourceof
+
* Query 'sourceOf' associations of entity: {{CTS2_REST_base}}codesystem/SNOMEDCT/version/SNOMEDCT_2010_01_31_RRF/entity/100001001/sourceof
* Query 'children' associations of entity: http://informatics.mayo.edu/cts2/rest/codesystem/MSH/version/MSH_2009_2009_02_13_RRF/entity/D006321/children
+
* Query 'children' associations of entity: {{CTS2_REST_base}}codesystem/MSH/version/MSH_2009_2009_02_13_RRF/entity/D006321/children
  
 
=== AdvancedAssociationQuery ===
 
=== AdvancedAssociationQuery ===
* Get root nodes of a code system version: http://informatics.mayo.edu/cts2/rest/codesystem/SNOMEDCT/version/SNOMEDCT_2010_01_31_RRF/graph?focus=TOP_NODE&direction=FORWARD
+
* Get root nodes of a code system version: {{CTS2_REST_base}}codesystem/SNOMEDCT/version/SNOMEDCT_2010_01_31_RRF/graph?focus=TOP_NODE&direction=FORWARD
* Get graph of focusn node in code system version:http://informatics.mayo.edu/cts2/rest/codesystem/SNOMEDCT/version/SNOMEDCT_2010_01_31_RRF/graph?focus=243796009&direction=FORWARD
+
* Get graph of focusn node in code system version:{{CTS2_REST_base}}codesystem/SNOMEDCT/version/SNOMEDCT_2010_01_31_RRF/graph?focus=243796009&direction=FORWARD
 
* NOTES: Currently only supports direction=FORWARD and depth=1
 
* NOTES: Currently only supports direction=FORWARD and depth=1
  

Revision as of 09:08, 25 January 2012

CTS2 REST Services

CodeSystemCatalogQuery

CodeSystemCatalogRead

CodeSystemCatalogVersionQuery

CodeSystemVersionCatalogRead

EntityDescriptionQuery

EntityDescriptionRead

ValueSetCatalogQuery

ValueSetCatalogRead

ValueSetDefinitionQuery

ValueSetDefinitionRead

ValueSetDefinitionResolutionService

AssociationQuery

AdvancedAssociationQuery

ISSUES

  • URI issues
  • Views as ontologies is problematic
  • Search returns hits back from views. We can restrict the search to only ontologyIds that are ontologies, but that tested to be a 4-5x performance hit on the searc
  • A search will sometimes return results with an 'ontologyId' that doesn't match to anything. For example:
    • http://rest.bioontology.org/bioportal/search/core?apikey=880e5e30-0fa9-4cba-b25f-3069b15577f9
      results in:
	 <searchBean>
	 <ontologyVersionId>45952</ontologyVersionId>
	 <ontologyId>1634</ontologyId>
 	 <ontologyDisplayLabel>Infectious DIsease Ontology</ontologyDisplayLabel>
 	 <recordType>apreferredname</recordType>
 	 <objectType>individual</objectType>
 	 <conceptId>http://purl.obolibrary.org/obo/IAO_0000224</conceptId>
 	 <conceptIdShort>obo:IAO_0000224</conceptIdShort>
 	 <preferredName>core</preferredName>
 	 <contents>core</contents>
 	 </searchBean>
 	 ...
   
  • No bioportal REST signature to search for an entity based on ontologyVersionId
  • No bioportal REST signation to get an Entity by its URI (or 'fullId') in bioportal
  • No good way to get all entities in the system (can get all of an ontologyId)
  • Can't get all associations, so we can't do /codesystem/CSNAME/version/VERSION/associations -- there is no efficient way to do this in bioportal.

SVN

SVN url