One possible way would be to model the data using the course as a property:
Richard hasDatabasePerformance diligent
Or perhaps the diligence is the property:
Richard performedDiligently Databases
-----Original Message-----
From: Miguel Bento Alves [mailto:[email protected]]
Sent: Saturday, December 07, 2013 4:17 AM
To: [email protected]
Subject: Re: call a Sparql command in a rule, is it possible?
Dear Joshua,
The problem is that I don¹t want only to know if a given Student is diligent
but I want to know if a given Student is diligent to a given Course. If you
look to the data that I listed as example, Richard was diligent in Databases
and Michael was diligent in Computer Programming (and Michael was not diligent
in Databases and Richard was not diligent in Computer Programming). In the best
of my knowledge, you cannot moddeled this in OWL2.
Miguel
On 07/12/13 02:42, "Joshua TAYLOR" <[email protected]> wrote:
>On Thu, Dec 5, 2013 at 7:20 PM, Miguel Bento Alves
><[email protected]> wrote:
>> I consider that a given
>> student is diligent to a given course if he didn't fails more than a
>>given number of lessons (let's consider 1). I can't get this
>>information with OWL or OWL2 inference, I only can get with a Sparql
>>command.
>
>I realize that the main thread here "how to execute a SPARQL query from
>a rule builtin", but I would point out that you _can_ express this in
>OWL2 (though I don't know whether Jena's OWL rules could handle it).
>For instance, if John has failed two courses and you've added this to
>your data:
>
> john failed csci102
> john failed csci103
> john failed only {csci102, csci103}
>
>then you can infer that john in a member of the class
>
> failed max 2 courses
>
>You don't even need to assert that the courses are distinct; the
>"failed only { ... }" axiom puts an upper bound on the number of
>courses failed.
>
>--
>Joshua Taylor, http://www.cs.rpi.edu/~tayloj/