I tried the query defined in the Go Example queries: and added some filtering on t.term_type, t.is_root and t.is_obsolete
Finding all ancestors of a term: SELECT p.* FROM graph_path INNER JOIN term AS t ON (t.id = graph_path.term2_id and t.term_type="biological_process") INNER JOIN term AS p ON (p.id = graph_path.term1_id and t.term_type="biological_process") WHERE t.name = 'DNA Helicase activity'; I added to the where clause: and t.is_root=0 and t.is_obsolete=0; I still get in the result: some terms refering to the root name=biological_process or name=physiological_process. Also these are duplicated rows. Should not this query reduce the result to the biological process terms only with no duplicates? Thank you Laurie -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]