• 沒有找到結果。

In the previous section, we’ve introduce the Web Ontology Language (OWL) and Se-mantic Web Rule Language (SWRL). Although, OWL has been a standardize language to express ontology in the Semantic Web, it still have some drawbacks considering the support of concrete domain. Pan et al. [47] pointed out some limitations of current version OWL.

• It does not support user-defined XML Schema datatypes:e.g., >15

• It does not support negated datatypes:e.g., ¬ >15

• Enumerated datatypes are the only user-defined datatypes supported by OWL.

Figure 3.2: The SWRL Editor in Prot´eg´e

• We cannot name the enumerated datatypes in OWL.

• There is no n-ary datatype predicates:e.g., +.

• There is no user-defined datatype predicates:e.g., sumNoLargerThan15

From the above, we can see that the current version of OWL lacks support for the modeling for quantitative relations. For example, it is difficult for us to express the range of the trip budget in the form of concept expression. Lu [39] proposed an approach for modeling quantitative relations. The main idea is to transfer a linear inequality problem into concept subsumption checking. He proposed two methods to deal with such kind of problem.

In the first method, concrete values and intervals are modeled with four kinds of concepts. Each concept represents a range with an upper/lower bound and relations among these ranges can be defined with concept subsumptions. The semantics of these four kinds of concepts are defined by the following table.

Figure 3.3: Relationship between SWRL and Ontology

Table 3.4: Semantics of Quantitative Concepts Concept Semantics

leqX (−∞, X ]

lessT hanX (−∞, X )

geqX [X , ∞)

greaterT hanX (X , ∞)

Therefore, given a concrete value X , we have the following four types of concepts:

leqX represents ” X and all concrete values less than X ” lessT hanX represents ” all concrete values less than X ”

geqX represents ” X and all concrete values greater than X ” greaterT hanX represents ” all concrete values greater than X ”

Given two concrete values X and Y where X < Y, we can define relations among these four kind of concepts as follows:

lessT hanY v leqY greaterT hanY v geqY leqX v lessT hanY lessT hanX v leqY geqY v greaterT hanX greaterT hanY v geqX

Based on these concepts and subsumption relationships, we can express all concrete values between X and Y with ”lessT hanX u greaterT hanY”. A single point of concrete value is a special case of interval whose upper bound and lower bound are the same. A concrete value X can be represented with “leqX u geqX ”. Such a method models concrete values and intervals well, but it cannot define ordinal relations between intervals. Therefore, Lu proposed a second method.

The second method is used for modeling temporal ordinal relations. Given a rational number line, we can divide it into equal length ranges called primitive intervals. Temporal relations between primitive intervals are defined as

t1 < t2 means t1 is before t2

t1 ≤ t2 means t1 is before or the same as t2 t1 > t2 means t1 is after t2

t1 ≥ t2 means t2 is after or the same as t2

Complex intervals consist of primitive intervals. A complex interval T is an interval that stars form one primitive interval (written as begin(T )) and ends at another primitive interval (written as end(T )). Temporal relations between two arbitrary intervals T1 and T2 can be defined as

T1 < T2 means end(T1) < begin(T2) T1 > T2 means begin(T1) > end(T2)

T1 ≤ T2 means (end(T1) ≤ end(T2)) and (begin(T1) ≤ end(T2)) T1 ≥ T2 means (begin(T1) ≥ begin(T2)) and (begin(T1) ≥ end(T2))

In this method, an interval T are modeled as a concept (written as C(T )) in TBox. If T2 is a sub-interval of T2, it means that C(T2) is a sub-concept of C(T1). Then, he defines two transitive object property ends before and begins after to express the above temporal ordinal relations. Their semantics are shown in the following table.

Note that, in the concept hierarchy, if we say an interval C(T1) ends before C(T2) (represented as C(T1) v ends before.C(T2))and does not overlap C(T2) (represented as C(T1) u C(T2) v ⊥), C(T1) also ends before all sub-concept of C(T2). Temporal ordinal relations between two intervals can be checked by the following rules.

Table 3.5: Semantics of Quantitative Relations

Lu’s approach models quantitative relations using concepts and object properties. It has several flaws. For example, in the first method, for every concrete value, it will create four concepts:leq, lessT han, geq, and greaterT han. Second, it does not allow the user to specify intervals that are smaller than primitive intervals. For example, if the primitive interval is set to be one day, then it is impossible for user to describe schedule using hours.

On the other hand, SWRL supports build-ins for dealing with quantitative relations. We can use the less(X, Y ) function provided by SWRL build-in to compare the numeric value or time interval. Such a numeric value or time interval must be XML Schema datatypes.

However, SWRL rules can be only applied to individuals and cannot be used in the level of TBox. In our system, we models service descriptions as concept expressions. Therefore, we adopt Lu’s approach to model value partition and time ontology.

3.5 Web Service Description Language(WSDL)

The WSDL [3] is an XML based document for describing network services in abstract terms about operating on messages containing concrete data formats and network

proto-col. As communication protocols and message formats are standardized in W3C (World Wide Web Consortium), it becomes increasingly possible and important to be able to describe the communications in structured way. WSDL defines an XML grammar for describing services’ specification in order to achieve its needs. Such network connection used to communicate is standardized with SOAP 1.1, HTTP GET/POST, and MIME.

A WSDL document simply specifies:

• What the Web Services consists of - (types, message, operation)

• How the Web Services is bound to a set of concrete protocol - (binding, port type)

• Where the Web Services are implemented - (port)

Above-mentioned specification is defined with some main elements for automating the details involved in application communications applied in distributed systems and services. Details description about these elements is in the following section:

• Types: A Type is a container for data type definitions using some type system, such as XSD.

• Message: Message is an abstract, typed definition of the data being communicated.

• Operation: Operation defines an abstract description of an action supported by the service.

• Port Type: Port Type is an abstract set of operations supported by one or more endpoints.

• Binding: Binding defines a concrete protocol and data format specification for a particular port type.

• Port: A Port means a single endpoint defined as a combination of a binding and a network address.

• Service: A Service represents a collection of related endpoints.

However, since WSDL recognizes the need for rich type systems for describing message formats and supports the XML Schemas specification (XSD), it does not support semantic description of services.

3.6 Web Services Business Process Execution