Changes: QB unit test/data: Use "grouped" SPARQL syntax
[qtcontacts-tracker:hasselmms-qtcontacts-tracker.git] / tests / ut_qtcontacts_trackerplugin_querybuilder / data / 250-localIdFetchRequest-6.rq
1 # Reference query for QContactLocalIdFetchRequest
2 # Verify if original fields and generic fields can be mixed within an union filter.
3 # The original field only exists for one contact type.
4 # Applied filter: (Nickname == "Havoc") || (Gender == Female)
5 # ==================================================================================================
6
7 SELECT
8   tracker:id(?_contact)
9
10 WHERE {
11   {
12     ?_contact rdf:type nco:PersonContact
13
14     FILTER((EXISTS {
15       ?_contact nco:nickname ?_nickname1
16       FILTER((fn:lower-case(?_nickname1) = "havoc"))
17     } || EXISTS {
18       ?_contact nco:gender ?_gender1
19       FILTER((?_gender1 = nco:gender-female))
20     }))
21   } UNION {
22     ?_contact rdf:type nco:ContactGroup, nco:Contact
23
24     FILTER((EXISTS {
25       ?_contact nco:contactGroupName ?_nickname2
26       FILTER((fn:lower-case(?_nickname2) = "havoc"))
27     } || EXISTS {
28       ?_contact nao:hasProperty ?_customDetail .
29       ?_customDetail rdf:type nao:Property ;
30                      nao:propertyName "Gender" ;
31                      nao:hasProperty ?_customField .
32       ?_customField nao:propertyValue ?_fieldValue
33       FILTER((fn:lower-case(?_fieldValue) = "female"))
34     }))
35   }
36 }