Codage DFSR (Deep First Search for RDF)
Codage DFSR (Deep First Search for RDF)
Les codes du niveau 2 sont construits à partir des codes du niveau 1. L’algorithme de la phase 2, décrit ci dessous effectue la jointure de codes du niveau 1 qui partagent un nœud.
procedure DFSRTwoEdges ()
1. P: set of DFSR code of size 1
2. var level2 = {}
3. for all DFSR codes d1 in P do
4. for all DFSR codes d2 in P do
5. Case 1: d1.subject = d2.subject
6. d=dfsr(d1,d2,1,3)
7. if(instanceInRep(d)) then {
8. d.kernel= concat(d1.id,d2.id)
9. level2 = level2 U d
10. marked(d1) //marked
11. marked(d2) } //marked
12. Case 2: d1.subject = d2.object
13. if(d1<d2) then
14. d2.setDiscoveries(3,1)
15. else
16. d1.setDiscoveries(2,3)
17. d=dfsr(d1,d2)
18. if(instanceInRep(d)) then {
19. d.kernel= concat(d1.id,d2.id)
20. level2 = leve2 U d
21. marked(d1) //marked
22. marked(d2) } //marked
23. Case 2 bis: d1.object = d2.subject
24. //permute d1 and d2
25. goto case 2
26. Case 4: d1.object = d2.object
27. d=dfsr(d1,d2,3,2)
28. if(instanceInRep(d)) then {
29. d.kernel = concat(d1.id,d2.id)
30. level2 = level2 U d
31. marked(d1) //marked
32. marked(d2) } //marked
Procédure DFSRTwoEdges