Semantic Web Tools Emerge
Semantic Web concepts and technologies gain traction in mainstream development with new crop of tools.
When Tim Berners-Lee expressed his vision of the Semantic Web in 1999, he looked forward to a future when computers would "become capable of analyzing all the data on the Web -- the content, links and transactions between people and computers." Nearly a decade later, developers are still intrigued by its possibilities.
The Semantic Web is not a technology per se, but rather a combination of a philosophy, design principles and supporting technologies that make electronic information readable by machines and humans alike. The result: an online environment where software and systems can efficiently find and process online information without human intervention.
"The number of development tools available is growing very fast," says Denny Vrandecic, a research associate in the computer science department at the University of Karlsruhe in Karlsruhe, Germany, and an active member in the Semantic Web community. "At this point, there's no major language that doesn't have a Semantic Web library associated with it."
Although still in their infancy, Semantic Web concepts and technologies are beginning to be used by government agencies and corporations that must routinely collect, store and process huge amounts of complex data. Rather than only allowing people to find information stored in a traditional folder hierarchy, Semantic Web technology enables such companies to navigate through all their online resources -- both structured and unstructured -- by making logical inferences that previously only humans could make.
"Instead of today's clumsy ways of integrating legacy applications -- where if something changes, companies need to scramble to make sure those applications can still talk to each other -- by describing databases semantically developers can write software that connects the applications automatically on the fly," says Michael Kifer, professor of computer science at SUNY Stony Brook.
Open Source Roots
One of the challenges for .NET developers interested in acquiring Semantic Web-related skills is that the roots of and responsibility for development of Semantic Web standards are within the domain of World Wide Web Consortium (W3C) -- an organization dominated by the open source community.
"[It's] the opposite end of the technology world from Microsoft," says Sean B. Palmer, a Sussex, England-based computer scientist prominent in the Semantic Web community. "This is not a political thing. It's just what Semantic Web people are conversant with."
Holger Knublauch, vice president of product development at TopQuadrant Inc., a maker of Semantic Web development tools, agrees. "Most of the Semantic Web tools are in Java, and thus the most widely used API is Jena, from HP Labs. Still, the market is broadening," Knublauch says.
For its part, Microsoft itself hasn't said much about the Semantic Web, although it could be argued that its Silverlight tools and even its bid for Yahoo! Inc. could help its developer community make some progress. Last May, however, Microsoft Technical Fellow Gary Flake, speaking to the Microsoft Strategic Account Summit in 2007, said he was "bearish" on the Semantic Web.
"I think it has to be fundamentally about machines making the Web more accessible to people, as opposed to the other way around," Flake told the audience.
Microsoft declined to comment further.
The most prominent tool written specifically for .NET is SemWeb, an RDF library written in C#. Created by Josh Tauberer, a University of Pennsylvania graduate student in linguistics, SemWeb can be used for reading and writing Resource Description Framework (RDF) metadata, keeping RDF in persistent storage, querying persistent storage via simple graph matching and SPARQL, and making SPARQL queries to remote endpoints.
"For the most part, the Semantic Web community hasn't done a lot to get things to a practical state for mainstream programmers," admits Tauberer, who wrote SemWeb to support his own research. "However, we're finally starting to see some other tools emerge."
Some of those other tools include the Windows-based Altova SemanticWorks product, which allows developers to graphically design RDF instance documents, RDF Schema vocabularies and Web Ontology Language (OWL) ontologies, then output them in either RDF/XML or N-Triples formats.
Another up-and-coming Semantic Web tool, TopQuadrant's TopBraid Composer, is a platform for developing Semantic Web ontologies and building semantic apps. Currently implemented as an Eclipse plug-in, TopBraid Composer supports developing, managing and testing configurations of knowledge models and their instance knowledge bases.
Dean Allemang, chief scientist at TopQuadrant, says TopBraid Composer customers include big government contractors in the intelligence community, NASA, pharmaceuticals and financial services. "Regardless of whether you're consciously implementing Semantic Web concepts or not, our desktop tool can be used for knowledge management, data integration and services-oriented architecture-things that a lot of companies are doing today," he says.
RDF Gateway from Intellidimension Inc. is a Windows-based platform for developing and deploying Semantic Web apps by leveraging RDF. Both a Web client and a Web server, RDF Gateway includes a native RDF database for managing information on a server or desktop computer. Developers can create agents that populate the database with relevant information from any source describable using RDF. In spring 2007, Microsoft integrated RDF Gateway into Microsoft Interactive Media Manager, an extension of Microsoft Office SharePoint Server 2007.