Semantic resources project/Ontological Term Query Interface

Now that we've got two implementations of interfaces which turn text into ontological terms, it's probably time to abstract the interface.

Consider providing a bridge to the NCBO Annotator Web Service, or the OpenCalais article annotation service, as well.

What does an ontological query require?
 * 1) query text : the text to match, either completely or in parts
 * 2) context : identifier to allow disambiguation of synonyms
 * 3) target ontologies : what should be matched against?
 * 4) known matches : what parts of the text are known to match already?

What should an ontological query receive in response? A list of proposed matches, each of which includes:
 * 1) match location : the location of the substring in the original query text that was used to generate this match
 * 2) matched term : the value which is matched to this term, typically, a term from one of the target ontologies
 * 3) matched ontology : the ontology from which the matched term is drawn, a member of the set of target ontologies specified in the query

OpenSearch might also be a point of reference for a web-based search interface.