Ontofox is a web-based Ontology tool that fetches ontology terms and axioms. Ontofox supports ontology reuse. It allows users to input terms, fetch selected properties, annotations, and certain classes of related terms from source ontologies and save the results using the RDF/XML serialization of the OWL. Ontofox follows and expands the MIREOT principle. Inspired by existing ontology modularization techniques, Ontofox also develops a new SPARQL-based ontology term extraction algorithym that extracts terms related to a given set of signature terms. In addition, Ontofox provides an option to extract the hierarchy rooted at a specified ontology term. Note: We have now changed the name "OntoFox" (with capital F) to "Ontofox" (with low case f) to be consistent with other Ontoanimal tools.

Notice: All the OBO ontologies have changed the term URI format from http://purl.org/obo/owl/ontology#ontology_nnnnnnn to http://purl.obolibrary.org/obo/ontology_nnnnnnn. Please make sure your input files are updated.

Ontofox is implemented using one of the following three methods, based on how data is input and whether the Ontofox web interface is used:

1. Data input using web forms:
Examples: Example 1, example 2, example 3, example 4, example 5

(1) Select one ontology:
Or enter your favorite source ontology and SPARQL endpoint: Example
(2) Term specification:
(a) Include low level source term URIs:
(One URI per line. To include all child terms of a source term (extract the whole branch), enter "includeAllChildren" in the line next to the source term)

(b) Include top level source term URIs and target direct superclass URIs (One URI per line, optional):
(c) Select a setting for retrieving intermediate source terms:
(3) Annotation/Axiom Specification: Include source annotation URIs (One URI per line, optional):
Examples: rdfs:label, iao:preferredTerm, iao:definition, iao:alternative term, oboInOwl:hasDefinition, oboInOwl:hasSynonym, owl:equivalentClass.
      The default is no annotation to be assigned. Use includeAllAnnotationProperties to include all annotations. Use includeAllAxioms to include all annotations and other related axioms. Use includeAllAxiomsRecursively to include all axioms for the specified terms and the related terms recursively.
(4) Annotation/Axiom to be excluded (One URI per line, optional):
(5) URI of the OWL(RDF/XML) output file:

2. Data input using local text file:
Example: Sample file (Data format description)

Upload input file:

3. Remote Ontofox access without using the Ontofox web page:
For those users who like to access Ontofox programmatically without coming to Ontofox web page, we have generated a new php script: http://ontofox.hegroup.org/service.php. An example command line code to use this script is here: "curl -s -F file=@"/tmp/input.txt" -o /tmp/output.owl https://ontofox.hegroup.org/service.php". Note: Here http:// has been changed to https:// since March 20, 2022. Please change accordingly.
Note that in the above curl command, the “-s” is an option for silent mode. It will avoid returning any HTTP status/message from CURL. If the command with “-s” does not work out with you, you may remove the option and test again.
A Perl script (or a program based on Java or other language) can also be developed. In this case, a user will need use "put" to access this page.

Please Cite Publication: Xiang Z, Courtot M, Brinkman RR, Ruttenberg A, He Y. OntoFox: web-based support for ontology reuse. BMC Research Notes. 2010, 3:175. [PMID: 20569493] (Note: Check out more references).

Your feedback on Ontofox is welcome and important for us to improvie this service. Thank you!