Preface |
|
xv | |
Foreword |
|
xvii | |
|
Foreword |
|
xix | |
|
Acknowledgments |
|
xxi | |
Disclaimer |
|
xxiii | |
|
|
1 | (18) |
|
|
2 | (8) |
|
1.1.1 Spreadsheet Approach |
|
|
3 | (1) |
|
|
4 | (1) |
|
1.1.3 Data Warehouse Approach |
|
|
5 | (2) |
|
|
7 | (1) |
|
1.1.5 Data Wrangling Approach |
|
|
7 | (1) |
|
|
8 | (2) |
|
|
10 | (2) |
|
1.2.1 What is a Knowledge Graph? |
|
|
10 | (1) |
|
1.2.2 Why Knowledge Graphs? |
|
|
10 | (2) |
|
|
12 | (1) |
|
|
12 | (3) |
|
1.3.1 History of Knowledge Graphs |
|
|
12 | (1) |
|
|
13 | (1) |
|
|
14 | (1) |
|
1.3.4 Models, Ontologies, and Schemata |
|
|
15 | (1) |
|
|
15 | (4) |
|
2 Designing Enterprise Knowledge Graphs |
|
|
19 | (26) |
|
2.1 Source: Relational Databases |
|
|
19 | (1) |
|
2.2 Target: Knowledge Graph |
|
|
19 | (12) |
|
|
20 | (1) |
|
|
21 | (1) |
|
2.2.3 Knowledge Graph Schema |
|
|
22 | (2) |
|
2.2.4 An Abstract Graph Notation Used in This Book |
|
|
24 | (2) |
|
2.2.5 Graph Query Languages |
|
|
26 | (1) |
|
|
26 | (3) |
|
|
29 | (2) |
|
2.3 Mappings: Relational Database to Knowledge Graph |
|
|
31 | (14) |
|
|
32 | (3) |
|
|
35 | (4) |
|
|
39 | (6) |
|
3 Mapping Design Patterns |
|
|
45 | (52) |
|
3.1 Direct Custom Mapping Patterns |
|
|
45 | (6) |
|
|
45 | (1) |
|
3.1.2 Direct Concept Attribute |
|
|
46 | (2) |
|
3.1.3 Direct Relationship |
|
|
48 | (1) |
|
3.1.4 Direct Relationship Attribute |
|
|
49 | (2) |
|
3.2 Complex Custom Concept Mapping Patterns |
|
|
51 | (7) |
|
3.2.1 Complex Concept: Conditions |
|
|
51 | (1) |
|
3.2.2 Complex Concept: Data as a Concept |
|
|
52 | (3) |
|
3.2.3 Complex Concept: Join |
|
|
55 | (2) |
|
3.2.4 Complex Concept: Distinct |
|
|
57 | (1) |
|
3.3 Complex Custom Attribute Mapping Patterns |
|
|
58 | (21) |
|
3.3.1 Complex Concept Attribute: CONCAT |
|
|
58 | (1) |
|
3.3.2 Complex Concept Attribute: Math |
|
|
59 | (2) |
|
3.3.3 Complex Concept Attribute: CASE |
|
|
61 | (3) |
|
3.3.4 Complex Concept Attribute: NULL |
|
|
64 | (1) |
|
3.3.5 Complex Concept Attribute: JOIN |
|
|
65 | (1) |
|
3.3.6 Complex Concept Attribute: LEFT JOIN |
|
|
66 | (2) |
|
3.3.7 Complex Concept Attribute: Duplicate |
|
|
68 | (2) |
|
3.3.8 Complex Concept Attribute: Constant Table |
|
|
70 | (2) |
|
3.3.9 Complex Concept Attribute: Constant Attribute |
|
|
72 | (2) |
|
3.3.10 Complex Concept Attribute: Constant Value |
|
|
74 | (2) |
|
3.3.11 Complex Concept Attribute: EAV |
|
|
76 | (3) |
|
3.4 Complex Custom Relationship Mapping Patterns |
|
|
79 | (18) |
|
3.4.1 Relationship: Many to Many |
|
|
79 | (2) |
|
3.4.2 Relationship: One to Many without Duplicates |
|
|
81 | (1) |
|
3.4.3 Relationship: One to Many with Duplicates |
|
|
82 | (3) |
|
3.4.4 Relationship: One to One with Duplicates |
|
|
85 | (2) |
|
3.4.5 Relationship: Constant Table |
|
|
87 | (1) |
|
3.4.6 Relationship: Constant Attribute |
|
|
88 | (3) |
|
3.4.7 Relationship: Constant Value |
|
|
91 | (2) |
|
3.4.8 Relationship: Bidrectional |
|
|
93 | (4) |
|
4 Building Enterprise Knowledge Graphs |
|
|
97 | (32) |
|
|
97 | (2) |
|
4.1.1 Data Producers and Consumers |
|
|
97 | (1) |
|
4.1.2 Data Product Manager |
|
|
98 | (1) |
|
|
99 | (24) |
|
4.2.1 Phase 1: Knowledge Capture |
|
|
101 | (3) |
|
4.2.2 Phase 2: Knowledge Implementation |
|
|
104 | (3) |
|
4.2.3 Phase 3: Knowledge Access |
|
|
107 | (1) |
|
4.2.4 An E-Commerce Use Case |
|
|
108 | (15) |
|
|
123 | (6) |
|
4.3.1 Metadata Management |
|
|
123 | (1) |
|
4.3.2 Knowledge Management |
|
|
124 | (1) |
|
|
125 | (3) |
|
|
128 | (1) |
|
|
129 | (4) |
|
5.1 Couldn't I Have Done This with a Relational Database? |
|
|
129 | (1) |
|
5.2 Isn't this Just Master Data Management? |
|
|
129 | (1) |
|
5.3 Knowledge Graphs and AI |
|
|
129 | (4) |
|
|
130 | (1) |
|
5.3.2 Non-Symbolic Reasoning |
|
|
131 | (2) |
|
|
133 | (2) |
|
|
133 | (1) |
|
|
133 | (1) |
|
|
133 | (1) |
|
6.4 Be Agile, Start Small, Don't Boil the Ocean |
|
|
134 | (1) |
Bibliography |
|
135 | (6) |
Authors' Biographies |
|
141 | |