• 沒有找到結果。

Chapter 2. Literature review

2.2 OWL language

In contrast with relational database, ontology-based knowledge base is equivalent to the schema in relational database, and the RDF example generated based on relational database is equivalent to table data. The strong program service functions established over relational database should thanks to index of schema. Since reasoning abilities provided in ontology-based knowledge base are promoted to conceptual layer, the service of content-based retrieval is totally different from the one used in WWW.

Tim Berners-Lee has two ideal dreams about network. First one, he hopes every person may share knowledge through WWW, and the second one, he hopes computers may understand human languages, and the future network is a semantic web. The WWW established through URI (Universal Resource Identifier), HTTP (Hypertext Transform Protocol), and HTML (Hypertext Markup Language) proposed by Tim Berners-Lee has led to revolutionary change.

2.2 OWL language

W3C enacted OWL langue which is used to define the semantic relationship existed between semantic web data. However, owing to a large size problem existed in full version OWL Full that is impossible to figure out

meaningful values within a limited time, W3C has properly classified it into three versions: OWL Full (full version OWL), OWL DL (computer has ability to infer the computed semantic relationship in case of high speed computer operation), and OWL Lite (the simplest semantic relationship in case of low speed computer operation).

Owing to the most important portion, OWL Lite, in OWL langue, you may also understand which part in OWL you should handle first after understanding OWL Lite. Whereas, you should note that many limitations and simplifications still exists in semantic expressions of OWL Lite in contrast with OWL DL and OWL Full. Next, we will start by defining tags with respect to OWL Lite in RDF.

Class

A class equally defines a group of attributes and behaviors that should be included in a class, because of their common properties. For example, class Teacher and class Student are human class, and if we may define a class Human, because lass Teacher and class Student are inherited to class Human, so that we may conclude that Teacher and Student must have their own relative name. The inheritance used here is represented by tag. C1 is a class declaration, and the available symbol is shown below:

class(c1)

rdfs:subClassOf

This tag represents the inheritance relation. For example, class "computerBook" is a subclass of class "book", and it assumed that class Book has the property "bookName", and thus computer book and cook book have the same property " bookName" due to both of them inherited to class "book". This inheritance relation can be viewed as "a category of" relation, e.g., class "book" -> a category of "book". The c2 is inherited to the c1, and thus an example of symbol expression is shown below:

rdfs_subClassOf(c2,c1)

rdf:Propoerty

This property tag is used to describe data values between individuals, e.g., hasChild, hasSibiling, hasAge.

These properties represent "what children does it have" (a relation linked to the instance of class person), "what inherited relations does it have" (a relation linked to the instance of class Person) and "about their ages" (a relation linked to integer value type). p value of property x is y, and it's symbol expression is shown below:

p(x,y)

rdfs:subPropertyOf

This allows you to describe the inheritance between properties, e.g., if hasSibling may inherit to hasRelative, this means that if a relation hasSibling exists between two persons, they must have hasRelative relation. Its symbol expression is shown below:

if

subPropertyOf(p2,p1) p2(x,y)

then p1(x,y)

rdfs:domain

This tag may restrict a object target of a certain property, and it is also subjected to a class. For example, dog an animal, so Dog rdfs:subClassOf Animal. If this dog belongs to a child, then this child must subject to the class Animal, and thus hasChild rdfs:domain Animal. This property value may be limited in a certain class.

rdfs:range

This denotes that if an object target of a certain property subjects to a class, then the usage of this tag is similar to that of rdfs:domain, but rdfs:range may also be additionally assigned. With respect to the range of it's property values, we, for example, may define the time to get doctor degree for some system, and thus we may assign this range within 1 ~ 8 years.

Individual

The individual is an instance of a class. For example, an individual called John effectively belongs to an instance in class Person. Next, we will individually introduce most important tags in OWL Lite.

owl:equivalentClass

This denotes that two classes are identical, e.g., class "student" and class "studentMentee" may be defined as the same semantics, and thus if you want to search related data about class "student" in case of deduction, data about class "studentMentee" may be also searched. For inference engine, this inference of equality relation may be applied to many identical things found from the source of heterogeneous data. An example of symbol expression is shown below:

if

owl_equivalentClass(c1,c2) is(x,c1)

then is(x,c2)

owl:equivalentProperty

This represents whether two properties are identical semantics, e.g., property "hasGirlFriend" and property

"belovedUnmarriedGirl" may have identical in semantics. An example of symbol expression is shown below:

if

This represents whether two individuals are identical, e.g., a person whose English name is called John, and he has a nick name called Big J, then these two individuals are the same person, so owl:sameAs can be applied for the purpose of binding these two individuals. An example of symbol expression is shown below:

if

owl_sameAs(x,y) then

x==y

owl:differentFrom

This may apply owl:differentFrom to identify whether these two different individuals are not identical in semantics. For example, if there two instances in class Person, one has property hasName assigned John, and the other one has property hasName assigned Johnny. Since these two classes Person looks alike, we here may conclude that they are different, and thus we may apply owl:differentFrom to identify that these two instances are not identical in semantics. An example of symbol expression is shown below:

if

owl_differentFrom(x,y)

then x!=y

owl:AllDifferent

This tag is used for the purpose of apecifyinig varuous different semantic instance. Exception for verbosely using owl:differentFrom to specify every two different instances, you may have a simple expression, and thus you may utilize table to list all different instances, and apply owl:AllDifferent tag to specify a group of every two different instances. An example of symbol expression is shown below:

if

owl_AllDifferent(x,y,z) then

x!=y x!=z y!=z

owl:inverseOf

At property level which has various property characteristics may be used to describe the semantic relationship between properties. We'll introduce them as follows.

There is an existence of opposite relation between these two properties, e.g. let X hasChild Y is an existing fact, the system may automatically infer an opposite relationship of semantics if we have assigned a relationship owl:inverseOf to both hasChild and hasParent. For symbols used, if an opposite relation exists between p1and p2, and p1(x,y) is true, then p2(y,x) may be inferred. An example of symbol expression is shown below:

if

owl_inverseOf(p1,p2)

then p2(y,x)

owl:TransitiveProperty

A property with TransitiveProperty characteristics may be assigned, e.g., a property blood relationship has such a feature, John has a blood relationship to Peter, and Peter has a blood relationship to Mary, then a blood relationship must exist between John and Mary so that such a relationship can be expressed by symbols, and if both p(x,y) and p(y,z) are true, then p(x,z) may be inferred. An example of symbol expression is shown below:

if

This property has two-way relationship, e.g., if p(x,y) expressed using symbols is true, then p(y,x) may be inferred. For example, a friend relationship belongs to owl:SymmetricProperty, and if y is a friend of x, and thus we may also infer that x is a friend of y. An example of symbol expression is shown below:

if

This property may only be assigned a single value, e.g., a property hasFather may have only one earthly father, and it is impossible for a person has two fathers in the real world, and thus we may say that hasFather must have only one value. By the way, the default value for owl:FunctionalProperty may be set to zero or one, i.e., NULL value is also permitted in this case. For symbol expression with p(x,y), if a is fixed, then y is unique. An example of symbol expression is shown below:

if

owl_FunctionalProperty(p) p(x,y)

then

y is unique

owl:InverseFunctionalProperty

For symbol expression with p(x,y), if p is owl:InverseFunctionalProperty, then x is unique while y is fixed. We here take student ID as an example, we may say that studentID(John,89348123) denotes that John's student ID is 89348123, and if we found a record studentID(Johnny,89348123) existed in our database, then we may conclude that John and Johnny must be the same person due to both student IDs has a property owl:InverseFunctionalProperty. An example of symbol expression is shown below:

if

owl_InverseFunctionalProperty(p) p(x,y)

then

x is unique

owl:allValuesFrom

This may invoke that any of property values is subjected to a certain class, or is limited within a range. For example, any value used in this property hasParent may be subjected to the one defined in class Human. An example of symbol expression is shown below:

if

This may invoke that at least one of property values is subjected to a certain class, or is limited within a range.

For example, at least one or more values used in this property hasParent may be subjected to class Teacher. On the other hand, this means that at least one or more parents subject to class Teacher. An example of symbol expression is shown below:

This allows you to restrict number of values you may use for this property. In OWL Lite, the value of minCardinality can only be set to 0 or 1, and if 0 is set, it means that this value is selectable, and the occurrence of it is not required while it is set to 1, the occurrence of it is required. An example of symbol expression is shown below:

if

owl_minCardinality(p,1) then

number(p(x,?))>=1

owl:maxCardinality

This allows you to restrict number of values permitted for this property, e.g., each person may has only one nose, and thus this property may have at most one value. We take hasNose(John,aBigNose) as an example, owing to aBigNose assigned to John, he may not have another nose. An example of symbol expression is shown below:

if

owl_maxCardinality(p,1) then

number(p(x,?))<=1

This may restrict it's property value, and the number of values is constant. This setting may set minCardinality and maxCardinality to the same value, but for the simplicity and it's convenience, owl:cardinality may be used to specify a constant number. In OWL Lite, it allows this number to be 0 or 1, and the example of symbol expression is shown below:

if

owl_cardinality(p,1) then

number(p(x,?))==1

owl:intersectionOf

OWL Lite allows you to get intersection portion of two defined classes, and thus this portion can be given a new class, e.g., the Person is a class of a person, and EmployedThings is a class of employed things, and thus EmployedPerson has characteristics of these two classes. An example of symbol expression is shown below:

EmployedPerson==owl_intersectionOf(Person,EmployedThings) or

Woman==owl_intersectionOf(Human,Female)

相關文件