On 24/09/16 13:27, tina sani wrote:
Well I do not know how to do  what you have comment ( re-model your
data first, such that you have a timestamp or whatever. Then you could
use SPARQL CONSTRUCT).

One way is to think about being paid a wage as an event, so you have something like:

:employee  :employee_income [
                :income  300;
                :date  '2016-09-24'^^xsd:date] .

Then each income event is separately timestamped and you can write rules or sparql to check for a drop in income on a later date.

Dave

On Sat, Sep 24, 2016 at 4:30 AM, Lorenz B. <
buehm...@informatik.uni-leipzig.de> wrote:

Hello Tina,

as Dave said, there is no sorting for rules. You need to re-model your
data first, such that you have a timestamp or whatever. Then you could
use SPARQL CONSTRUCT



Kind regards,
Lorenz

My data arrives and saved randomly to my owl file: These four values are
the income of employee's four weeks so in week1, he earns 200, week2  300
 week3  150 and week4  280.

I need some sorting in which I can describe if the Employee progresses
each
week according to his salary. If he earns like 150, 200, 280, 300, then
for
sure he progresses.

Kindly if you described the required Jena rules here to accomplish this
goal?

Best regards

On Sat, Sep 24, 2016 at 1:15 AM, Dave Reynolds <
dave.e.reyno...@gmail.com>
wrote:

On 23/09/16 23:17, tina sani wrote:

For instance, I have a data property employee_income which have four
values
for each employee. Employee1 have income Euro 200, Euro 300, Euro 150,
and
Euro 280 .

Is there any way using Jena rules or other way, in which we
compute/compare
these values in some ascending or descending way. The purpose of doing
so
is to find out whether the employee progresses or not. If she earns in
ascending order like 150, 200, 280 and 300 Euro, it means progresses.

Thanks for understanding.

If you mean you have simply four copies of the property then they aren't
ordered. E.g.

   :employee  :employee_income 150, 200, 280, 300 .

is exactly the same set of RDF triples as:

   :employee  :employee_income 300, 200, 150, 280 .

and

   :employee  :employee_income 300 .
   :employee  :employee_income 200 .
   :employee  :employee_income 280 .
   :employee  :employee_income 150 .

triples aren't ordered.

You can certainly use SPARQL to query for values and to sort them.

If you want to test if the income increased in order then you need to
represent either the date of the income or the order in which the income
arrived in your data. Once you've decided how you will do that then
there
will be ways in SPARQL or rules to do the test for progression.

Dave





--
Lorenz Bühmann
AKSW group, University of Leipzig
Group: http://aksw.org - semantic web research center




Reply via email to