Presentation, and semantic applications as frameworks
Friday, March 28th, 2008I gave a talk two weeks ago (I really need to update more frequently), with Sergey Chernyshev at the New York Semantic Web meetup, on the subject of Semantic MediaWiki, Semantic Forms, and some of the associated extensions (what I sometimes try to call the “MediaWiki semantic suite”). The audience was about 25-30 people, and I thought it went well - I got the sense that people understood the basic philosophy of structured semantic wikis by the end. In a bit of self-reference, you can also see the page for this presentation on Sergey’s wiki, techpresentations.org.
They see you always learn about the subject matter when you explain it to others, and for me this was no exception, perhaps surprisingly since it’s been over a year of working on the project. One thing I brought up during the talk, that I hadn’t fully thought of before I started preparing for the talk, was how a semantic representation makes creating generic software solutions for data very easy. One big thing in web programming lately has been frameworks - Ruby on Rails, most notably, but also Symfony for PHP, etc. These frameworks all make web development easier by looking at the structure of the tables in one’s database, and making all sorts of assumptions about how that data will be used - if you have a table called “Cars” with various fields, chances are that the application that uses it will need a class called “Car”, holding those same fields, and will need some web page to let someone add a car by filling in those fields, another one to display a single car and all those fields, another one to delete a car, etc. So the framework does this work for the programmer in advance, eliminating the need for a lot of low-level hacking. Well, extensions like Semantic Forms and Semantic Drilldown work in the same way, though their job is significantly easier because, instead of having to deal with numerous tables, with numerous fields in each one, there’s essentially only one database table, with just three fields, holding the full store of both data and meta-data (e.g. the type of each field) in semantic-triple form: no need to deal with all the complexities that a database structure can possibly have. Similarly, one can easily change the “data structure” of a semantic data set without needing to do any re-coding.
Semantic representation is usually described as useful because it lets you easily share data, but I think its flexibility as a data source for generic applications might be equally important.