Inputs: |
Initial anonymous graph G = (V, E), |
Sensitivity parameters: k’(k’ ≥2); l(2 ≤ l ≤ k’); m(l ≤ m ≤ |V|); |
Node attributes table: AS = {viS,viN(1),…,viN(s),viC(1),…,viC(t)}; |
Edge attributes table: AS = {vjS,vjN(1),…,vjN(s),vjC(1),…,vjC(t)}; |
All the classified attribute inheritance tree HC |
Input parameters α =0 and β |
Outputs: |
Anonymous graph Gp = {g1, g2, …, ge}; |
The whole VCS, ECS and their attribute information; |
Steps: |
1 anonymous graph Gp, groups VCS and ECS are caught; |
2 read α to judge the generalizing type; |
3 got the group number:NVCS = |NVP|/k, NECS = |NEP|/k; |
4 fori =1 to NVCSdo//QI attributes generalization |
5 forj =1 to sdo//numeric type attributes generalization |
6 gen(VCSi)[Nj] = [min{v1N(j), …,vkN(j)},max{v1N(j), …,vkN(j)}] |
7 end for |
8 forj =1 to tdo//t type QI attributes generalization |
9 gen(VCSi)[Cj] = {v1C(j),…,vkC(j)} |
10 end for |
11 whiledo |
12 if(sensitive attributes are classified) then |
13 forj =0 to kdo |
14 vjC is replaced by its parents node in classified inheritance tree of sensitive attribute |
15 ifthen jump while loop |
16 end for |
17 Else |
18 forj =1 to kdo |
19 the interval of vjN is changed to its neighborhood; |
20 ifthen jump while loop |
21 end for |
22 end if |
23 end while |
24 end for |
25 fori =1 to NECSdo |
26 forj =1 to pdo |
27 gen(ECSi)[Nj] = [min{v1N(j),…,vkN(j)},max{v1N(j), …,vkN(j)}] |
28 end for |
29 forj =1 to qdo |
30 gen(ECSi)[Cj] = {e1C(j),…,ekC(j)} |
31 end for |
32 whiledo |
33 if(sensitive attributes are classified) then |
34 forj =1 to kdo |
35 vjC is replaced by its parents node in classified inheritance tree of sensitive attribute |
36 ifthen jump while loop |
37 end for |
38 Else |
39 forj =1 to kdo |
40 the interval of njN is changed to its neighborhood; |
41 ifthen jump while loop |
42 end for |
43 end if |
44 end while |
45 end for |
46 anonymous graph Gp is published; all the VCS nodes, ECS edges and their attribute information are published |