Changes: Use IN filter for content IRI based custom property deletion.
[qtcontacts-tracker:qtcontacts-tracker.git] / tests / ut_qtcontacts_trackerplugin_querybuilder / data / 202-save-request-4.rq
1 # Delete custom fields of related objects and custom details
2 # =================================================================================================
3 DELETE
4 {
5   GRAPH <urn:uuid:08070f5c-a334-4d19-a8b0-12a3071bfab9>
6   {
7     ?_property a ?_propertyType .
8   }
9 }
10 WHERE
11 {
12   GRAPH <urn:uuid:08070f5c-a334-4d19-a8b0-12a3071bfab9>
13   {
14     {
15       <contact:254908088> nao:hasProperty ?_resource .
16     }
17     UNION
18     {
19       <contact:254908088> nco:hasAffiliation ?_affiliation .
20       ?_affiliation nco:hasPostalAddress ?_resource .
21     }
22     UNION
23     {
24       <contact:254908088> nco:hasPostalAddress ?_resource .
25     }
26     UNION
27     {
28       <contact:254908088> nco:hasAffiliation ?__1 .
29       ?__1 nco:org ?_resource .
30     }
31     UNION
32     {
33       FILTER(?_resource IN (<contact:254908088>, <tel:+493054321>)) .
34     }
35
36     ?_resource nao:hasProperty ?_property .
37     ?_property a ?_propertyType .
38   }
39 }
40
41 # Delete properties related objects so that we can update them.
42 # =================================================================================================
43 DELETE
44 {
45   ?_resource a ?_resourceType .
46 }
47 WHERE
48 {
49   {
50     <contact:254908088> nco:hasAffiliation ?_affiliation .
51     ?_affiliation nco:hasPostalAddress ?_resource .
52   }
53   UNION
54   {
55     <contact:254908088> nco:hasPostalAddress ?_resource .
56   }
57   UNION
58   {
59     <contact:254908088> nco:hasLocation ?_resource .
60   }
61   UNION
62   {
63     <contact:254908088> nco:hasAffiliation ?_resource .
64   }
65   UNION
66   {
67     <contact:254908088> nco:hasAffiliation ?__1 .
68     ?__1 nco:org ?__2 .
69     ?__2 nco:hasPostalAddress ?_resource .
70   }
71   UNION
72   {
73     <contact:254908088> nco:hasAffiliation ?__3 .
74     ?__3 nco:org ?_resource .
75   }
76   UNION
77   {
78     # FIXME
79     <contact:254908088> nao:hasTag ?_resource .
80   }
81   UNION
82   {
83     <contact:254908088> nao:hasProperty ?_resource .
84   }
85
86   ?_resource a ?_resourceType .
87 }
88
89 DELETE
90 {
91   ?_resource a nco:PhoneNumber .
92 }
93 WHERE
94 {
95   ?_resource a nco:PhoneNumber .
96   FILTER(?_resource IN (<tel:+493054321>)) .
97 }
98
99 # Delete the contact's properties so that we can update them nicely.
100 # Only nco:contactLocalUID must be preserved as we assume to know the GUID of this contact
101 # and want to preserve it.
102 # =================================================================================================
103 DELETE
104 {
105   GRAPH <urn:uuid:08070f5c-a334-4d19-a8b0-12a3071bfab9>
106   {
107     <contact:254908088> ?_predicate ?_object .
108   }
109 }
110 WHERE
111 {
112   GRAPH <urn:uuid:08070f5c-a334-4d19-a8b0-12a3071bfab9>
113   {
114     <contact:254908088> ?_predicate ?_object .
115     FILTER(?_predicate NOT IN (nco:contactLocalUID,rdf:type)) .
116   }
117 }
118
119 # Write new contact data
120 # =================================================================================================
121 INSERT INTO <urn:uuid:08070f5c-a334-4d19-a8b0-12a3071bfab9>
122 {
123     <contact:254908088> a nco:PersonContact
124     ; nie:contentCreated "2010-04-22T04:00:00Z"^^xsd:dateTime
125     ; nie:contentLastModified "2010-05-04T09:30:00Z"^^xsd:dateTime
126     ; nco:contactLocalUID "254908088"^^xsd:string
127     ; nco:contactUID "167e43eb-2c61-4eaf-a24e-3eea2383a288"^^xsd:string
128     ; nco:hasAffiliation _:Affiliation_Work1
129     ; nco:nameFamily "Daniels"^^xsd:string
130     ; nco:nameGiven "Dirk"^^xsd:string
131   . <tel:+493054321>  a nco:FaxNumber, nco:VoicePhoneNumber
132     ; maemo:localPhoneNumber "3054321"^^xsd:string
133     ; nco:phoneNumber "+493054321"^^xsd:string
134   . _:Affiliation_Work1 a nco:Affiliation
135     ; nco:department "R&D"^^xsd:string
136     ; nco:hasPhoneNumber <tel:+493054321>
137     ; nco:title "Chief Plumber"^^xsd:string
138     ; nco:websiteUrl "http://daniels.com/"^^xsd:string
139     ; rdfs:label "Work"^^xsd:string
140 }