Towards OWL 2 Natively Supported Fuzzy Cloud Ontology

8 downloads 27873 Views 440KB Size Report
(CRM) related tasks, including account/contacts management, task/event tracking, etc. .... (AppleWeight)DP for use of the class (Apple)C subsuming the instance ...
2012 IEEE 36th International Conference on Computer Software and Applications Workshops

Towards OWL 2 Natively Supported Fuzzy Cloud Ontology Huiqun Zhao Department of Computer Science North China University of Technology Beijing, China [email protected]

Daren Fang, Xiaodong Liu, Imed Romdhani School of Computing Edinburgh Napier University Edinburgh, United Kingdom {d.fang, x.liu, i, romdhani}@napier.ac.uk

Since traditional ontology semantics and DL cannot effectively describe the entire Internet resources due to the fuzziness of certain contents, the necessity of fuzzy inclusion in ontology has been addressed by [2][3][4][5], in which fuzzy logic and fuzzy DL reasoning are introduced to OWL 2 to cope with the fuzziness occurred in domains of ontology. [5][6] suggest to extend OWL 2 with new syntax, e.g., to use “owlx:degree” to reveal a truth degree of a basic ontology axiom. [3] advocates populating their FuzzyOWL2Ontology with crisp ontology elements. [4][7] recommend using OWL 2 annotation itself to present the fuzziness.

Abstract — Cloud Computing introduces a revolutionary paradigm of computing to Service Oriented Architecture (SOA), by provisioning various types of computational resources and applications as on-demand services. While presenting cloud services semantically using Web Ontology Language (OWL) based techniques, we experience a series of difficulties due to the vagueness of the novel cloud computing specifications, concepts, meanings, etc. Fuzzy extension of OWL 2 has been a widely discussed topic. In this paper, we present a different solution by considering three new OWL 2 based fuzzy scenarios: subsumption, restriction and axiom value fuzziness. With proper use of OWL 2 updates, a series of unique and categorized weight datatype domains are developed to present the above fuzziness. Our approach does not introduce new syntax, nor is it relying on OWL 2 annotations. Therefore, there will not be inconsistency or incompatibility incurred. In the experiment of fuzzy cloud service ontology, the approach proves to be effortless and successful, where simple reasoning and queries can be effectively handled by all OWL 2 compatible Description Logic (DL) reasoners.

In this paper we present another solution that specifically deals with uncertainty or vagueness scenarios in the layered hierarchy of OWL 2. OWL defines meaning, specification, conceptualization in domains by presenting classes, individuals, object properties (OPs) and datatype properties (DPs) in semantic web documents [8]. Other than [3][4][5] who manipulate fuzzy logic in ontology, we propose to tackle the fuzziness from another perspective, seen as to break down possible fuzzy scenarios which may occur in OWL 2 naturally into subsumption fuzziness, restriction fuzziness and axiom value fuzziness.

Keywords – Cloud computing; semantic web; SOA; OWL; fuzzy logic; Description Logic.

The rest of this paper is organized as follows. Section II outlines relevant fuzzy logic theories. Section III explains the OWL 2 based fuzzy scenarios. In Section IV, we present how fuzzy weights are introduced and presented in OWL 2. Section V illustrates implementation examples of the motivation scenario. Section VI discusses the related work. Finally, Section VII conclusions and future work end the paper.

I. INTRODUCTION The semantic web offers semantics of information and resources on the Internet by which machines are able to interpret without human interventions. The widely deployed OWL based techniques has been accelerating the development of SOA through assisting web services discovery and composition tasks [1]. As Cloud Computing arises from the similar resource pool and they share a great many characteristics, we foresee that web ontology based techniques will play a vital role in dealing with cloud services.

II. FUZZY LOGIC THEORIES According to [9], in the fuzzy set theory of fuzzy logic, a membership degree is defined as the degree to which an individual is considered to be the instance of a class. Instead of formally saying “false or true”, the float “ߤ” is notated as the truth rate of the unit interval [0, 1]. Values of interval (0, 0.5) mean “less likely to be true” and (0.5, 1) mean “more likely to be true”. Assume an individual x and two fuzzy sets A and B that it may belong to: ߤ A (x) = 0.9 stands for x is very likely to be the instance of A; ߤ B (x) = 0.2 stands for x is very unlikely to be the instance of B; They satisfy ߤ A‫ת‬B (x) = ߤ A (x) ‫ ߤ ר‬B (x) = ߤ B (x) = 0.2 and ߤ A‫׫‬B (x) = ߤ A (x) ‫ש‬ ߤ B (x) = ߤ A (x) = 0.9, meaning the degree of x belonging to

In our motivation scenario of cloud service ontology, however, several arisen fuzziness often cause unclear specifications and inaccurate DLs. In fact, there are two major factors [2]: uncertainty, to which probability/possibility/ necessity degree certain statements are true or false; vagueness, there are hardly exact definitions to certain concepts, e.g. new, cheap, slow.

978-0-7695-4758-9/12 $26.00 © 2012 IEEE DOI 10.1109/COMPSACW.2012.66

328

subsumption weights are ߤ (C1)c ((a)I) ՜ (0, 1], ߤ (C2)c ((a)I) ՜ (0, 1], …, ߤ (Ci)c ((a)I) ՜ (0, 1], which satisfy that the degree of (a)I belonging to the superclass (C)C is 100%, whereas the sum of all the subsumption degrees is 100%; denotes:

the intersection of A and B is the minimum ߤ of ߤ A (x) and ߤ B (x), and the degree of x belonging to the union of A and B is the maximum ߤ of ߤ A (x) and ߤ B (x). In the fuzzy relationship theory of fuzzy logic [10], a fuzzy relation R over two sets U and V denotes: R: U ൈ V ՜ [0, 1]. When R = 1, it means there is a crisp relationship R over U and V; R = 0 means the negation of R = 1. Additionally, over each paired individuals of U and V, there can be a series of relations ruv in a matrix [uൈv].

If (a)I ‫( א‬C1)C or (a)I ‫( א‬C2)C or … or (a)I ‫( א‬Ci)C and (a)I ‫( ב‬Cj)C ‫( ת‬Ck)C and (C)C = (C1)C ‫( ׫‬C2)C ‫… ׫‬ ‫( ׫‬Cn)C; Then ߤ (C1)c ((a)I) ՜ (0, 1]; ߤ (C2)c ((a)I) ՜ (0, 1]; …; ߤ (Ci)c ((a)I) ՜ (0, 1]; And ߤ (C)c ((a)I) = 1; σ௡௜ୀଵ  ߤ (Ci)c ((a)I) = ߤ (C1)c ((a)I) + ߤ (C2)c ((a)I) + … + ߤ (Ci)c ((a)I) = 1; Where for each 2” i ” n and for each 1” j ” n and for each 1” k ” n and such that j ് k.

III. FUZZY SCENARIOS The fundamental elements of OWL are individuals, classes, OPs and DPs [8]. We argue that OWL 2 fuzzy extension can be achieved if the fuzziness of the above basic elements and their relations are addressed. As a result, we propose to deal with the following three scenarios: the fuzzy subsumptions exist in individuals/classes/OPs/DPs, the fuzzy restrictions asserted on individuals or classes of individuals, and the fuzzy values used in axioms (literal, secondary individuals or classes of individuals). In the following fuzzy scenarios, “()I” denotes an individual, “()C” denotes a class, “()OP” denotes an OP, “()DP” denotes a DP. “‫ ”א‬denotes to fuzzily belong to, “‫”ك‬ denotes to fuzzily subsume.

c) Case 3: Individual (a)I fuzzily belongs to the union of class (C1)C, (C2)C, …, (Ci)C within their superclass (C)C; the subsumption weights are ߤ (C1)c ((a)I) ՜ (0, 1], ߤ (C2)c ((a)I) ՜ (0, 1], …, ߤ (Ci)c ((a)I) ՜ (0, 1], which satisfy that the degree of (a)I belonging to the superclass (C)C is equal to or greater than the maximum degree of all these subsumptions and up to 100%, whereas the sum of all the subsumption degrees is in (0, σ௡௜ୀଵ ݅ 0]; denotes:

A. Scenario 1: Subsumption weights We propose to modify and transfer the fuzzy set theory talked in Section II by means of “subsumption weights” to illustrate to what degree a class/property/superclass subsume an instance/subpropety/class in OWL 2. The weight works on top of formal OWL 2 sub/subsume assertion and does not tend to modify the overall ontology hierarchy (for now). For example, if an instance is specified to belong to either set A or set B, different subsumption weights can express which set the instance is more or less likely to belong to; or if both x and y belong to the same set, dissimilar subsumption weights can indicate which one follows the maximum specification of the set.

If (a)I ‫( א‬C1)C and (a)I ‫( א‬C2)C and … and (a)I ‫( א‬Ci)C and (C)C = (C1)C ‫( ׫‬C2)C ‫( ׫ … ׫‬Cn)C; Then ߤ (C1)c ((a)I) ՜ (0, 1]; ߤ (C2)c ((a)I) ՜ (0, 1]; …; ߤ (Ci)c ((a)I) ՜ (0, 1]; And ߤ (C)c ((a)I) ՜ [max{ߤ (C1)c ((a)I), ߤ (C2)c ((a)I), …, ߤ (Ci)c ((a)I)}, 1]; σ௡௜ୀଵ  ߤ (Ci)c ((a)I) = ߤ (C1)c ((a)I) + ߤ (C2)c ((a)I) + … + ߤ (Ci)c ((a)I) ՜ (0, σ௡௜ୀଵ ݅ 0]; Where for each 2” i ” n and such that j ് k. 2) Subsumption weights of OWL 2 classes The subsumption cases are nearly the same as for OWL 2 individuals, similarly we have:

1) Subsumption weights of OWL 2 individuals a) Case 1: Individual (a)I fuzzily belongs to only class (C1)C which disjoints its sibling classes (Ci)C within their superclass (C)C; the subsumption weight is ߤ (C1)c ((a)I) ՜ (0, 1], which satisfies that the degree of (a)I belonging to the superclass (C)C is at least the degree of (a)I belonging to (C1)C and up to 100%; denotes:

a) Case 1: If (C0)C ‫( ك‬C1)C and (C0)C ‫( م‬Ci)C and (C)C = (C0)C ‫׫‬ (C1)C ‫( ׫ … ׫‬Cn)C; Then ߤ (C1)c : (C0)C ՜ (0, 1]; And ߤ (C)c : (C0)C ՜ [ߤ (C1)c : (C0)C, 1]; Where for each 2” i ” n. If class (C0)C is only a subclass of (C1)C (fuzzily), the subsumption weight of (C1)C subsuming (C0)C is ߤ (C1)c : (C0)C ՜ (0, 1], and when (C1)C is a subclass of (C)C, the subsumption weight of (C)C subsuming (C0)C is equal to or greater than ߤ (C1)c : (C0)C and up to 100%.

If (a)I ‫( א‬C1)C and (a)I ‫( ב‬Ci)C and (C)C = (C1)C ‫׫‬ (C2)C ‫( ׫ … ׫‬Cn)C; Then ߤ (C1)c ((a)I) ՜ (0, 1]; And ߤ (C)c ((a)I) ՜ [ߤ (C1)c ((a)I), 1]; Where for each 2” i ” n.

b) Case 2:

b) Case 2:

If (C0)C ‫( ك‬C1)C or (C0)C ‫( ك‬C2)C or … or (C0)C ‫( ك‬Ci)C and (C0)C ‫( ת‬Cj)C ‫( ת‬Ck)C = ‫ ׎‬and (C)C = (C0)C ‫׫‬ (C1)C ‫( ׫ … ׫‬Cn)C; Then ߤ (C1)c : (C0)C ՜ (0, 1]; ߤ (C2)c : (C0)C ՜ (0, 1];

Individual (a)I fuzzily belongs to either class (C1)C or (C2)C or … or (Ci)C; where (C1)C, (C2)C, …, (Ci)C can be either disjointed or jointed classes within their superclass (C)C; the

329

…; ߤ (Ci)c : (C0)C ՜ (0, 1]; And ߤ (C)c : (C0)C = 1; σ௡௜ୀଵ  ߤ (Ci)c : (C0)C = ߤ (C1)c (C0)C + ߤ (C2)c (C0)C + … + ߤ (Ci)c (C0)C = 1; Where for each 2” i ” n and for each 1” j ” n and for each 1” k ” n and such that j ് k.

It implies that each DP subsumption weight is assigned individually whilst they have no interference against each other. 5) Subsumption weight Example (Class hierarchy) Other than initially defined cloud delivery model Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS) and Software-as-a-Service (SaaS), emerged concepts such as Communication-as-a-Service (CaaS), Hardware-as-a Service (HaaS) are being accepted to some extent. Instead of saying “HaaS is subsumed by IaaS” and “CaaS is subsumed by either IaaS or PaaS”, subsumption weights can therefore be added to express “HaaS is ‘likely’ to be subsumed by IaaS” and “CaaS is ‘less likely’ to be subsumed by IaaS than by PaaS”, e.g.:

If class (C0)C is a subclass of (C1)C or (C2)C or … or (Ci)C (fuzzily), the subsumption weights of (C1)C, (C2)C, …, (Ci)C subsuming (C0)C are: ߤ (C1)c : (C0)C ՜ (0, 1]; ߤ (C2)c : (C0)C ՜ (0, 1]; …; ߤ (Ci)c : (C0)C ՜ (0, 1]; when (C)C subsumes (C1)C and (C2)C and … and (Ci)C, the sum of all the subsumption degrees is 100%, the subsumption weight of (C)C subsuming (C0)C is 100%. c) Case 3:

ߤ (IaaS)c : (HaaS)C = 0.9; ߤ (IaaS)c : (CaaS)C = 0.4; ߤ (PaaS)c : (CaaS)C = 0.6; Where (CaaS)C ‫( ك‬IaaS)C or (CaaS)C ‫( ك‬PaaS)C and (IaaS)C ŀ (PaaS)C = ‫׎‬.

If (C0)C ‫( ك‬C1)C ‫( ת‬C2)C ‫( ת … ת‬Ci) and (C)C = (C0)C ‫( ׫‬C1)C ‫( ׫ … ׫‬Cn)C; Then ߤ (C1)c : (C0)C ՜ (0, 1]; ߤ (C2)c : (C0)C ՜ (0, 1]; …; ߤ (Ci)c : (C0)C ՜ (0, 1]; And ߤ (C)c : (C0)C = [max{ߤ (C1)c : (C0)C, ߤ (C2)c : (C0)C, …, ߤ (Ci)c : (C0)C}, 1]; σ௡௜ୀଵ  ߤ (Ci)c : (C0)C = ߤ (C1)c (C0)C + ߤ (C2)c (C0)C + … + ߤ (Ci)c (C0)C ՜ (0, σ௡௜ୀଵ ݅ 0]; Where for each 2” i ” n.

B. Scenario 2: Restriction weights Despite the fact that OWL 2 OP based relation axioms seem to be similar as the fuzzy relationship theory talked in Section II, we suggest a rather different approach here. In OWL, both OPs and DPs are used to compose axioms that certain individuals/classes may satisfy. These axioms are implemented in the form of restriction properties, which can only be used positively or negatively. In the case of fuzziness, it is difficult to compose the most appropriate restrictions as the “powers” of the axioms are missing. e.g., the user interface of Apple products is “kind of” friendly. Additionally, suppose two individuals are asserted with the same fuzzy restriction(s), without the power indications it is unlikely to tell the differences between them. For example, both ZohoCRM and SalesforceCRM can do Customer Relationship Management (CRM) related tasks, including account/contacts management, task/event tracking, etc.; without a proper degree indication they would seem to be exactly the same to users. Hence, we propose to add restriction weights (notated as float “ߣ”) on certain OWL 2 restrictions to indicate the powers/constraints of the unit interval (0, 1]. Restriction weights can be applied to both OP and DP.

If class (C0)C is the subclass of (C1)C and (C2)C and … and (Ci)C, the subsumption weights of (C1)C, (C2)C, …, (Ci)C subsuming (C0)C are: ߤ (C1)c : (C0)C ՜ (0, 1]; ߤ (C2)c : (C0)C ՜ (0, 1]; …; ߤ (Ci)c : (C0)C ՜ (0, 1]; when (C)C subsumes (C1)C and (C2)C and … and (Ci)C, the sum of all the subsumption degrees is in (0, σ௡௜ୀଵ ݅ 0]. The subsumption weight of (C)C subsuming (C0)C is at least the maximum degree of all subsumptions and up to 100%. 3) Subsumption weights of OWL 2 object properties The subsumption degree of OWL 2 OPs is handled differently from the above cases. They are fairly simple, since we do not tend to say an OP (OP0)OP is either a subproperty of (OP1)OP or (OP2)OP, or (OP0)OP is both the subproperty of (OP1)OP and (OP2)OP. For the simplest case, we use ߤ (OPj)OP : (OPk)OP ՜ (0, 1] (where j ് k) to infer the weight of (OPj)OP subsuming (OPk)OP. In addition, for the case of multiple OPs belonging to their mutual superproperty, the subsumption weights would hardly interfere with each other. Therefore, for the superproperty (OP)OP which consists (OP1)OP, (OP2)OP, …, (OPn)OP; we have ߤ (OP)OP : (OP1)OP ՜ (0, 1], ߤ (OP)OP : (OP2)OP ՜ (0, 1], …, ߤ (OP)OP : (OPi)OP ՜ (0, 1], where for each 2 ” i ” n.

1) Restriction weights of OWL 2 object properties For OPs applied between specific OWL 2 individuals: ߣ (OP)OP : (I1)I ൈ (I2)I ՜ (0, 1] For OPs applied on specific OWL 2 individuals with OWL 2 classes of individuals: ߣ (OP)OP : (I)I ൈ (C)C ՜ (0, 1]

4) Subsumption weights of OWL 2 datatype properties Similarly to the condition of OPs, DP subsumptions denote: DP

For OPs applied between OWL 2 classes of individuals: ߣ (OP)OP : (C1)C ൈ (C2)C ՜ (0, 1]

DP

ߤ (DPj) : (DPk) ՜ (0, 1]; ߤ (DP)DP : (DP1)DP ՜ (0, 1]; ߤ (DP)DP : (DP2)DP ՜ (0, 1]; …; ߤ (DP)DP : (DPi)DP ՜ (0, 1]; Where (DP)DP = {(DP1)DP, (DP2)DP, …, (DPn)DP} and for each 2 ” i ” n such that j ് k.

One example use of OP restriction weights is to clarify relationships which are not likely to be 100% strong between OWL 2 individuals. Amazon Web Services as an example, have a series of subservices (EC2, S3, Elastic MapReduce,

330

Yet, Apple “iCloud” provides additional option, seen as “ITunes voucher”. So we can use an axiom value weight to emphasize that for SLA service compensations, ITunes voucher is less likely to be recognized compared to the traditional service credit request.

Elastic Beanstalk, etc.) which work in conjunction with each other. However, in the case that they do not have full interoperability among all of them, restriction weights can then be attributed to the OP (worksInConjunctionWith)OP meaning the interoperability between certain paired subservices do not come in full. e.g. ߣ (worksInConjunctionWith)OP : (EC2)I ൈ (S3)I ՜ 0.95; ߣ (worksInConjunctionWith)OP : (ElasticBeanstalk)I ൈ (S3)I ՜ 0.75. In addition, in the case of existential restriction, restriction weights are to be applied separately at a per restriction basis over the same OP.

IV. NATIVE OWL 2 SUPPORT OWL 2 introduces a series of new features and rationale in addition to previous OWL, notably as new property constructs, enhanced DP expressions and syntactic sugar [11]. The update makes OWL 2 ontology more comprehensive as well as simpler to construct. As a matter of fact, we can accomplish the above scenarios of fuzzy weights assertions by using different forms of OWL 2 DPs along with these updates, whereas they may have the potential to deal with more complicated cases. OWL 2 DP is primarily designed for asserting axioms that cloud entities may comply with. Traditionally it is used to define facts or specifications that certain concepts fulfill specific data based attributes. In this paper we propose a series of unique and categorized “weight” DP domains to implement fuzzy assertions. They are asserted to certain fuzzy entities where necessary and seen like fuzzy tags, where OWL 2 annotations can be used to explain how the fuzziness is tackled. Rather than writing a complete new built-in [3] or using OWL 2 annotation oriented technique [4], our approach is considered to be more naturally embedded in OWL 2 whilst it is supported by traditional DL reasoners.

2) Restriction weights of OWL 2 datatype properties Same as OPs, restriction weights also work on certain OWL 2 DP restrictions which are applied on OWL 2 individuals or classes of individuals, indicating the powers of the data based restriction axioms, denote: For specific OWL 2 individuals: ߣ (DP)DP : (I)I ՜ (0, 1] For OWL 2 classes of individuals: ߣ (DP)DP : (C)C ՜ (0, 1] C. Scenario 3: Axiom value weights In addition to subsumption and restriction weights, we propose to use axiom value weights (notated as float “ߜ”) to address the fuzziness of the secondary OWL 2 resources used in certain axioms. In contrast to restriction weights, the vagueness emerges from the values used in axioms to describe the subject entities. Assuming there are two axioms applied to an individual using the same OP/DP but with two fuzzy values (individual/class with OP or literal with DP), if different fuzzy weights are added to those values additionally in the axioms, we can then be aware of: one value is more/less applicable than the other to some extent. Axiom value weights are, therefore, to clarify the truth degrees of using certain OWL 2 resources as axiom values in certain axioms. They are initialized when there are ambiguity/inconsistent/vagueness values asserted as the axiom value, denotes:

A. OWL 2 subsumption weight applicability The subsumption weights are asserted in the form of OWL 2 DPs, on top of basic OWL 2 individual/superclass/ superproperty assertions. For each individual/class/property the subject might belong to, an exclusive named datatype restriction with the float between (0, 1] is assigned. We recommend that the name of the DP should reflect the class/superclass/superproperty, such as the weight DP (AppleWeight)DP for use of the class (Apple)C subsuming the instance (iCloud)I, as the subsumption degree is meaningful only towards the subject’s class/superclass/superproperty.

For OP axiom values asserted between individuals and classes of individuals: ߜ (OP)OP : (I1)I ‫( ל‬I2)I ՜ (0, 1]; ߜ (OP)OP : (C1)C ‫( ל‬C2)C ՜ (0, 1]; ߜ (OP)OP : (I)I ‫( ל‬C)C ՜ (0, 1].

For individual’s fuzziness the assertion is done by applying the weight DP directly just like other datatype axioms. For OWL 2 class’s fuzzy subsumption, the simplest case (Section III.2.a) of fuzzy weight can be asserted as: Class (owl:subjectclass) SubclassOf ( ObjectIntersectionOf ( Class (owl:superclass) DataHasValue (owl:subsumptionweight (Literal:double)) ) )

For DP axiom values asserted on individuals and classes of individuals: ߜ (DP)DP : (I)I ‫( ל‬LT)LT ՜ (0, 1]; ߜ (OP)OP : (C)C ‫( ל‬LT)LT ՜ (0, 1]. Axiom value weights, for instance, can be used to indicate the fuzzy comparison of two individuals assigned over the same OP on the subject individual: ߜ (SLAServiceCompensation)OP :(S3)I ‫(ל‬ServiceCredit Request)I=1.00; ߜ (SLAServiceCompensation)OP: (iCloud)I ‫(ל‬ServiceCreditRequest)I=0.8; ߜ (SLAServiceCompensation)OP :(iCloud)I ‫( ל‬ITunesVoucher)I = 0.2. It means traditional cloud providers, like Amazon “S3”, returns users “service credit request” if “SLA Service compensation” is authorized.

Additionally, a more complex assertion is demonstrated by using the subsumption example above (section III.5). First, to assert the basic axiom that all individuals of (CaaS)C are either members of (IaaS)C or (PaaS)C and cannot be both of them. Then inside the “ClassUnionof”, (IaaSWeight)DP = 0.4 and (PaaSWeight)DP = 0.6 are applied separately along with their own subclass statement, where two “IntersectionOf” are formed, seen as:

331

weights overlapping and differentiate with two other types of weight, the names of the weight DPs should indicate the OPs/DPs plus the values involved in the axioms. For instance, (SLAServiceCompensationItunesVoucherAVWeight)DP for use of (iCloud)I OP ൈ (Itunes Voucher)I with (SLAServiceCompensation) .

Class (:CaaS) SubclassOf ( ClassUnionOf ( IntersectionOf ( Class (:IaaS) DatatypeDefination ((:IaaSWeight) DatatypeRestriction ( xsd: double hasValue 0.6) ) ) IntersectionOf ( Class (:PaaS) DatatypeDefination ((:PaaSWeight) DatatypeRestriction ( xsd: double hasValue 0.4) ) ) ) ); DisjointClasses (:IaaS :PaaS)

V. IMPLEMENTATION Fuzzy weights can be assigned with fixed values as well as in ranges like [0.7, 0.8], or any other formats as long as OWL 2 supports them. The fuzzy modification of OWL 2 ontology can be easily done by using all OWL 2 supported applications, such as Protégé [12]. More importantly, while fuzzy weight is presented using OWL 2 DPs, all compatible DL reasoners can be used to deal with simple fuzzy reasoning and queries. Fig. 1 illustrates an example of two fuzzy weights applied to two CRM SaaS applications and the reason result generated by using the Protégé OWL tool. In the example, SalesforceCRM is applied with “event management weight” of 0.8, “finance management weight” of 0.7 and “sales record management weight” of 0.9 against 0.7, 0.6 and 0.8 respectively of ZohoCRM. These fuzzy weights are asserted to present to what extent these functions/features are properly embedded/designed towards a CRM SaaS. Furthermore, despite the fact that the two cloud services are very similar, we can still capture their individual strengths and weaknesses at a glance. Additionally, fuzzy weight assertions can be reasoned by DL reasoners, e.g., once respective values (>=0.8, >=0.6, >=0.7) are asserted to a defined class, the complied instance(s) (SalesforceCRM with 0.8, 0.7, 0.9) will appear as the member of which.

Finally, annotations can be asserted to the classes as well as the weight DPs. B. OWL 2 restriction weight applicability Restriction weights are implemented by using exclusively and respectively named OWL 2 datatype restrictions. In OWL 2, for axioms which are applied between classes of individuals, existential or universal restrictions must be declared and specified. In the case of existential restriction, it is recommended that the name of the weight DP presents all names and values involved. i.e., the weight DP (EC2worksInConjunctionWithS3Weight)DP for use of (EC2)I ൈ (S3)I with (worksInConjunctionWith)OP; for universal restriction, it is not necessarily to mention the secondary class (yet still recommended). Furthermore, for OPs/DPs which are directly asserted between/on individuals, both the individuals/values along with the properties need to be disclosed in the weight DPs. Indeed, OWL 2 constraint weights only make sense under named DPs which comprise adequate information of the target axioms. For individuals’ restriction fuzziness assertion, it is done by asserting the weight DP directly as well. Below is an example of a class with single fuzzy weighted OP restriction: Class (owl:subjectclass) ObjectIntersectionOf ( ObjectSomeValuesFrom ( (owl:objectproperty) (owl:secondaryclass) ) DatatypeDefination ((owl:restrictionweight) DatatypeResriction ( xsd: double hasValue ‫ڔ‬double) ) )

Figure 1. Comparison and reason of the fuzzy weights applied to two CRM SaaS applications using Protégé

Multiple weights which are assigned to multiple restrictions which applied to a single entity are applied by continuing adding the weight DP assertions within “ ”.

VI.

RELATED WORK

FuzzyOWL2Ontology is proposed by [3], where several fuzzy theories, concepts and terms are presented in their OWL 2 ontology in the form of classes, OPs and DPs. To build a fuzzy ontology using this approach, one has to merge its own ontology with the FuzyOWL2Ontology, which means the 168 classes, 28 OPs and 11 DPs presented in it will be added on top of the target ontology. Even though, it is proved that this

C. OWL 2 axiom value weight applicbility Axiom value weights can also be interpreted and presented using OWL 2 DPs. The way they are asserted is the same as for restriction weight assertions. Despite the fact that axiom value weights are applied to the axiom values only, to avoid

332

approach is not applicable for complicated fuzzy theories in many cases. Not only does the way fuzzy theory is adopted cause logic inconsistencies, it also accelerates the growth of the modified ontology exponentially.

exclusively (in order to avoid inconsistency or duplication) for their vagueness. Future work will include enriching representation for complicated fuzzy scenarios based on OWL 2 oriented and modified fuzzy logic. Efforts will be made towards enhanced crisp/fuzzy DL reasoning through which the host ontology can be influenced by fuzzy expressions.

Semantic Web Rule Language – Fuzzy (SWRL-F), another approach towards OWL 2 fuzzy extension, is argued by [13], where they do not use extra built-in either. Instead, OWL 2 OP and individuals are used as key factors to construct fuzzy assertions. The implementation does not affect the consistency of the applied ontology. Yet, it is unclear how to apply or modify the approach so that it can be used for other domains of ontology, as many fuzzy ontology concepts and properties presented are exclusively designed for their motivation scenario (risk monitoring in oil and gas). Additionally, the approach suffers from general limitation of SWRLJessTab, whereas fuzzy axioms and inferences which violate consistent OWL 2 DL are not allowed.

ACKNOWLEDGEMENT The work in this paper has been jointly sponsored by the British Royal Society of Edinburgh (RSE-Napier E4161) and the Natural Science Foundation of China (Ref: 61070030). REFERENCES [1]

Annotation based “fowl” alike fuzzy support is proposed by [4]. By using solely customized OWL 2 annotations to express the fuzziness, quite comprehensive fuzzy theories are represented in their proposed languages. By using their user friendly Protégé plug-in, modification of ontology seems to be easy. In addition, fuzzyDL [14] and DeLorean [15] reasoners are also developed in order to support fuzzy reasoning. Despite the fact that it shows optimized support of complex fuzzy concepts and theories, the fuzziness is shown only in OWL 2 annotations, and it does not support traditional DL reasoners. Thus, in our opinion it is not an ideal solution to fuzzy OWL 2.

[2]

[3]

[4]

[5]

New syntax based extension is recommended by [5], who argue f-OWL: a way of enabling fuzzy OWL 2 by extending primitive syntax of OWL 2, such as by adding owlx:degree, owlx:ineq, etc. These new syntax can then be used to express the fuzziness wherever necessary. However, until now there is not enough progress on the work, their syntax family is not yet ready for completely and widely usage. Not to say it is difficult to find any OWL tool to interact with such modified ontology.

[6]

[7]

[8]

[9] [10]

VII. CONCLUSIONS AND FUTURE WORK In this paper we presented an approach for OWL 2 fuzzy extension, which can effectively deal with imprecise or vagueness expressions in ontology without relying new syntax. By introducing a separate weight domain of datatype properties, the fuzziness is logically broken down and represented in subsumption, restriction and axiom value weights. Compared with using new built-in [5] or OWL 2 annotation [4] based fuzzy extension, our approach shows clear advantages: it is easier to understand/implement; it strictly complies with OWL 2 alike semantic language hierarchy and consistency; it has native support for all OWL 2 compatible applications and DL reasoners. The limitations, on the other hand, are seen as: the fuzzy applicability is limited by the capability of OWL 2 datatype axioms, which means it might not be able to handle extremely complex fuzzy scenarios; weight inference and calculation based on fuzzy logic can only be done manually for now; the size of the ontology seriously depends on the number of fuzzy statements, since the majority weight DPs are named

[11]

[12]

[13]

[14]

[15]

333

M. Brambilla, S. Ceri, F.M. Facca, I. Celino, D. Cerizza and E.M. Valle, "Model-driven design and development of semantic web service applications", ACM Transactions on Internet Technology (TOIT), vol. 8, issue 1, 2007, No. 1, Art. 3. T. Lukasiewicz, U. Straccia, "Managing uncerternty and vagueness in description logics for the semantic web", Web Semantics: Science, Services and Agents on the World Wide Web, vol. 6, issue 4, 2008. F. Bobillo, U. Straccia, "An OWL ontology for fuzzy OWL 2," Foundations of Intelligent Systems, Lecturer notes in Computer Science, vol. 5722, 2009, pp. 151-160. F. Bobillo, U. Straccia, "Fuzzy ontology representation using OWL 2," International Journal of Approximate Reasoning, SciVerse ScienceDirect, vol. 52, issue 7, 2011, pp. 1073-1094. G. Stoilos, G. Stamou and J.Z. Pan, "Fuzzy entensions of OWL: Logical properties and reduction to fuzzy description logics," International Journal of Approximate Reasoning, ScienceDirect, vol. 51, issue 6, 2010, pp. 656-679. G. Stoilos, G. Stamou, J.Z. Pan, V. Tzouvaras and I. Horrocks, "Reasoning with very expressive fuzzy description logics," Journal of Artificial Intelligence Research, vol. 30, 2007, pp. 273-320. F. Bobillo, U. Straccia, "Aggregation operators and Fuzzy OWL 2", Fuzzy Systems (FUZZ), IEEE International Conference, issue 27-30 June 2011, pp. 1727-1734. M.K. Smith, C.Welth and D.L. McGuinness, "OWL Web Ontology Language Guide", W3C Recommendation 10 February 2004, http://www.w3.org/TR/owl-guide/ L.A. Zedeh, "Fuzzy set", Information and Control, vol. 8, 1965, pp. 338-353. T. J. Ross, "Fuzzy logic with engineering applications", Third Edition, John Wiley & Sons, Ltd, Chester, UK, 2010, pp 48-73. C. Golbreich, E.K. Wallace, and P.F. Patel-Schneider, "OWL 2 WeBB Ontology Language new features and rationale", W3C Recommendation 27 October 2009, http://www.w3.org/TR/2009/REC-owl2-new-features-20091027/#Use_ Case_.231_-_Brain_image_annotation_for_neurosurgery_.5BHCLS.5D M. Horridge, "A practical guide to building OWL ontology's using protégé 4 and CO-ODE tools", The University of Manchester, edition 1.3, 2011. http://owl.cs.manchester.ac.uk/tutorials/protegeowltutorial/resources/Pro tegeOWLTutorialP4_v1_3.pdf T.W. Wlodarczyk, C. Rong, M. O'connor and M. Musen, "SWRL-F: a fuzzy logic extension of the semantic web rule language," International Conference on Web Intelligence, Mining and Semantics, WIMS '11, New York, USA, 2011. F. Bobillo, U. Straccia, "fuzzyDL: An expressive fuzzy description logic reasoner", Fuzzy Systems, FUZZ-IEEE, IEEE International Conference, issue 1-6 June 2008, pp. 923-930. F. Bobillo, M. Delgado and J. Gomez-Romero, "Delorean: a reasoner for fuzzy OWL 2", Expert Systems with Applications, ScienceDirect, vol. 39, 2012, pp. 258-272.