• 沒有找到結果。

Chapter 2 Literature Review

2.2 Semantic Web

This section briefly reviews the technologies related to the Semantic Web such as Ontology, Web Ontology Language (OWL), Web Ontology Language for Services (OWL-S) and the integration of OWL-S and UDDI.

2.2.1 Semantic Web and ontology

The Web was originally used for sharing information among scientists. At the beginning, this Document Web was used to store and share static information but it has gained increasing attentions due to the advance of Internet technologies and the enhancement of hardware capabilities. However, the large amount of data available on the Web can only be understood by humans or by very specialized programs. The goal of the Semantic Web [1],[13] is to make the data not only understandable by humans but also by machines.

Regarding the Web services, different primitive Web services within a composite Web service derive from diverse service providers and contribution is prone to the semantic misunderstandings. WSDL provides a machine-processable interface in which components

that contribute to a composite Web service can be executed automatically. However, machine-processable is not identical to machine-understandable. WSDL provides less support for semantic description of Web services [9]. Even if one output parameter of one primitive Web service has the same name and type as an input parameter of another primitive Web service, it is not necessary that these parameters can be linked up to form a consistent composite service.

The Semantic Web is designed to increase the interoperability among machines by providing a machine-processable format with additional semantic information which can help the primitive Web services be searched and utilized autonomously hence increasing interoperability among Web services.

Figure 2-6 Semantic Web Stack [29]

The definition of ontology is: “Ontologyisa formal,explicitspecification ofa shared conceptualization”[27]. The author of [28] introduced this concept into the domain of Artificial Intelligent (AI) by extending the meaning of ontology to “OntologyasVocabulary”.

The Semantic Web tries to create the vocabulary (ontology) for a specific domain and

therefore different Web services in a heterogeneous environment can understand each other in this context. The stack for the Semantic Web is shown in Figure 2-6.

Several standards were introduced to achieve this goal such as Web Ontology Language (OWL) [14],[30],[31],[32] and Web Ontology Language for Services (OWL-S or formerly DAML-S) [15]. These standards help to handle the semantic issues occurring in Web service utilization.

2.2.2 Web Ontology Language (OWL)

The Semantic Web tries to build the ontologies for the Web in which information is given explicit meaning, making it easier for machines to automatically process and integrate information. This concept can be realized by the Web Ontology Language (OWL) [14]. It is a W3C recommendation language for defining Web Ontology.

OWL is based on XML, XML Schema, RDF and RDF Schema and it is derived from DARPA Agent Markup Language and the Ontology Inference Layer, in short DAML+OIL.

In order to increase interoperability among machines, OWL is used to represent the meaning and semantics of terms on the Web explicitly and to describe explicitly the relationships between these terms.

Figure 2-7 shows three different species (sub-language) of OWL, OWL Full, OWL DL and OWL Lite, whose expressive abilities are decreased in order but the computational abilities are increased in reverse order. OWL Full is meant for users who want maximum expressiveness and the syntactic freedom of RDF with no computational guarantees. OWL DL (Description Logics) supports those who want the maximum expressiveness without losing computational completeness. OWL Lite supports users primarily needing a classification hierarchy with simple constraints. [14]

OWL Full OWL DL

OWL Lite

Figure 2-7 Three species for Web Ontology Language (OWL) [14]

In the simple example given in Figure 2-8, OWL is used to describe and define the semantics of terms. In this case, the term cost (line 11) is a subclass of price (line 13) and the term value (line 31) is also a subclass of price. Therefore, one communication counterpart can deduce and understand that cost can be related to value when the others talk about the notion price by using these different terms. Certainly, the power of OWL goes beyond this example. OWL can express notions and their complicated relationships, constraints, data types, and other metadata.

The W3C article [30] presents the abstract syntax of the Web Ontology Language (OWL) and the test cases for the OWL approved by the Web Ontology Working Group can be found in the document [32]. Tools for supporting OWL such as DAMLJessKB and OWLJessKB can be found from [33],[34] respectively.

1 <?xml version="1.0"?>

2 <rdf:RDF

3 xmlns:p1="http://protege.stanford.edu/plugins/owl/protege#"

4 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

5 xmlns:xsd="http://www.w3.org/2001/XMLSchema#"

6 xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"

7 xmlns:owl="http://www.w3.org/2002/07/owl#"

8 xmlns="http://localhost:8080/tests/definition.owl#"

9 xml:base="http://localhost:8080/tests/definition.owl">

10 <owl:Ontology rdf:about=""/>

11 <owl:Class rdf:ID="cost">

12 <rdfs:subClassOf>

13 <owl:Class rdf:ID="price"/>

14 </rdfs:subClassOf>

15 </owl:Class>

16 <owl:Class rdf:ID="airperiod">

17 <rdfs:subClassOf>

18 <owl:Class rdf:ID="airtime"/>

19 </rdfs:subClassOf>

20 </owl:Class>

21 <owl:Class rdf:ID="arrtime">

22 <rdfs:subClassOf>

23 <owl:Class rdf:ID="arrivaltime"/>

24 </rdfs:subClassOf>

25 </owl:Class>

26 <owl:Class rdf:ID="stop">

27 <rdfs:subClassOf>

28 <owl:Class rdf:ID="stops"/>

29 </rdfs:subClassOf>

30 </owl:Class>

31 <owl:Class rdf:ID="value">

32 <rdfs:subClassOf rdf:resource="#price"/>

33 </owl:Class>

34 <owl:Class rdf:ID="enroute">

35 <rdfs:subClassOf rdf:resource="#stops"/>

36 </owl:Class>

37 </rdf:RDF>

Figure 2-8 An example for Web Ontology Language (OWL)

2.2.3 Web Ontology Language for Services (OWL-S)

Web Ontology Language for Services (OWL-S), originally called DAML-S. It is an OWL-based ontology language which is used to describe the capabilities and properties of Web services in unambiguous and machine-understandable form. Figure 2-9 is the top level of the service ontology in OWL-S [15]. In OWL-S, a Web service will be represented by three essential types of knowledge which are as follows:

(1) ServiceProfile: Describe “what the service does?” Each Web service should present its own ServiceProfile to describe the capability, functionality and / or the contact information of a service. These messages are normally for human users.

(2) ServiceModel: Elaborate “how the service works and how to use the service?”

This information contains the structure (workflow) of a service including input, output, precondition and effects, usually referred to as IOPE. If a Web service is composed of several simple (primitive) services, OWL-S will use an element called a controlConstruct to describe the workflow among simple services. These flow control constructs include Sequence, Split, Split+Join, Unordered, Choice, If-Then-Else, Iterate, and Repeat-Until. These messages are the main body of a OWL-S document.

(3) ServiceGrounding: Describe “how to accessthisservice?” This message maps the abstract interface to concrete binding information by specifying the communication protocol, message formats, and other service-specific details such as port numbers.

Figure 2-9 The components of OWL-S [15]

OWL-S can be regard as a specialization of OWL which is dedicated for the domain of Web service. An OWL-S document can therefore be understood not only by humans but

also by machines. Briefly, ServiceProfile can be read and searched by humans; the ServiceModel explains the workflow that the machines should obey when any process is invoked via the detailed protocol and format provided by ServiceGrounding.

2.2.4 The mapping between UDDI and OWL-S

Web service providers adopt standard UDDI as a tool for advertising their Web services.

However, the information represented in UDDI lacks semantic meaning, so it cannot fully support computers and people in cooperation. With the complementary support from Semantic Web technologies, the detail descriptions for a Web service can be modeled by OWL-S which is designed to handle the semantic issues associated with representing a Web service. Retaining a list of semantic meanings in UDDI provides a convenient way to support discovery of Web services, as the ServiceGrounding in OWL-S is able to locate WSDL documents and the associated Web services. With OWL-S, the descriptions of Web services can become machine-understandable concepts. Figure 2-10 shows the mappings between UDDI and OWL-S [35]. This enables UDDI and OWL-S to work seamlessly together for autonomous Web service discovery and execution.

The element qualityRating which resides in the ServiceProfile, shown in Figure 2-10, is the parameter used to record the higher level abstractions about the quality provided by a particular Web service. The proposed approach uses this element and its corresponding tModel to evaluate every Web services.

Figure 2-10 The mapping between OWL-S and UDDI specification [35]

Some elements such as e-mail, serviceName and textDescription are mapped directly from ServiceProfile to UDDI, whereas the OWL-S specific attributes such as input, output, and qualityRating are represented by the tModel structure. A detailed illustration of how to import the OWL-S profile file into the UDDI registry is discussed in [35]. This mapping brings the power of the Semantic Web into the UDDI registry. With this feature, information stored in the UDDI registry can not only be understandable by humans but also by machines.