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