The Semantic Web extends the world wide web by adding standards-based machine-readable semantics to it. However, the Semantic Web concepts are more general than this and can add semantic richness to applications dealing with knowledge-based applications such as scheduling and financial trading. The World Wide Web is a triumph of making an open network accessible to humans, but its inventor, Tim Berners-Lee, realizes its limitations only too well. The Web Browser is, fundamentally, an implementation of the IBM 3270 (mainframe terminal) architecture in software and HTML is hard to process (it hasn’t got a “well-formed” concept, so “clever” HTML is perfectly legal; which is why websites and browsers sometimes crash each other). XML and XML Schema improve things (an XML Parser can parse the XML Schema it needs to understand a piece of XML – and can reject it if it isn’t “well-formed”, with matching tags etc) but XML is virtually semantics free. It tells you what is there, but any actual meaning attached to something tagged as “customer”, say, is an assumption in the mind of the reader – or programmer.
Having invented the World Wide Web, Berners-Lee is now pursuing a Semantic Web roadmap (see Resources). In 1998, he saw this as “a plan for achieving a set of connected applications for data on the Web in such a way as to form a consistent logical web of data (semantic web)”.
The logical extension of this concept is that machines will be able to traverse and process the Semantic Web without any sort of human intervention. A machine readable “ontology” will describe any object in the Semantic Web Cyberspace completely enough for artificial intelligences to interact in ways which make sense to us – or to the intelligences themselves. Welcome William Gibson, who predicted all this without being limited by too much knowledge of how computers actually work.
However, Chris Partridge (Chief Ontologist at 42 Objects, a financial services software vendor, see Resources) warns that this vision may well be very flawed. He sees a real need for “ontology-based programming”, which fits well with modern developments such as service-oriented architectures and model-driven development (especially if you start with the Computationally Independent Model or CIM), and which will be able to exploit the semantic richness of resources on the Semantic Web. However, while ontologies (rich machine-readable descriptions of what things do and how they interact) will reduce the gulf between the loosely consistent business world and the rigidly specified world of the computer program, they won’t render the human factor obsolete. Ontology-based development can enable and extract value from mundane business operations; but chasing the last iota of automation, when a human can make any required decisions quickly and reliably given a semantically-rich set of choices, is unlikely to be cost effective – for the foreseeable future, anyway.
The fundamental standard underlying the Semantic Web is the Resource Description Framework (RDF). This is a set of metadata model specifications (often implemented as an XML application) and is maintained by the W3C (World Wide Web Consortium); see the Resource Description Framework, (RDF) in Resources.
RDF describes “things” or Subjects in terms of their traits or aspects (the Predicate), which may express relationships between the Subject and other things or Objects. An Object may also be the value of a trait. RDF is based on these Subject-Predicate-Object “triples” and provides a simple data model, which nevertheless has the ability to model a wide range of abstract concepts. This has lead to it being used for knowledge-based systems development generally.
The next important Semantic Web standard is the OWL or Web Ontology Language (sic), which is a mark-up language for publishing and sharing data using ontologies. Technically, it is a vocabulary extension of RDF, derived from the DAML+OIL Web Ontology Language. OWL Lite is the easiest OWL to use, because every statement in it can be decided (“reified”) in finite time; higher-level OWLs can contain infinite loops but are more expressive.
Semantic Web technology is, even today, more than an academic plaything. Apart from 42 Objects, already mentioned, Jonathan Himoff, CEO of Magenta (see Resources), says, “We use semantic web technology to build a context for our agents. We’re working with multi-agent systems (with tens, hundreds of thousands of agents) dealing with scheduling. We create a class of demand agents and a class of resource agents and then we have some software which tries to match them, to figure out how to schedule things like trucks”.
Magenta has a set of Java-based tools, the Ontology Manager Toolset (OMT), for building semantic webs representing business processes; “from an intellectual perspective, the most interesting part of our technology”, Himoff says. OMT can maintain and update ontologies on-the-fly, which makes systems based on it more flexible than most conventional systems. If you discover that a constraint, on the ship size allowed in a port say, is not as absolute as the ontology says (perhaps a small cash payment will bring the boat in if it is a little over the limit), you can add this knowledge to the system without shutting everything down and restarting.
Semantic models bridge the gap between real-world events and behaviors, and automated systems. You take real-world events, and process them against the ontology (knowledge base) that describes the appropriate business process. This creates the desired software agents, with appropriate behaviors, in what is, effectively, a simulation that delivers real-world results.
The ontology stores knowledge about business process: about people’s understanding of the data sources and how they view them and want to use them. This abstracts the business logic from the underlying technology and allows reuse in different domains and for different customers. However, Himoff says that the balance between storage of generalized (abstracted) knowledge and its use for a specific purpose is what is important: he is doing generic mass customization, for a specific process/customer, in a service-oriented architecture.
What takes this beyond conventional rule-based systems is the potential for learning, in a feedback-controlled process: “in some simple sense you have a plan,” Himoff explains, “we can describe that plan as a semantic network, we then go and do something, execute that and then we have a result. That result can also be described as a semantic network, and we can compare the plan to the achieved result and say ‘why are the plan and the achieved result different’. Then we can splice the semantic network back into the ontology structure, and then the understanding of what we’re trying to do is going to grow somehow. You can start with a basic understanding of what you are doing and run the system for a while and it can in some sense learn what you’re really doing, and perhaps change it”.
Nevertheless, Magenta is currently dealing with fairly simple systems and master-slave agent relationships. In the future, intelligent peer-to-peer agents will bring the possibility of emergent (unexpected) behaviors – very powerful, but how do you test and control them? For now, however, Himoff (not too seriously) complains, “I wish the system would start doing something we don’t expect, it’s hard enough to get it to do what we want it to”.