Skip to content

This is a working repository for work associated with the IOF Maintenance Activity Ontology

Notifications You must be signed in to change notification settings

uwasystemhealth/Paper_Archive_Maintenance_Activity

Repository files navigation

Paper Archive: Maintenance Activity Ontology

This is a working repository for work associated with the Maintenance Activity Ontology. This ontology has been submitted for review.

This work is authored by: Caitlin Woods, Matt Selway, Tyler Bikaun, Markus Stumptner and Melinda Hodkiewicz.

This repository contains the following folders:

  • data: OWL files containing instance data, populated using the population_script.
  • imports: OWL files used as imports in the maintenance activity ontologies.
  • population_script: A python script to regenerate the files contained in the data folder.
  • reasoning_script: A python script to perform reasoning in the ontology.

The file, maintenance-activity.owl, contains the maintenance activity reference ontology presented in the paper.

The files, maintenance-activity-classification-rules.owl, asset-data.owl, asset-list-ontology.owl, functional-breakdown-pump-ontology.owl, and work-order-ontology.owl, contain data files necesarry for running the application level ontology for maintenance work order data quality.

Notes on the Reasoning Script

For initial testing of the ontology, the goal was to use easily accessible tools and the python owlready2 library with the Pellet reasoner was chosen. This combination has some limitations, including the time taken to perform the reasoning over the entire dataset; hence, the dataset was split into individual files for each Maintenance Work Order Record.

The reasoning script can be run across all records, and individual record, or some subset of records. For example, running

reasoning_script> python runner.py

will run the full set (1-36), while

reasoning_script> python runner.py 3 12

will run the third to twelfth records. The last argument can be omitted to run until the end, e.g., third to 36th record if omitted from the above example. Finally, the following would run only the second record:

reasoning_script> python runner.py 2 2

There is also some inconsistency in the output occasionally (exact cause is unknown) where the activity classifications are not inferred and so the script will run the pellet reasoner twice if it detects such an occurrence.

Lastly, the punning of the annotation properties (which should be fine as it only puns each annotation property to a data property or object property but not both) could lead to inconsistent reasoning output (sometimes it would work and other times not) and, hence, has been excluded from the data files for reliability of the script.

These issues appear to be idiosyncratic of the tools being used in this instance.

About

This is a working repository for work associated with the IOF Maintenance Activity Ontology

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages