-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AmiGO should support a more full JSON REST API for data retreival #292
Comments
Conversation capture: Justin, For your short-term aims, given the information, I believe that There is other interest in capturing some very basic GIS elements in A minor question about BisQue: is that a matlab based project? Cheers, -Seth On 01/20/2016 06:50 PM, Justin Preece wrote:
|
See if this helps https://apiary.io/ in building APIs. |
Plant Breeding API is using this http://docs.brapi.apiary.io/# |
Poking around a little, it seems to be an interesting tool, but I feel a bit squeegee about using non-free tooling in a project. (Oh hi, GitHub!). I'm not entirely sure what one would get over swagger and a mock server however. |
I think its free for open source project like ours. |
Sorry, I meant "free" as in OSS or libre software, rather than free of charge. (For the former, I'm always happy to pay.) |
i get it |
Instead of opening a new ticket, let's continue on here. This is from a discussion with @elserj @preecej @hdietze earlier today, and to help fill in @cmungall about what we talked about. Given some of the technical details about the final use of the JSON API (used for non-JS clients for things like autocomplete, etc.), I no longer believe that we can accomplish these goals extending the current perl API. Because of this, the API services will initially be a standalone service, probably copied right out of the geneontology/go-numbers-service code (which would likely be folded back in at some point), and separately deployed. While initially just a server wrapper for the JSON API, it would be the seed for an eventual "AmiGO 3", which would be a UI layer over it that was essentially a port of the current AmiGO 2 stack. (This final bit would be in the nebulous future as a deliverable.) As the geneontology/go-numbers-service already lays out the use of engines and arguments, and I have heard nothing yet that isn't essentially a RESTification of the current bookmark "api" (which we already have), an initial usable effort is not expected to take more than a day, and should be ready during the window of February given by @preecej . |
Thanks, Seth. To brass tacks, then... Immediate use-case: Serve two API methods from planteome.org (via the AmiGO platform) -- ontology term search and ontology term details -- that return ontology data from Planteome's Solr instance for annotating images with ontology terms in the CyVerse Bisque environment. Needs to be fast enough to be integrated with autocomplete boxes and dialogue labels on 3rd-party Bisque client-side interface Method 1: Term Search - { term_search_response: [ { match: <term name>, match_type: <term or synonym>, accession_id: <##:#######>, ontology: <ontology name> }, ... ]} Method 2: Term Detail - this already exists! This is a starting point. Feel free to suggest refinements. Thanks! |
What is the expected value of the ontology field? |
A distinct namespace representing a particular ontology: gene_ontology, plant_ontology, plant_disease_ontology, traint_ontology, etc. Justin Preece
|
This is currently impossible for amigo as there is no such metadata in any of the existing ontology files. First you'll want to insert a dc:title annotation on each ontology. Then we can either have a generic ontology owl:annotation query method, where the client passes in the annotationProperty, or a specific method. Either way the annotation needs to be there. |
Could it use the exiting ontology annotation in the header, rather than the whole namespace? Also there is this: |
i vote for using default-namespace. this value will be converted to natural language for use by "real-live humans" in a client UI. ;) |
You can't use default-namespace, it's a syntactic directive that exists only in .obo. I recommend using standard annotation properties |
Fine. dc:title annotation on each ontology. Who should make this annotation? We just need to be able to pull the name of the ontology associated with a term, since I am assuming that our search results will mix ontology terms (PO, GO, TO, EO, etc. all living in one AmiGO data store), and our users would like some clarity in identifying the source of various terms as they annotate images and other data. Seth: How does this sound to you? |
We talked a little about this and it sounds good. We'll chart progress for this part on #305. |
…ices; added standardized packet/return format; also added auto-restart daemon for developement; work on #292; TODO: numbers services are now all broken (no manager accumulation in async mode); TODO: add autocomplete/lite trigger; TODO: fix number services
@elserj While there is some more work to do (mainly trying to re-enable the numbers services in this fork and getting the payload to be lighter in "autocomplete" situations), you might want to start taking a look at deploying (and otherwise playing with) amigo.js.
TODO:
|
…t here first; updated all old synchronous golr numbers service code to use new async promise format; work on #292
Short of bugs, I think that this has all been implemented for the first pass (with some use cases being met by creating additional search personalities). |
While AmiGO current supports a minimal API (i.e. http://wiki.geneontology.org/index.php/AmiGO_2_Manual:_Linking_To_AmiGO_2), there is a clamour for a more full-bodied API:
It should be noted that while there is interest in moving forward with a new and better AmiGO API based around the JS API, rereading the initial request, the minimal requirements could likely be met with the current perl framework.
The text was updated successfully, but these errors were encountered: