All modules are located in the sti repository of the Odalic project.

  • odalic
    • This module contains almost all the extensions added to the original STI TableMiner+ under this project, apart from those that modify the algorithm or work with knowledge bases and web search.
    • It is divided into packages, which detailed description is provided in relevant parts of the developer documentation. They are the following (some low-level packages were left-out from this overview for sake of clarity, they are described in the Javadoc):
      • api (available server APIs)
        • rdf (RDF input and outputs - only task and bases configuration so far)
        • rest (REST API classes, all built atop the standard Jersey server library)
      • bases (list of working knowledge bases; now a full-fledged runtime bases management is supported)
      • entities (searching of available existing and proposing of new, custom RDF resources)
      • feedback (model classes used to describe the feedback user provides to the algorithm)
      • files (input files management and format configuration)
      • input (parsing of the input files and tied domain classes)
      • outputs (result export formats and facilitating classes)
        • annotatedtable (JSON-formatted annotations complementary to the extended CSVs)
        • csvexport (extended CSV files, see https://www.w3.org/2013/csvw/wiki/Main_Page for the standard draft)
        • rdfexport (RDF serialization formats)
      • tasks (tasks management)
        • annotations (classes representing the table annotations produced by the processing algorithm)
        • configurations (task configuration classes and service - one of the factors, next to the input and state of used knowledge bases, affecting the processing result)
        • executions (execution environment for the tasks, directly employing the modified TableMiner+ algorithm)
        • feedbacks (means to provide a feedback to the algorithm)
        • results (processing result representation and conversion from and to the format used by the algorithm)
      • users (user management, authorization and authentication support)
      • util (utilities applicable across the whole extension project)
        • configuration (configuration reading utilities)
        • hash (password hashing)
        • mail (e-mails delivery)
        • storage (keeping of the server state after shut-down or restart)
  • sti-common-utils
    • Original STI module.
    • This module contains utility classes (cache interface, string and serialization utilities) used by more than one original sti module.
  • sti-kbproxy (interfaces to knowledge base proxies and factory methods creating them from the configuration files or configuration provided via API)
    • model (model classes of the objects kept in the bases)
    • sparql (proxies to bases accessible through SPARQL endpoints)
  • sti-main
    • Original STI module, stripped of non-essential parts (such as files batch processing, baseline algorithms, HTML parsing,...), cleaned-up and extended with code to accept user feedback and other improvements.
    • core
      • algorithm (the modified TableMiner+ algorithm)
      • extension (feedback classes mirrored from the odalic module to avoid circular dependence, their instances are fed to the algorithm, encapsulated in the Constraint instance)
      • model (internal annotations model of the algorithm, these classes are generally mutable and not fit to use outside of the module scope)
      • scorer (score computation for the candidates to annotations)
      • subjectcol (subject column, a.k.a "primary key" column discovery)
    • nlp (NLP processing tools)
    • util
  • sti-websearch
    • Original STI module, but heavily rewritten in order to accommodate the new version of the Bing API.
    • Contains a simple web client querying the public API of the Bing web search. Its results are used to compute scores of the candidates to annotations.