Farhana, I think that you need to use the OPTIONAL key word. This will allow you to get a return if one of the OPTIONAL parts is matched.
However, this would return true when only one OPTIONAL part matches. I am not sure how you would get it to return only when three of the OPTIONAL parts match, as opposed to just one. Maybe if you used OPTIONAL with &&, several times with the various desired combinations? I am fairly new to this too. Best wishes, Leonard On Tue, Sep 13, 2011 at 11:24 AM, Farhana Sarker <[email protected]>wrote: > Hi, > > I am a new SPARQL user. > I need to write a query using SPARQL which can be set conditions and will > be able to return the value if AT LEAST 3 condition is TRUE. > > For example: > > I want to return all the id and other information from my datasets where 6 > conditions are given (as shown below) and want to retrieve information for > whom at least ANY 3 conditions are TRUE. Could you please help me to write > the query correctly as the below query returns for which all the conditions > are TRUE.But I need to retrieve information for whom at least ANY 3 > conditions are TRUE. > > select ?id ?a ?b ?c ?d ?e ?f ?g > > where { > > ?id myns:a ?a. > > filter (regex(?a, "professional")). > > ?id myns:b ?b. > > filter (?b = "P") > > ?id myns:c ?c. > > filter (?c != "UH") > > ?id myns:d ?d. > > filter (?d<2.7) > > ?id myns:e ?e. > > filter (?e<2.7) > > ?id myns:f ?f. > > filter (?f = “M”) > > ?id myns:g ?g. > > filter (?g != “S”) > > } > > > > Thank you > > Farhana >
