Changes: Separately test garbage collection query.
[qtcontacts-tracker:qtcontacts-tracker.git] / tests / ut_qtcontacts_trackerplugin_querybuilder / data / 202-save-request-3.rq
1 # Delete properties related objects so that we can update them.
2 # =================================================================================================
3 DELETE
4 {
5   GRAPH <urn:uuid:08070f5c-a334-4d19-a8b0-12a3071bfab9>
6   {
7     ?subject nco:hasPostalAddress ?object .
8   }
9 }
10 WHERE
11 {
12   GRAPH <urn:uuid:08070f5c-a334-4d19-a8b0-12a3071bfab9>
13   {
14     <contact:55500278> nco:hasAffiliation ?subject .
15     ?subject nco:hasPostalAddress ?object .
16   }
17 }
18
19 DELETE
20 {
21   GRAPH <urn:uuid:08070f5c-a334-4d19-a8b0-12a3071bfab9>
22   {
23     ?subject ncal:dtstart ?object
24   }
25 }
26 WHERE
27 {
28   GRAPH <urn:uuid:08070f5c-a334-4d19-a8b0-12a3071bfab9>
29   {
30     <contact:55500278> ncal:anniversary ?subject .
31     ?subject ncal:dtstart ?object
32   }
33 }
34
35 DELETE
36 {
37   GRAPH <urn:uuid:08070f5c-a334-4d19-a8b0-12a3071bfab9>
38   {
39     ?subject nco:hasPostalAddress ?object .
40   }
41 }
42 WHERE
43 {
44   GRAPH <urn:uuid:08070f5c-a334-4d19-a8b0-12a3071bfab9>
45   {
46     <contact:55500278> nco:hasAffiliation [ nco:org ?subject ] .
47     ?subject nco:hasPostalAddress ?object .
48   }
49 }
50
51 DELETE
52 {
53   GRAPH <urn:uuid:08070f5c-a334-4d19-a8b0-12a3071bfab9>
54   {
55     ?subject nco:org ?object .
56   }
57 }
58 WHERE
59 {
60   GRAPH <urn:uuid:08070f5c-a334-4d19-a8b0-12a3071bfab9>
61   {
62     <contact:55500278> nco:hasAffiliation ?subject .
63     ?subject nco:org ?object .
64   }
65 }
66
67 DELETE
68 {
69   <urn:x-maemo-phone:messagingcapable,mobile,voice:+4916134567> ?predicate ?object .
70 }
71 WHERE
72 {
73   <urn:x-maemo-phone:messagingcapable,mobile,voice:+4916134567> ?predicate ?object .
74   FILTER(?predicate IN (nao:hasProperty, nco:phoneNumber, maemo:localPhoneNumber)) .
75 }
76
77 DELETE
78 {
79   ?resource a nco:CarPhoneNumber, nco:BbsNumber, nco:PagerNumber, nco:VideoTelephoneNumber,
80               nco:MessagingNumber, nco:VoicePhoneNumber, nco:CellPhoneNumber, nco:FaxNumber,
81               nco:ModemNumber .
82 }
83 WHERE
84 {
85   ?resource a nco:PhoneNumber .
86   FILTER(?resource IN (<urn:x-maemo-phone:messagingcapable,mobile,voice:+4916134567>)) .
87 }
88
89 # Delete the contact's properties so that we can update them nicely.
90 # Only nco:contactLocalUID must be preserved as we assume to know the GUID of this contact
91 # and want to preserve it.
92 # =================================================================================================
93 DELETE
94 {
95   GRAPH <urn:uuid:08070f5c-a334-4d19-a8b0-12a3071bfab9>
96   {
97     <contact:55500278> ?predicate ?object .
98   }
99 }
100 WHERE
101 {
102   GRAPH <urn:uuid:08070f5c-a334-4d19-a8b0-12a3071bfab9>
103   {
104     <contact:55500278> ?predicate ?object .
105     FILTER(?predicate NOT IN (rdf:type,nco:belongsToGroup,nie:contentCreated)) .
106   }
107 }
108
109 # Write new contact data
110 # =================================================================================================
111 INSERT
112 {
113   GRAPH <urn:uuid:08070f5c-a334-4d19-a8b0-12a3071bfab9>
114   {
115     <contact:55500278>
116       rdf:type nco:PersonContact ;
117       nco:nameGiven "Christine" ;
118       nco:nameFamily "Christian" ;
119       nco:hasAffiliation _:Organization_Resource1, _:Affiliation_Work1 ;
120       nie:contentLastModified "2010-05-04T09:30:00Z" ;
121       nco:contactUID "41236f10-9dec-489a-84ac-b31eaa1b13d6" .
122
123     _:Organization_Resource1
124       rdf:type nco:Affiliation ;
125       nco:department "Sales" .
126
127     _:Affiliation_Work1
128       rdf:type nco:Affiliation ;
129       rdfs:label "Work" ;
130       nco:hasPhoneNumber <urn:x-maemo-phone:messagingcapable,mobile,voice:+4916134567> ;
131       nco:websiteUrl "http://chris.com/" .
132
133       <urn:x-maemo-phone:messagingcapable,mobile,voice:+4916134567>
134         rdf:type nco:VoicePhoneNumber, nco:CellPhoneNumber, nco:MessagingNumber, nco:PhoneNumber ;
135         nco:phoneNumber "+4916134567" ;
136         maemo:localPhoneNumber "6134567" .
137   }
138 }
139
140 # Create new timestamp if he contact doesn't have one yet.
141 # =================================================================================================
142 INSERT
143 {
144   GRAPH <urn:uuid:08070f5c-a334-4d19-a8b0-12a3071bfab9>
145   {
146     <contact:55500278> nie:contentCreated "2010-05-04T09:30:00Z"
147   }
148 }
149 WHERE
150 {
151   FILTER(!(EXISTS
152   {
153     GRAPH <urn:uuid:08070f5c-a334-4d19-a8b0-12a3071bfab9>
154     {
155       <contact:55500278> nie:contentCreated ?date
156     }
157   }))
158 }
159
160 # Enforce proper sync target
161 # =================================================================================================
162 INSERT OR REPLACE
163 {
164   GRAPH <urn:uuid:08070f5c-a334-4d19-a8b0-12a3071bfab9>
165   {
166     <contact:55500278> nie:generator "addressbook"
167   }
168 }
169 WHERE
170 {
171   FILTER((tracker:coalesce(nie:generator(<contact:55500278>), "") IN ("", "telepathy")))
172 }