A Taste of Taxonomies



James E Keenan

DC-Baltimore Perl Workshop
April 16 2016


Table of Contents

1. Introduction
2. Preview
3. The Problem
4. The Path Column
5. 'autos' Table in Database
6. One Row
7. How Do You Get from Here to There?
8. Objectives

9. Taxonomy: A Tree-Like Data Structure
10. Diagram 2: Root, Branch and Leaf Nodes
11. About that Root Node
12. Must Nodes Have Unique Names?
13. Diagram 3: Valid Taxonomy
14. Diagram 4: Invalid Taxonomy
15. Taxonomies as Aid to Human Thinking

18. Hierarchical Data in Row-Column Format
19. Diagram 3 (redux)
20. Diagram 5: First Attempt at CSV Representation
21. Diagram 6: Introduce a "Path" Column
22. Taxonomy by Materialized Path
23. Diagram 7: Give Each Record an "Id" Number
24. Diagram 8: Identify Each Record's "Parent Id"
25. Diagram 9: Remove the "Path" Column
26. Taxonomy by Adjacent List
27. Dual Representation

28. Using Taxonomies
29. In the Digital Marketing Industry
30. Diagram 10: A Taxonomy for Audiences for Automobiles
31. Problem: Is the Taxonomy Valid?
32. Solution: Parse::Taxonomy
33. Parse::Taxonomy::MaterializedPath
34. Parse::Taxonomy::MaterializedPath::hashify()
35. Parse::Taxonomy::MaterializedPath::adjacentify()
36. Parse::Taxonomy::MaterializedPath::write_adjacentified_to_csv()
37. Parse::Taxonomy::AdjacentList
38. Parse::Taxonomy::AdjacentList::pathify()

39. Summary, References and Image Credits
40. References
41. Image Credits
42. Bonus Slides

43. Anything-Separated Values
45. CSV Variations