What can the Semantic Web do for me?

One of the questions I’m being asked somewhat frequently these days, probably because I write about it a lot, is "what can the Semantic Web do for this product/idea/whatever?"

My reaction is always a brief pause while I realize that the person asking the question doesn’t really understand what it’s about.  In the end, they’re the one who has to figure that out.  The short answer is "it depends on what you’re building".  It’s like asking "What will learning how to read and write do for me?"  It depends on what you want to do with it, trying to ask somebody else is pointless.

I think this is ultimately a mindset problem.  Relational databases have placed limitations on software development that have been in place for so long that people aren’t even conscious of them, they’re just accepted.  Like the earth being flat.  Or the "fact" that  man cannot fly.  Software engineers have these limitations drilled into their heads from the time they’re in high school until they graduate college, and then they perpetuate these ideas.  When a couple of guys sit around drinking a beer and drawing flowcharts on bar napkins, they have the limitations of a relational database in mind without even consciously thinking about it.

People think of the Semantic Web/Linked Data Web as something tangible and easy to point at, like rounded corners, or AJAX, or software that runs in a browser.  Or, more often than not, something "better than Google" in a nebulous kind of way.  It’s not.

In my brain, I think of it as a direct replacement for relational databases.  This is from a programmer’s perspective, of course.  I view it as something that you will plug in in place of the relational database that used to hold all of your stuff.  It is a means to let your applications use the Internet itself as its database.

Whatcanthesemwebdoforme

I don’t know what connections between your data and the outside world make sense, unless I’m involved in brainstorming the product.  But if you use a relational database you can’t make any of those connections, they’re precluded by your platform.  There’s a ton of useful data out there for you to connect to, but it’s up to you to figure out what you need.  You must know where you’re going in order to get there.

To me, the Semantic Web is a fundamental shift in software architecture.  I’ve said this before, and I’m still convinced of it:  I will never build another application on a relational database, even if I don’t plan to use any outside data.  Why would I consciously cripple my application?

UPDATE:  Kingsley has reminded me that there is indeed a line that needs to be drawn between the RDF store and the old relational database.  There is, already, middleware available that will facilitate mixing and matching RDF and relational databases in cases where the relational database is already entrenched.  I have corrected the flowchart :)

Share and Enjoy:
  • Print
  • Digg
  • Facebook
  • Google Bookmarks
  • HackerNews
  • Reddit
  • http://www.openlinksw.com/blog/~kidehen Kingsley Idehen

    Jason,

    The Linked Data part is about the DBMS aspect of the Semantic Web vision for sure! But note, due to the dexterity of the RDF Model we can pull Relational Data Sources, unobtrusively, into the emerging Linked Data Web :-)

    If you could just add an arrow from the DBMS to the RDF store and label the connection: SQL-RDF Views or RDBMS to RDF middleware, we are set. You can ecen add other links representing Web 2.0 Data Spaces such as Facebook, LinkedIn etc. and label the connection: RDFization Middleware (Drivers).

    Finally, I would like to incorporate the updated graphic into my Linked Data Planet keynote :-)

  • http://www.jasonkolb.com Jason Kolb

    @Kingsley –

    You are absolutely correct, thanks for the catch ;) Would be tickled to see the graphic in your keynote, feel free to use it wherever you like.

  • http://www.furia.com glenn mcdonald

    You say "I will never build another application on a relational database, even if I don't plan to use any outside data. Why would I consciously cripple my application?" I think this point deserves way more emphasis. The relational-database mindset (or more particularly, the SQL mindset) impoverishes information software; switching to a nodeset mindset frees your information to recognize its *interal* linkages! Linking across datasets is a secondary benefit. In fact, I think the internal improvements are bigger than the external improvements, and this suggests that phrasing "The Semantic Web" as a Web is a tactical and political misstep, putting this new technology in competition with "the web" instead of with old database tech.

    But, next topic: if this is really a revolution in database technology, doesn't it deserve a query language that isn't based on the query language that is the soul of the old technology's oldness?

  • http://www.jasonkolb.com Jason Kolb

    @Glenn – Interesting… are you proposing an alternative to SPARQL? (Is there one that I'm not aware of?)

  • http://www.furia.com glenn mcdonald

    I have one in mind, yes! It's part of a not-yet-public product I'm working on, but I'll be at LinkedData Planet tomorrow and Wednesday, so perhaps I can tantalize you with hints in person…

  • Drew Warren

    Very interesting way of describing it. I am with a firm introducing semantics to the financial services community. This industry tends to be slow moving and deliberate when it comes to new technologies. It is also an industry that requires a very specific and tangible value proposition before spending a dime. SPARQL provides the link to all of those historical databases resident in every major firm – and these databases are not going away – not now – maybe never. Bottom line is you can get at the data without any problem so does it really matter how it is stored? No – what matters is how it can now be used.