How to do OWL in Prolog?

I am interested in inter-operating between OWL and Prolog. My first attempt was with GNU Prolog and Thea but that went absolutely nowhere since it seems the Thea developers have long since abandoned support for Prologs other than SWI. Ok, fine. But I am confused as to how to do this with SWI?

Is thea fully integrated into the semweb libraries or is it a seperate thing I need to use? But seeing that the semweb libraries exist and are possibly there own independent thing can someone explain to me the difference and whether I should just use SWI’s semweb tools?

My goal is to read in both OWL files as well as raw data and interoperate between the two (query ontologies via Prolog, update ontologies via Prolog and export new OWL files). Anyone else here doing/done that before and if so, what high level advice may you have?

Doing a clone of the main Thea repository does not yield a turn key working installation, at least not with swipl 9.0.4. Is nobody using this thing anymore?

Relatedly @CapelliC I saw your thea2 pack repo on GitHub. That work does not seem to be generally available though?

It is a (long) while ago and I have little clue on the current status. Surely Thea is not part of the SWI-Prolog standard libraries, so you need to download it separately. I’m not sure how it handles OWL reasoning. I think one of the options is to call out to an external reasoner and the other is to use (tabled) Prolog.

1 Like

I think I edited my question just a moment before you replied. In any event, thanks for your thoughts. I think for now I’ll just avoid using Thea. It clearly has a lot of prior use and future promise, but currently stands in a state of disrepair.

The most recent work I did on Thea is at GitHub - conceptsinmotion/thea: OWL2 library for Prolog

2 Likes

Sorry, that old repo was requested by a customer of mine, but is not mantained anymore…
Today, I would first try to use GitHub - eyereasoner/eye-js: A distribution of EYE reasoner in the JavaScript ecosystem using Webassembly..

1 Like

Note that you do not have to run EYE in the WASM version. It also runs in the normal version. Unfortunately it is designed as a stand-alone application rather than a library though.

1 Like

Got it, thanks for the update!

You can also have a look at TRILL https://github.com/rzese/trill, a reasoner for OWL.
You can try it online at http://trill-sw.eu
Here is the manual

3 Likes