Some un-implemented options in swrlapi-drools-engine

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Some un-implemented options in swrlapi-drools-engine

Jang-Vijay Singh
Hello, everyone, 

I have some similar requirements to the ontology described here:

Using Protege v5.1.0. My question is if there are other viable alternatives that someone can suggest. 

The ontology consists of classes Person with asserted property bornOnDate. 
Person has a subclass Adult. 

Problem:
Data properties bornInYear and hasAge and instances of class Adult are supposed to be inferred from SWRL rules. But currently, these don't work and I haven't (yet) found a usable SWRLRuleEngine bridge that would do this. 

My analysis so far: 
SWRLTab in Protege which I understand internally uses swrlapi-drools-engine, which is a SWRLRuleEngine and has unimplemented features. 
(I could locate similar stack traces in the Protege log and when using the Java api's for swrlapi-drools-engine rel 2.0.5 and swrlapi).

Pellet 2.2 that the original article links to doesn't seem to be available. 

Thanks in advance if someone can help with this. 

Best Regards, 
JV 



_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user

swrltab.gif (215K) Download Attachment
swrlapi-drools-engine_unimplemented.png (279K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Some un-implemented options in swrlapi-drools-engine

Jang-Vijay Singh
An update:
I used the Pellet Java reasoner and could now infer the instances of "Adult". 
A small workaround that I used to make it work was to hard-code the value of nowYear/thisYear. I now need to work out how to pass these in as parameters (unless its possible to calculate these within the ontology. 

image.png

On Thu, 27 Sep 2018 at 06:43, Jang-Vijay Singh <[hidden email]> wrote:
Hello, everyone, 

I have some similar requirements to the ontology described here:

Using Protege v5.1.0. My question is if there are other viable alternatives that someone can suggest. 

The ontology consists of classes Person with asserted property bornOnDate. 
Person has a subclass Adult. 

Problem:
Data properties bornInYear and hasAge and instances of class Adult are supposed to be inferred from SWRL rules. But currently, these don't work and I haven't (yet) found a usable SWRLRuleEngine bridge that would do this. 

My analysis so far: 
SWRLTab in Protege which I understand internally uses swrlapi-drools-engine, which is a SWRLRuleEngine and has unimplemented features. 
(I could locate similar stack traces in the Protege log and when using the Java api's for swrlapi-drools-engine rel 2.0.5 and swrlapi).

Pellet 2.2 that the original article links to doesn't seem to be available. 

Thanks in advance if someone can help with this. 

Best Regards, 
JV 



_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: Some un-implemented options in swrlapi-drools-engine

Csongor Nyulas
Administrator
You could create a class "RuleParameters" or ProblemConfiguration" or whatever it makes more sense in your domain, with one instance (let's call it conf, for the sake of the example) that would have some data properties assertions, such as
    conf currentYear "2018"^xsd:decimal

Then you can add this to the first rule, and any other rule that needs to refer to the current year, and replace 2018 with ?cy (and similar works with other global parameters):

ProblemConfiguration(?cf), currentYear(?cf, ?cy),

Csongor


On 09/27/2018 12:35 AM, Jang-Vijay Singh wrote:
An update:
I used the Pellet Java reasoner and could now infer the instances of "Adult". 
A small workaround that I used to make it work was to hard-code the value of nowYear/thisYear. I now need to work out how to pass these in as parameters (unless its possible to calculate these within the ontology. 

image.png

On Thu, 27 Sep 2018 at 06:43, Jang-Vijay Singh <[hidden email]> wrote:
Hello, everyone, 

I have some similar requirements to the ontology described here:

Using Protege v5.1.0. My question is if there are other viable alternatives that someone can suggest. 

The ontology consists of classes Person with asserted property bornOnDate. 
Person has a subclass Adult. 

Problem:
Data properties bornInYear and hasAge and instances of class Adult are supposed to be inferred from SWRL rules. But currently, these don't work and I haven't (yet) found a usable SWRLRuleEngine bridge that would do this. 

My analysis so far: 
SWRLTab in Protege which I understand internally uses swrlapi-drools-engine, which is a SWRLRuleEngine and has unimplemented features. 
(I could locate similar stack traces in the Protege log and when using the Java api's for swrlapi-drools-engine rel 2.0.5 and swrlapi).

Pellet 2.2 that the original article links to doesn't seem to be available. 

Thanks in advance if someone can help with this. 

Best Regards, 
JV 




_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user


_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user