Representing Relational Data as RDF Triples


Any table T1:

T1.A T1.B T1.C
value_A1 value_B1 value_C1
value_A2 value_B2 value_C2
value_A3 value_B3 value_C3

Can be viewed as a table with an extra key:

Key T1.A T1.B T1.C
1 value_A1 value_B1 value_C1
2 value_A2 value_B2 value_C2
3 value_A3 value_B3 value_C3

(Note: This step is unnecessary if the table already has a primary key)

Which can be viewed as a set of tables (one per column):

Key T1.A
1 value_A1
2 value_A2
3 value_A3
Key T1.B
1 value_B1
2 value_B2
3 value_B3
Key T1.C
1 value_C1
2 value_C2
3 value_C3

With column names moved to data:

Key Column Value
1 T1.A value_A1
2 T1.A value_A2
3 T1.A value_A3
Key Column Value
1 T1.B value_B1
2 T1.B value_B2
3 T1.B value_B3
Key Column Value
1 T1.C value_C1
2 T1.C value_C2
3 T1.C value_C3

Which can be viewed as a single table of triples:

Key Column Value
1 T1.A value_A1
2 T1.A value_A2
3 T1.A value_A3
1 T1.B value_B1
2 T1.B value_B2
3 T1.B value_B3
1 T1.C value_C1
2 T1.C value_C2
3 T1.C value_C3

Correspondence to RDF Triples: