Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

OWLTools

  • What it is — OWLTools is a Java library and command-line toolkit that simplifies common OWLAPI operations, especially work with annotation properties and connections between classes. Its documented scope also includes sound transitive closure over large ontologies, ontology release building, ontology-based data mining and statistics, semantic similarity, class enrichment, and an NCBI Taxonomy-to-OWL converter.

  • Key concepts

    • Direct connectivity: determine whether classes are connected by restrictions such as SubClassOf part_of some, including nested expressions, without an intermediate named object, and recover the relationship connecting them.
    • Indirect connectivity and closure: follow chains such as transitive part_of relations to obtain ancestors; the docs contrast this traversal need with repeatedly testing or pre-naming class expressions for a DL reasoner.
    • Least Common Subsumers (LCSs): semantic similarity may require an LCS that includes class expressions, not only named classes—for example, preserving a shared quality or a shared has_part restriction.
    • Semantic similarity: compare individuals by properties in common using metrics the docs name, including Jaccard similarity and information-content measures over an LCS.
    • Taxonomy modeling: the NCBI converter creates an OWL class per taxon, turns parent IDs into superclass links, uses stable OBO-style IRIs, and represents labels, cross-references, ranks, and typed synonym annotations.
  • How you’d use it — Download the prebuilt executable script/JAR, make the wrapper executable if necessary, add its directory to PATH, and start with owltools -h; alternatively, build the Maven projects from a proper Git clone with mvn clean install. For NCBI Taxonomy conversion, provide the line-based taxonomy.dat input to ncbi2owl.jar and produce OWL/XML; advanced modes can also serialize axioms to text so Unix sort and diff can compare representations.

  • LLM angle — none stated

  • Pitfalls & lessons

    • A source build requires Git metadata: the build embeds branch, version, and date in the JAR manifest and fails when .git is absent, so a proper Git clone is required.
    • Skipping tests with -DskipTests is explicitly marked “Not Recommended”; normally any failed test stops the build.
    • NCBI conversion is resource-heavy: the documented input exceeds 200 MB, the resulting OWL file exceeds 800 MB, and conversion needs several GB of RAM.
    • Comparing two OWL representations is described as tricky; the documented workaround is to serialize the OWLAPI axioms, sort them, and compare the sorted text.
    • Some NCBI fields (MGC ID and INCLUDES) are explicitly not handled.
  • Verdict — A practical OWLAPI-based utility suite for ontology graph traversal, semantic-similarity support, release work, and large taxonomy conversion, rather than a general-purpose LLM or RAG framework.

Sources consulted

  • README.md
  • OWLTools-Core/README.txt
  • OWLTools-NCBI/README.txt
  • OWLTools-Oort/reporting/README.txt
  • OWLTools-Runner/contrib/README.md