Re: sum property values

2016-10-13 Thread Paul Tyson
There have been 2 different techniques mentioned that solve different problems.

The SUM aggregate function can be used to reduce a result set as illustrated by 
the following minimal CSV snippets:

BEFORE:
?v1,?v2
"A",1
"A",1
"A",2
"B",3
"B",1

AFTER:
?v1,?v3
"A",4
"B",4

The above results could be achieved by:

SELECT ?v1 (SUM(?v2) AS ?v3)
WHERE {
#pattern that binds ?v1 and ?v2
}
GROUP BY ?v1

If you want to extend a result set with a new binding composed from other bound 
values, you could use:

SELECT ?v1 ?v2 ?v3 ?v4
WHERE {
#pattern that binds ?v1,?v2,?v3
BIND (?v2+?v3 AS ?v4)
}

If the basic graph pattern results were:

?v1,?v2,?v3
"A",2,0
"B",1,3
"C",5,2

then the BIND statement would cause:

?v1,?v2,?v3,?v4
"A",2,0,2
"B",1,3,4
"C",5,2,7

Regards,
--Paul

> On Oct 11, 2016, at 13:32, neha gupta  wrote:
> 
> I am still waiting for any response about how to add/sum values of
> different data property values in SPARQL?
> 
> 
> 
>> On Sun, Oct 9, 2016 at 8:19 AM, neha gupta  wrote:
>> 
>> yes because what I studied about SUM is it sum the values of single
>> variable.
>> 
>> SELECT (?worldcupgoals + ?eurogoals+ ?othergoals))
>> where { ?team rdf:type ont:Team . ?team ont:WorldCup_Goals ?worldcupgoals;
>> ont:EuroCup_Goals ?eurogoals ; ont:Other_Goals ?othergoals}
>> 
>> On Sun, Oct 9, 2016 at 5:15 AM, Lorenz B. > leipzig.de> wrote:
>> 
>>> No, that's obviously wrong. And you don't need GROUP BY and SUM - in
>>> your examples it's even the wrong way.
>>> Simply SELECT the team and use '+' to compute the sum of the different
>>> goal values.
>>> 
>>> And why can't you try it out?
>>> 
 Will it works like:
 
 SELECT (SUM(?worldcupgoals ?eurogoals ?othergoals))
 where { ?team rdf:type ont:Team . ?team ont:WorldCup_Goals
>>> ?worldcupgoals;
 ont:EuroCup_Goals ?eurogoals ; ont:Other_Goals ?othergoals}
 
 
 On Sat, Oct 8, 2016 at 12:43 PM, Martynas Jusevičius <
>>> marty...@graphity.org>
 wrote:
 
> https://www.w3.org/TR/2013/REC-sparql11-query-20130321/#aggr
>>> egateExample
> 
> On Sat, Oct 8, 2016 at 9:35 PM, neha gupta 
>>> wrote:
>> I am sorry but need some details? I really have no idea how to sum
> multiple
>> values (data properties) using SPARQL, despite searched the web.
>> 
>> On Sat, Oct 8, 2016 at 11:21 AM, Andy Seaborne 
>>> wrote:
>> 
>>> SUM and GROUP BY
>>> 
>>>   Andy
>>> 
>>> 
 On 08/10/16 19:14, neha gupta wrote:
 
 team1  WorldCup_Goals  20
 team1  EuroCup_Goals   25
 team1  Other_Goals50
 
 WorldCup_Goals,  EuroCup_Goals and Other_Goals are my properties.
 
 How to calculate total goals of team1 using SPARQL?
>>> --
>>> Lorenz Bühmann
>>> AKSW group, University of Leipzig
>>> Group: http://aksw.org - semantic web research center
>> 



Re: Rules

2016-10-13 Thread Lorenz B.
Javed, can't you try it out and see whether the expected result will be
generated? Isn't this the fastest way compared to asking for response on
mailing list which might be much slower? And nobody here knows your
ontology, thus, we cannot say whether there is something wrong.
Obviously, your rule checks whether AI_Score is large than the others,
and if so assigns a student to the corresponding subject.
> I have Student ontology in which students have three subjects and scores
> they have in exams. I want to assign students to a property
> "FavioriteSubject" based on their scores. Is this rule Ok to achieve my
> goal here?
>
> ?x rdf:type std:Student + ?x std:Robotics_Score ?Robotics + ?x
> std:Research_Score ?Research + ?x std:AI_Score ?AI +
> greaterThan(?Robotics,?Research)^greaterThan(?Robotics, ?AI) -->
> ?x std:FavioriteSubject std:Robotics.
>
> std:Robotics will be an instance in my ontology.
>
-- 
Lorenz Bühmann
AKSW group, University of Leipzig
Group: http://aksw.org - semantic web research center



Re: Rules

2016-10-13 Thread Andy Seaborne

javed,

Try it out on your data and see what happens!

Questions are best when they are concrete - show the code, show the 
data, show what happens,  say what you wanted.


The stackoverflow advice has more on getting better answers to questions:

http://stackoverflow.com/help/mcve

Andy

On 13/10/16 10:58, javed khan wrote:

I have Student ontology in which students have three subjects and scores
they have in exams. I want to assign students to a property
"FavioriteSubject" based on their scores. Is this rule Ok to achieve my
goal here?

?x rdf:type std:Student + ?x std:Robotics_Score ?Robotics + ?x
std:Research_Score ?Research + ?x std:AI_Score ?AI +
greaterThan(?Robotics,?Research)^greaterThan(?Robotics, ?AI) -->
?x std:FavioriteSubject std:Robotics.

std:Robotics will be an instance in my ontology.



empty Path OntTools method getShortestPath

2016-10-13 Thread Kerstin Rohm

Dear Jena-Team,

we are very happy about the experimental OntTools method 
“getShortestPath”. It works fine, but up from a specific amount of 
in-between concepts, the returned path is NULL.
We are working with the VDOT-Ontology 
(http://www.ifomis.org/vdot/vdot_core.owl) .
We focused out, that the method does not have any problems with the 
relationships between the concepts – because when we cut the path in 
smaller pieces e.g. path between patient and blood sample and path 
between blood sample and leukocyte it works fine.

We tried it with the following code:

OntClass toClass = 
model.getOntClass("http://www.ifomis.org/hdot/HDOT_PM_0058";);
OntClass fromClass = 
model.getOntClass("http://www.ifomis.org/vdot/vdot_core.owl#fma62852";);


Predicate onPath = new Predicate() {
@Override
public boolean test(Statement t) {
// TODO Auto-generated method stub
return true;
  }
 };
Path path = OntTools.findShortestPath(model, fromClass, toClass, onPath);
if (path!= null){
System.out.println("I am not empty!");
} else {
System.out.println("I am empty!");
}

We are looking forward for your answer!

Best Regards

Kerstin Rohm


--
Kerstin Rohm
Health Information Systems
Fraunhofer Institute for Biomedical Engineering
Joseph-von-Fraunhofer-Weg 1
66280 Sulzbach
Germany

Phone: +49 (0)6894 980253
Fax:   +49 (0)6894 980400
email: kerstin.r...@ibmt.fraunhofer.de
http://www.ibmt.fraunhofer.de



Rules

2016-10-13 Thread javed khan
I have Student ontology in which students have three subjects and scores
they have in exams. I want to assign students to a property
"FavioriteSubject" based on their scores. Is this rule Ok to achieve my
goal here?

?x rdf:type std:Student + ?x std:Robotics_Score ?Robotics + ?x
std:Research_Score ?Research + ?x std:AI_Score ?AI +
greaterThan(?Robotics,?Research)^greaterThan(?Robotics, ?AI) -->
?x std:FavioriteSubject std:Robotics.

std:Robotics will be an instance in my ontology.