Skip to content

OccO Editing

jie zheng edited this page Oct 4, 2023 · 7 revisions

OccO Templates

The OccO is developed fully in modules using Robot template feature.

OccO contains 10 templates

  1. occo_terms.tsv

    The template contains all OccO terms except ability and skill and their subClasses with their annotations.

  2. ability_types.tsv

    The template contains the ability and its subClasses with their annotations.

  3. skill_types.tsv

    The template contains the skill and its subClasses with their annotations.

  4. job_zones.tsv

    The template specifies the job zone axioms associated with 'occupation holder'.

  5. job_zones_equivalent.tsv

    The template defines the 'occupation holder job zone' equivalent axiom.

  6. top_abilities_annotations.tsv

    The template defines top abilities associated with 'occupation holder' using annotations.

  7. top_abilities_axioms.tsv

    The template defines abilities associated with 'occupation holder' using logic axioms.

  8. top_skills_annotations.tsv

    The template defines top skills associated with 'occupation holder' using annotations.

  9. top_skills_axioms.tsv

    The template defines skills associated with 'occupation holder' using logic axioms.

  10. occo_obsolete.tsv

    The template contains deprecated OccO terms with some specific annotations such as obsolete reason.

The Robot template command is used to convert the templates into the OWL files under the modules directory.

The commands have been added in the Makefile. To generate the modules, please run following commands.

make modules

Regenerate the module OWL files if their corresponding templates were updated.

make -B modules

Regenerate all module OWL files.

Run ROBOT required Java 1.9.

OccO Imports

The OccO used the import strategy to reuse the terms in the external resources. The Onofox is used to import the terms from external ontologies that stored in the Ontobee server.

The Ontofox input files are under src/ontology/Ontofox_input. One input file is used for retrieving the ontology terms from one external ontology.

The Makefile also included the commands to run Ontofox.

make imports

Rerun Ontofox to retrieve the ontology terms if the corresponding ontoFox input files were changed.

make -B imports

Rerun Ontofox to retrieve all the ontology terms from all used external ontologies.

Make OccO changes

Changes (add/edit a term) should be made in the OccO template files for OccO terms or the Ontofox input files for external ontology terms and run make command to regenerate the OWL files. It is better to create an issue tracker before make the changes in the ontology.

Start from a local copy of the main branch of the OccO repository. Make sure your local copy is up-to-date. Make your changes on a new branch.

When you're ready, push your branch to the OccO repository and make a Pull Request (PR) on the GitHub website. The PR will be tested, discussed, adjusted if necessary, then merged.

Here are the steps with their CLI commands.

  1. git fetch make sure your local copy is up-to-date
  2. git checkout master start on the master branch
  3. git checkout -b your-branch-name create a new branch named for the change you're making
  4. make your changes in the templates and run make commands
  5. git status and git diff inspect your changes
  6. git add --update src/ add all updated files in the src/ directory to staging
  7. git commit --message "Description, issue #123" commit staged changes with a message; it's good to include an issue number
  8. git push --set-upstream origin your-branch-name push your commit to GitHub
  9. open https://github.com/Occupation-Ontology/OccO/ in your browser and click the "Make Pull Request" button
  10. It's good to assign an OccO developer to review the changes.

When that review is complete, the changes (PR) will be merged to the master branch.

Clone this wiki locally