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.
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.
|