There are a lot of articles and books talking about using the semantic relationships or the Parameterized scheme for database design in semantic web applications instead of using the standard relational database, I read in a book "Programming the Semantic web" that one reason is To express the meaning easily or to gain a flexible or readable database, but that is not a logical reason!! Why losing the relational database features "especially the normalization " for that reason !? furthermore; it is possible to express the meaning from the regular relational database .. I really appreciate any help, ideas or discussions, Thanks
From the point-of-view of linked open data and RDF.
Splitting the question into four parts:
1) expressing meaning: sure, a database can express meaning in terms of its documentation and naming conventions, but this exists independently of the technology. RDF is explicitly self-documenting because everything (if all is well) dereferences. The expression of complex logical relationships is simple because of tools like OWL and inferences across these are a facet of the query language and not the application.
2) Flexible access: Data in databases are fine if you can connect directly or have access to an API, however you need to read documentation (because an API is rarely fully compliant to any given standard, if at all, and SQL is dialect-based) and have this access. With a model that uses HTTP and SPARQL, availability is the norm as is a standardized API (yes, there are some "features" added on to services and "convenient" APIs being developed, but that is for another time). Access is also flexible because of the higher-level logical queries that are possible due to the semantics of the platform (that would generally be part of the application in a database context -- as I said above).
3) Normalization: I asked about this previously and @JindrichMynarz has pointed out that normalization entails data-loss (which it does). Because there is largely no overhead in adding triples containing non-normalized data, you can have the best of both worlds.
4) can relational databases be represented semantically: I work converting databases from relational models to RDF; it's relatively banal to produce a one-to-one conversion, however, it is always tempting to produce richer semantics than the original database contained (the relational models that were used are often very, very simple, which might mean that the relational model, while efficient, doesn't necessarily lend itself well to expressing complex relations when put into the hands of real-world practitioners).
Hopefully, this goes some way to answering your question, though I doubt that this is a superb answer to it.
answered 23 Aug '11, 04:40