FindAModelSoftwareDeveloper

This section is likely to grow rapidly, for now we'll just start with a few goals and use-cases. This use-case is a specialization of the more general find a model(FindAModel) use-case/goal.

General goal

Machine level interfaces for forming search queries, submitting them, and retrieving result sets. Result sets contain or make reference to models in the CellML format. Note - this last restriction is quite important - keeps things focused.

Specific goals

  • form a query from model data in a particular format and submit it to a search interface.

    Use-case: Find models by submitting formatted data through a programmable interface - e.g. a biopax model, another CellML model. Have a look at FindAModelModellerSubmitFormatedData - which is the modeller centric view on this, and which probably ends up using this use-case.

  • form a query from terms used to search data or metadata of a model( see also CellMLMetadata )

    The goal is a pretty classic submit search terms and get some results type machine level interaction. These queries are done at a programming level, so we should identify some useful ways of doing 'term' searches.

    Use-case: submit simple key words to a search interface and get back a result set

  • form a logical query, using for example description logic based queries (see also CellMLOntologies).

  • Searches should return result sets, so a goal is to return result sets.

    Use-case: Return search results(FindAModelSoftwareDeveloperGetSearchResults)

what kinds of data do we want to base our searches on?

It makes sense to base the search terms and query methods on the "metadata specification.":http://www.cellml.org/public/metadata/cellml_metadata_specification.html As the logical model develops for CellML, then this metadata aspect will become a much richer system for annotating and querying models(see CellMLOntologies).