Closed mrindar closed 5 years ago
we are now using the osp.owl file for getting the prefixes right?
Correct. We use the osp.owl file to get all the class definitions and object properties which we use to describe the content of the cse-config.json file. Right now we do this because it is easier to develop and maintain the osp ontology through protege, but further down the line we might implement the whole thing in java using the owlapi instead of going via protege.
The latest version of HermiT supports OWL API 3.4.3, and we are using 3.5.1. Will that be a problem? I'm guessing that at some stage we will include the HermiT jar and do reasoning directly?
I thought I had updated it! Luckily it didn't require much changes. Nice catch 👍
Complete rewrite, so good luck reviewing. You can pull the branch down and run the main method inside the
main.Main
class. This will generateconfiguration.owl
in the project directory which you can open in Protege and run the Hermit reasoner on. Currently there is an issue with the bonds not being classified as specific bond types, but will open separate issue on this.jsonmodel
package contains data classes which is populated with data by the jackson json parser.datamodel
package contains data classes which is easier to work with than the json models when we are going to generate the ontology. Thedatamodel.ConfigurationFactory
class converts the json data classes into classes defined in thedatamodel
package.owlconverter
package contains classes which converts the information in thedatamodel
classes into OWLAPI data structuresospontologydatamodel
package is helper classes to avoid having String literals representing entity names inside the osp.owl file spread throughout various parts of the code (makes things easier to maintain and change as we go along).ontologydatamodelgenerator
is just some helper stuff to generate the classes inside theospontologydatamodel
package. This will be helpfull while theosp.owl
file is highly volatile.