:SELECT * :FROM gene_product INNER JOIN species ON (gene_product.species_id = species.id) INNER JOIN dbxref ON (gene_product.dbxref_id = dbxref.id) INNER JOIN association ON (gene_product.id = association.gene_product_id) INNER JOIN evidence ON (evidence.association_id = association.id) INNER JOIN graph_path ON (association.term_id = graph_path.term2_id) INNER JOIN term ON (graph_path.term1_id = term.id) INNER JOIN term AS associated_term ON (graph_path.term2_id = associated_term.id) :WHERE [term.acc => &term_acc&] [term.name => &term_name&] [species.common_name => &species_common_name&] [species.ncbi_taxa_id => &ncbi_taxa_id&] [dbxref.xref_key => &product_acc&] [dbxref.xref_dbname => &product_dbname&] [association.is_not => &negated& ] [evidence.code => &evidence_code&] :USE NESTING (set(term(graph_path(associated_term(association(evidence)(gene_product(dbxref)(species))))))) // schema: go desc: As go-geneproduct-by-term, but also constrains by evidence example_input: term_acc => SELECT acc FROM term example_input: term_name => SELECT name FROM term ORDER BY name example_input: evidence_code => SELECT DISTINCT code FROM evidence