Saturday, November 13, 2004

Semantic Web: replace RDF storage with relational database?

OK, this might not be a good idea for several reasons, but I am going to toss out this idea anyway: for Semantic Web applications instead of modeling and defining application classes (e.g., with OWL, RDFS, etc.) design appropriate database tables and store meta-data, etc. directly in a relational database instead of in RDF.

There are good Java tools for handling RDF, RDFS, OWL, etc. (e.g., Jena, Sesame).

Still, the idea of storing meta-data for online documents, relationships between documents, etc. directly in a database solves a few problems that seem to be holding back progress with Semantic Web technologies: learning curve for RDF/RDFS/OWL, acquisition and learning curve for tools for storing RDF, learning curve for one of the several RDF query languages, etc.

The next release of my KBtextmaster product will include an option for automatic RDF generation from documents and web pages. I think that also supporting extraction of meta-data to a relational database would be useful. In the first case, I will only attempt to extract data for limited schemas (e.g., part of dublin core, my own OWL ontology for news stories, etc.) - every schema needs hand-crafted extraction code so I need to limit what types of information I try to extract. If I also support use of a relational database, I would need to design equivalent tables (sort of an OO to relational mapping problem). Anyway, the semantic extraction problem is most of the hard work and I thought that some potential product users might have an easier time if extracted data was placed directly into a database so that they would not have to learn any new technologies if they did not want to.

No comments: