-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
StackOverflowError with SWRL reasoning in openllet #24
Comments
Version 2.6.1 ? Do you have a small ontology that produce the error ? something I could try. |
It is possible that the problem came from the rule itself. Sometime the production of a predicat (wapa:hasQuantityValue(?c, ?moved)) can lead to application of the rule one more time. Then the new predicat lead to application one more time etc... The endless loop is logical not in the reasonner. That why I absolutely need the ontology to understand what is the problem. |
Hi @Galigator, the version we use is 2.6.0. Well, the rule does work with the Pellet reasoner in Protege, so, I assume that the rule itself is correct. I'll attach the turtle-file as .txt. Hopefully, you can use it to find out what the problem is. Thanks again, Jack |
Thx for the ontology. Also when using jena with Openllet 2.6.2, there is no java.lang.StackOverflowError . |
By playing around with your ontology. By the way, there is no support for swrlb-builtins in the openllet-jena module; maybe I could try to add it. |
Hi, thanks for all your efforts! Good to know that the rule itself is correct. Sorry to hear that the reasoning depends on the order of some iterator. Of course, you are free to add functionality to the openllet-jena module :-). I also look into alternatives to see what kind of SWRL support they provide. Best, Jack |
I am a stupid hedgehog. Jena does support the builtins you are using; the builtin that aren't support are only the following ones : Then by adding, the namespace that are missing in your file :
results are goods with the 2.6.2 :
|
Thx for all the work! Good to know...I'll try to make it work in our Jena Fuseki server! Best, Jack. |
Did you make it work with success ? |
Hi, to be honest...unfortunately not! So, the facts are that the ontology and reasoning works with Protege, with your implementation but not in Jena Fuseki. And thus the problem will somewhere in there, meaning that Jena Fuseki uses your openllet implementation differently. Next step would be to dive into the Jena Fuseki source code to find out how the openllet reasoner is being used. However, we are reluctant to do that as it takes a lot of time. So, a good example of how others are using the combination of Jena Fuseki and openllet would be welcome.
|
Hi all,
I'm raising a new issue around a StackOverflowError of openllet. I'm using the same set-up of Apache Jena Fuseki and the openllet reasoner as @barrynl describes in #21.
I've build a small ontology with Protege and defined a SWRL rule on top of it. This rule also uses SWRL Build-In functions to subtract and compare values. The SWRL rule used is:
Please find below also the first part of the error message. As you can see there is a loop in the message that continues until the stack is full. I cannot retrieve where the reasoner gets stuck into a loop and how the SWRL rule is causing this.
Hopefully someone can help?
Thanks in advance, Jack
The text was updated successfully, but these errors were encountered: