Search Mailing List Archives
[protege-dev] How does Drools engine make inference of SWRL rules?
sunid at stanford.edu
Mon Jan 23 17:42:49 PST 2017
As I understand from my readings SWRL rules are not dependent to each other.
They are independent rules and they can only be applied to named individuals
not to inferred individuals.
Rules themselves are independent but the inferences they make can be linked.
For example, one could easily imagine the following two rules interacting:
Person(?p) ^ hasAge(?p, ?age) ^ swrlb:greaterThan(?age, 17) -> Adult(?p)
Adult(?a) ^ Male(?a) -> AdultMale(?a)
So I confused about this point, I want to understand background implementation of OWL2RL based reasoner and Drools
engine implemetation of Protege SWRLTab. Drools apply forward or backward chaning to make inference? In web site
of Drools engine it says it can apply both forward and backward chaining.
May be you can suggest a paper for further reading to understand reasoning
algorithm of Drools engine in SWRLTab. In Protege website about DroolsEngine
it only says how can we use the SWRLTab and Drools engine no further
knowledge about the algorithm (May be I could not find).
In the SWRLAPI, Drools is used to implement an OWL 2 RL-based reasoner, which perform inference with SWRL rules and OWL axioms. The implementation uses forward chaining, but that is a detail. The semantics of reasoning are governed by the OWL 2 RL specification. This system is described here:
* "A Pair of OWL 2 RL Reasoners<http://ceur-ws.org/Vol-849/paper_31.pdf>" M. J. O'Connor, A.K. Das. OWL: Experiences and Directions (OWLED<http://webont.org/owled/2012/>), 9th International Workshop, Heraklion, Greece, 2012. http://ceur-ws.org/Vol-849/paper_31.pdf
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the protege-dev