December 07, 2005
The Semantic Web and the Future of Wikis
Everyone knows the Wikipedia, the free encyclopedia. It has thousands of users and the content is, on average, pretty reputable. The Wikipedia can be used as a quick source to find facts. However, these facts are expressed in tables, phrases, and sentences in entries. For example, Wikipedia:Abraham Lincoln. To get facts such as his birthdate, years in office, etc, somebody types these attributes into the article. After those attributes are entered, the computer knows nothing about them other than the fact they are characters forming a string forming the article content. That is, without somebody manually adding the article to Category:1865 deaths, we have no way to extract this information. In the ideal world, one would have a article for a person, define their date of death, and we could query in real-time and without relying on individual's resiliance to make an article of a category saying so, the people who died in a certain year.
The Semantic Web is a project to create a medium in which to exchange this type of information-- attributes and relationships among things. The biggest hurdle with the Semantic Web is establishing this information. How do you collect it? How do you update it? How do you verify its integrity? I hypothesize that a wiki, especially the Wikipedia, is an excellent arena in which to define significant portions of the Semantic Web. I'm elated to see that the Semantic MediaWiki project exists to do just this. By slightly modifying the syntax in which you compose wiki articles, you can define relations and attributes of the articles themselves.
For example, instead of typing "Nord Hall is a building in the Case Quad" (or
"[[Nord Hall]] is a building in the [[Case Quad]]"in wiki syntax), you would type
"[[Nord Hall]] is a [[is a::building]] in the [[located in::Case Quad]]". You could further define attributes about the article, for example
"It has [[floors:=3]] floors". Although there is no difference to the average user, the relationship of this article to others and attributes of this article are now understood by the wiki-- by a computer. This opens up a whole floodgate of possibilities. Imagine you are visiting campus and you want to know your way around the Case Quad. You know about the existence of the Case Quad, but not what the buildings are. So, you go to Category:Case Quad on the Case Wiki. What you might see are articles tagged as relevant to the Case Quad. Some of these could be statues, fountains, etc. You don't care about them! You just want buildings. But wait, since the wiki knows about other article's relationships to the Case Quad, it can automatically say "They are n buildings located in the Case Quad. Here is a list." Or, you are composing a paper about the history of the Case Quad. You cannot find a list or map anywhere of what the Quad resembled in 1940. So, instead of referencing articles for every building in the Case Quad category, you just say, "Give me a list of buildings located in the Case Quad that were built before 1940." Since all the relationships and attributes of objects are known, the possibilities for data harvesting is immense.
For an example of the Semantic MediaWiki project in action, see the San Diego article on the demo site.
Trackback
You can ping this entry by using http://blog.case.edu/gps10/mt-tb.cgi/4597 .
Comments
I can see that being of some value inside the wiki, but the real benefit would be if it can output RDF or "semantic XHTML" or some other standardized format. Is this possible?
The gain of harvesting all of this info without being able to output RDF or semantic XHTML would be relatively useless. The real possiblities exist for using this data elsewhere, like in web services.
I envision a web form:
What building are you in: (insert web service that queries the wiki for RDF of all buildings on campus and creates a drop-down menu)
Georg, thank you for adjusting Touchgraph for Mediawiki. Please can you give me an example, how SELECT query in SpecialTouchgraph.php has to be changed, if wiki database has a prefix. Kind Regards...
About Semantic Web: I think it is very difficult with the present software tools. Who would enter data? Where would data be kept? Retrieved? Would you have a list of all births on Earth for a certain yeat (e.g. for birthyear of Ab Lincoln)?
Hi Gregory, sorry for mispelling.
I've committed a new version of the Touchgraph module that works with database table prefixes.
Regarding the semantic web, I think I'm going to write a follow-up article...
home equity loan http://www.homeequityloan-x.com