Reputation: 31
I've got very difficult task ahead of me, so any help and suggestion would me welcome.
I have to implement Java web service which would match two other given web services for semantic similarity. These two other web service will be described with OWL-S that uses concepts from OWL ontology. S1 would be a web service that I'm looking for (my query) and S2 would be service that is in repository (advertised). So I need to access OWL-S description and OWL ontology from my Java code.
I'm using Eclipse, Tomcat, OWL API and HermiT semantic reasoner.
I have very primitive matching algorithm, which main goal is to match service S1 inputs and outupts with S2 inputs and outputs.
I'm a beginer in this subject, and I've never used OWL API, nor I've worked with ontologies.
My current to do list: 1. Load from OWL-S a process parameters types (OWL classes). Lets assume that S1 input is type of C1 and S2 input is type of C2. 2. Find if classes C1 and C2 are in my ontology O. 3. Check if class C2 subsumes class C1, or maybe they are semanticly the same in my ontology O.
I would appreciate any code examples or snippets, which I couldn't find, for these tasks. Especialy checking if class C2 subsumes class C1.
Regards
Upvotes: 3
Views: 695
Reputation: 4886
The OWLAPI website has some reasonable documentation on using OWL-API, some of their examples should give you enough information to implement the basic algorithm you are considering.
Further, do a Google Scholar search on "OWL semantic service matching" -- there is a lot of prior work in this field. That won't help you with code examples, but there are more sophisticated service matching schemes out there that you can try once you get your basic example working. Plus, if you are going to be working in this area, it would help to know what others have been working on.
Lastly, you might want to check out the OWL-S API, which I believe is based on Jena, so you'd have to scrap any code you currently have, but it is a working API designed for using OWL-S service descriptions, which might make your life a lot easier.
Upvotes: 2