Difference between revisions of "Ontology Service API Break-out Group"

From phenoscape
(Service definitions)
(Redirecting to Ontology Data Service API)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Goal and motivation==
+
#REDIRECT [[Ontology Data Service API]]
 
 
A common API implemented by ontology data services enables clients such as EQ editors that heavily rely on such a service to plug into different data providers, local or remote, at their choice.
 
 
 
==Service definitions==
 
 
 
# Ontology listing lookup
 
#* Function: lookup the ontologies being served by the data service
 
#* Input: none, or a particular name, and/or the name of the ontology category
 
#* Output: a record of name, version, identifier, meta-data (e.g., retired? in production? purpose?) for each ontology being served
 
# Look up term
 
#* Function: Obtain the full term information for a given ID
 
#* Input: a term ID, or the combination of a term name and ontology ID
 
#* Output: the matching term in OBO or RDF/OWL format
 
#* Notes: do we need neighborhood here too (e.g., with IDs only); OBO only has parents, not children.
 
# Completion list
 
#* Function: Obtain matching term names for a partial term name string
 
#* Input: partial term name string, a list of ontology IDs, search parameters (search names only or synonyms only or both, search obsoletes or not, search definition or not)
 
#* Output: matches as records of term name, term ID, ontology ID, synonym that was hit, how the term was hit (name, synonym, or definition)
 
# Neighborhood graph
 
#* Function: Obtain parents, children, descendants, or ancestors for a given term
 
#* Input: term ID, list of relationships to include or exclude, number of levels (path length) up and down to include
 
#* Output: list of terms in OBO or RDF format
 
#* Note: Is it sensible to return a graph as OBO format? Do we need to mandate the semantics of matching mixed-type paths (e.g., is-a and part-of)?
 
# Downloading ontology
 
#* Function: Obtain all terms and relationships comprising an ontology
 
#* Input: ontology ID, optionally name of the slim
 
#* Output: the ontology as an OBO or OWL stream of text
 
#* Notes: do we need a parameter for specifying the desired format? do we need parameter for including obsoletes or not
 
# Login
 
#* Function: Given a username and secret, obtain an authentication token
 
#* Input:
 
#* Output:
 
# Save EQ statements
 
#* Function: Save an array of EQ statements to the data store
 
#* Input: a list of EQ statements on OBD-xml or pheno-xml format
 
#* Output: success/failure indicator
 
# Load EQ statements
 
#* Function: Load an array of EQ statements from the data store
 
#* Input: author, or list of taxa,
 
#* Output: matching EQ statements in pheno-xml or pheno-syntax format
 
#* Notes: do we need parameter of list of entities to obtain EQs for?
 
# SPARQL endpoint
 
#* Function: Issue SPARQL queries and obtain the results in RDF
 
#* Input:
 
#* Output:
 
 
 
; Notes :
 
;*
 
 
 
==Query languages==
 
 
 
* SPARQL
 
 
 
==Data exchange formats==
 
 
 
* Text over HTTP:
 
** OBO format
 
** OBO-XML format
 
** OBD-XML format
 
** RDF
 

Latest revision as of 23:56, 10 January 2009