The Semantic Database
I'm still battling with the idea of the Semantic Web and I found this bit from TBL's Semantic Web Roadmap:
The Semantic Web and Relational Databases
The semantic web data model is very directly connected with the model of relational databases. A relational database consists of tables, which consists of rows, or records. Each record consists of a set of fields. The record is nothing but the content of its fields, just as an RDF node is nothing but the connections: the property values. The mapping is very direct
- a record is an RDF node;
- the field (column) name is RDF propertyType; and
- the record field (table cell) is a value.
Indeed, one of the main driving forces for the Semantic web, has always been the expression, on the Web, of the vast amount of relational database information in a way that can be processsed by machines.
RDF's serialization format -- its syntax in XML -- is a very suitable format for expressing relational database information.
Relational database systems, manage RDF data, but in a specialized way. In a table, there are many records with the same set of properties. An individual cell (which corresponds to an RDF property) is not often thought of on its own. SQL queries can join tables and extract data from tables, and the result is generally a table. So, the practical use for which RDB software is used typically optimized for soing operations with a small number of tables some of which may have a large number of elements.
RDB systems have datatypes at the atomic (unstructured) level, as RDF and XML will/do. Combination rules tend in RDBs to be loosely enforced, in that a query can join tables by any comlumns which match by datatype -- without any check on the semantics. You could for example create a list of houses that have the same number as rooms as an employee's shoe size, for every employee, even though the sense of that would be questionable.
The Semantic Web is not designed just as a new data model - it is specifically appropriate to the linking of data of many different models. One of the great things it will allow is to add information relating different databases on the Web, to allow sophisticated operations to be performed across them.
Why don't they just SAY that??? That helps quite a lot.
By the way, thanks to Danny for his great comment with lots of good links.
And here's some more:
Semantic Web: A Primer
Semantic Web: An Introduction
An Introduction to Dublin Core