10.1 RDF and the Relational Data Model

RDF and the relational data model are both metadata models, so it's natural to want to see how the one can work with the other. Stanford took a look at different designs of tables for storing RDF data in an online paper located at http://www-db.stanford.edu/~melnik/rdf/db.html. With some differences based on data types and the ability to store multiple models, most of the schemas demonstrated were basically the same?store the model as triples, with or without support for additional information such as namespace or model identifier.

An up dated document comparing RDBMS and Semantic Web data is located at http://www.w3.org/2001/sw/Europe/reports/scalable_rdbms_mapping_report/.

If you look at implementations that store RDF within relational databases, these simple overlay schemas are used, for the most part, by all of them. For instance, Jena gives you a couple of different options in database storage; the first is whether multiple models are supported, and the second is whether a hash is used to generate the identifiers for the resources. However, the basic structure of the database is the same?a table for storing statements, with secondary tables storing literals (which could get quite large), resources, and namespaces.

Siderean Software's Seamark server (covered in Chapter 15) also uses a basic layout for storing its data, with separate tables for resource and literal and another table pulling together the triples (in addition to specific information about accessing the model). However, other applications, such as Plugged In Software's Tucana Knowledge Store, use a data storage schema that is built from the ground up based on RDF, and make no use of relational data stores at all.

Anoth er online white paper that discusses the relational data model and RDF directly is "Relational Databases and the Semantic Web" at http://www.w3.org/DesignIssues/RDB-RDF.html.