Reactive agents
In the previous chapter we described three languages for representing knowledge on the Semantic Web: RDF, RDFS, and OWL. These languages enable us to create Web-based knowledge in a standard manner with a common semantics. We now turn our attention to the techniques that can utilize this knowledge in an automated manner. These techniques are fundamental to the construction of the Semantic Web, as without automation we do not gain any real benefit over the current Web. There are currently two views of the Semantic Web that have implications for the kind of automation that we can hope to achieve: 1. An expert system with a distributed knowledge base. 2. A society of agents that solve complex knowledge-based tasks. In the first view, the Semantic Web is essentially treated a single-user application that reasons about some Web-based knowledge. For example, a service that queries the knowledge to answer specific questions. This is a perfectly acceptable view, and its realization is significantly challenging. However, in this book we primarily subscribe to the second view. In this more-generalized view, the knowledge is not treated as a single body, and it is not necessary to obtain a global view of the knowledge. Instead, the knowledge is exchanged and manipulated in a peer-to-peer (P2P) manner between different entities. These entities act on behalf of human users, and require only enough knowledge to perform the task to which they are assigned. The use of entities to solve complex problems on the Web is captured by the notion of an agent. In human terms, an agent is an intermediary who makes a complex organization externally accessible. For example, a travel agent simplifies the problem of booking a holiday. This concept of simplifying the interface to a complex framework is a key goal of the Semantic Web. We would like to make it straightforward for a human to interact with a wide variety of disparate sources of knowledge without becoming mired in the details. To accomplish this, we want to define software agents that act with similar characteristics to human agents.