Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computer Engineering Department Sharif University of Technology

Similar presentations

Presentation on theme: "Computer Engineering Department Sharif University of Technology"— Presentation transcript:

1 Computer Engineering Department Sharif University of Technology
Ontology & OWL Semantic Web - Spring 2008 Computer Engineering Department Sharif University of Technology

2 Outline Introduction & Definitions Ontology Languages OWL

3 Where does it come from? ontology n.
1692; lat. phil. onto- “being” + -logia “study of” Philosophy The study of what is, what has to be true for something to exist, the kinds of things that can exist AI and computer science Co-opted the term. Something exists if it can be represented, described, defined (in a formal, hence, machine-interpretable way).

4 Ontologies

5 Ontologies (contd.) Ontologies are about vocabularies and their meanings, with explicit, expressive, and well-defined semantics, possibly machine-interpretable. “Ontology is a formal specification of a conceptualization.” Gruber, 1993 Main elements of an ontology: Concepts Relationships Hierarchical Logical Properties Instances (individuals)

6 A Definition Informal Terms
from a specific domain uniquely defined, usually via natural language definitions May contain additional semantics in the form of informal relations machine-processing is difficult Examples Controlled vocabulary Glossary Thesaurus

7 A Definition Formal Domain-specific vocabulary
Well-defined semantic structure Classes/concepts/types E.g., a class { Publication } represents all publications E.g., a class { Publication } can have subclasses { Newspaper }, { Journal } Instances/individuals/objects E.g., the newspaper Le Monde is an instance of the class { Newspaper } Properties/roles/slots Data E.g., the class { Publication } and its subclasses { Newspaper }, { Journal } have a data property { numberOfPages } Object E.g., the class { Publication } and its subclasses { Newspaper }, { Journal } have an object property { publishes } Is machine-processable

8 Ontologies in the Semantic Web
Provide shared data structures to exchange information between agents Can be explicitly used as annotations in web sites Can be used for knowledge-based services using other web resources Can help to structure knowledge to build domain models (for other purposes)

9 Ontolgoies in the SW They are means of representing the semantics of documents and enabling the semantics to be used by web applications and intelligent agents. Ontologies are critical for applications that want to search across or merge information from diverse communities. Although XML DTDs and XML Schemas are sufficient for exchanging data between parties who have agreed to definitions beforehand, their lack of semantics prevent machines from reliably performing this task given new XML vocabularies. RDF and RDF Schema begin to approach this problem by allowing simple semantics to be associated with identifiers. With RDF Schema, one can define classes that may have multiple subclasses and super classes, and can define properties, which may have sub properties, domains, and ranges. In this sense, RDF Schema is a simple ontology language. However, in order to achieve interoperation between numerous, autonomously developed and managed schemas, richer semantics are needed. For example, RDF Schema cannot specify that the Person and Car classes are disjoint, or that a string quartet has exactly four musicians as members.

10 Meaning is in Connections
is made from G a m Grape e a i e n r f W m i s p o e r Wine d

11 For machines... Wine is made from Grape
The meaning of the document is not defined. Machines cannot understand it. Wine is made from Grape We are defining the structure of document by XML but now the meaning of the structure is not defined. <Sentence> <Subject> Wine </Subject> <Verb> is made from </Verb> <Object> Grape </Object> </Sentence> XML document <Sentence> <Subject> Wine </Subject> <Verb> is made from </Verb> <Object> Grape </Object> </Sentence>

12 Ontology gives the meaning...
Natural Language Document Ontology <Sentence> <Subject> </Subject> <Verb> </Verb> <Object> </Object> </Sentence> Wine is made from Grape

13 Why develop ontologies?
To share knowledge E.g., using an ontology for integrating terminologies To reuse domain knowledge E.g., geography ontology To make domain assumptions explicit Facilitate knowledge management Enable new users to learn about the domain To distinguish domain knowledge from operational knowledge e.g., biblio metadata

14 What they are good for Informal Controlled vocabulary
Beginnings of interoperability Upper-level structures for extending further E.g., AGRIS/CARIS categorization Browsing support E.g., IRS information search Search Limited query expansion disambiguation e.g., “Jordan” as a name of Basket-ball player and name of a country

15 What they are good for Formal Search Consistency checking
Concept-based query User uses own words, language Related terms Intelligent query expansion: “fishing vessels in China” expands to “fishing vessels in Asia” Consistency checking e.g., “Goods” has a property called “price” that has a value restriction of number Interoperability support Terms defined in expressive ontologies allow for mapping precisely how one term relates to another

16 Ontology Languages Graphical notations Logic based Semantic networks
Topic maps UML RDF Logic based Description Logics (e.g., OIL, DAML+OIL, OWL) Rules (e.g., RuleML, LP/Prolog) First Order Logic

17 Ontology Languages RDF(S) (Resource Description Framework (Schema))
OIL (Ontology Interchange Language) DAML+OIL (DARPA Agent Markup Language + OIL) OWL (Ontology Web Language) XOL (XML-based Ontology Exchange Language) SHOE (Simple HTML Ontology Extension) OML (Ontology Markup Language)

18 Object oriented model Many languages use object oriented model:
Objects/Instances/Individuals Elements of the domain of discourse Equivalent to constants in FOL Types/Classes/Concepts Sets of objects sharing certain characteristics Equivalent to unary predicates in FOL and Concepts in DL Relations/Properties/Roles Sets of pairs (tuples) of objects Equivalent to binary predicates in FOL and Roles in DL

19 OWL (Ontology Web Language)
OWL is now a W3C Recommendation The purpose of OWL is identical to RDFS i.e. to provide an XML vocabulary to define classes, properties and their relationships. RDFS enables us to express very rudimentary relationships and has limited inferencing capability. OWL enables us to express much richer relationships, thus yielding a much enhanced inferencing capability. The benefit of OWL is that it facilitates a much greater degree of inference than you get with RDF Schema.

20 Origins of OWL DARPA Agent Markup Language DAML
Ontology Inference Layer OIL RDF EU/NSF Joint Ad hoc Committee DAML+OIL All influenced by RDF OWL Lite OWL DL OWL Full A W3C Recommendation OWL

21 OWL OWL and RDF Schema enable rich machine-processable semantics RDFS OWL <rdfs:Class rdf:ID="River"> <rdfs:subClassOf rdf:resource="#Stream"/> </rdfs:Class> Semantics RDF Schema Syntax OWL XML/DTD/XML Schemas <owl:Class rdf:ID="River"> <rdfs:subClassOf rdf:resource="#Stream"/> </owl:Class>

22 Why Build on RDF Provides basic ontological primitives
Classes and relations (properties) Class (and property) hierarchy Can exploit existing RDF infrastructure Provides mechanism for using ontologies RDF triples assert facts about resources Use vocabulary from DAML+OIL ontologies

23 OWL Design Goals Shared ontologies Ontology evolution
Ontology interoperability Inconsistency detection Expressivity vs. scalability Ease of use Compatibility with other standards Internationalization

24 Versions of OWL Depending on the intended usage, OWL provides three increasingly expressive sublanguages OWL Full Full: Very expressive, no computation guarantees DL (Description Logic): Maximum expressiveness, computationally complete Lite: Simple classification hierarchy with simple constraints. OWL DL OWL Lite

25 Comparison of versions
OWL Lite supports those users primarily needing a classification hierarchy and simple constraints. For example, while it supports cardinality constraints, it only permits cardinality values of 0 or 1. It should be simpler to provide tool support for OWL Lite than its more expressive relatives, and OWL Lite provides a quick migration path for thesauri and other taxonomies. OWL DL supports those users who want the maximum expressiveness while retaining computational completeness (all conclusions are guaranteed to be computable) and decidability (all computations will finish in finite time). OWL DL includes all OWL language constructs, but they can be used only under certain restrictions (for example, while a class may be a subclass of many classes, a class cannot be an instance of another class). OWL DL is so named due to its correspondence with description logics OWL Full is meant for users who want maximum expressiveness and the syntactic freedom of RDF with no computational guarantees. For example, in OWL Full a class can be treated simultaneously as a collection of individuals and as an individual in its own right. It is unlikely that any reasoning software will be able to support complete reasoning for every feature of OWL Full.

26 Describing classes in OWL
OWL vs. RDFS OWL allows greater expressiveness Abstraction mechanism to group resources with similar characteristics Much more powerful in describing constraints on relations between classes Property transitivity, equivalence, symmetry, etc. Extensive support for reasoning

27 OWL Ontologies What’s inside an OWL ontology
Classes + class-hierarchy Properties (Slots) / values Relations between classes (inheritance, disjoints, equivalents) Restrictions on properties (type, cardinality) Characteristics of properties (transitive, …) Annotations Individuals Reasoning tasks: classification, consistency checking

28 Classes What is a Class? e.g., person, pet, old
a collection of individuals (object, things, ) a way of describing part of the world an object in the world (OWL Full)

29 owl:Class Sub class of Class in RDF
Better to forget about classes of classes Top-most class: owl:Thing <owl:Class rdf:ID=“Person"/> <owl:Class rdf:ID=“Man"> <rdfs:subClassOf rdf:resource="#Person" /> </owl:Class>

30 Individuals Two equivalent declarations:
<Person rdf:ID=“Ganji" /> <owl:Thing rdf:ID=“Ganji" /> <owl:Thing rdf:about="#Ganji"> <rdf:type rdf:resource="#Person"/> </owl:Thing>

31 Properties What is a Property?
e.g., has_father, has_pet, service_number a collection of relationships between individuals (and data) a way of describing a kind of relationship between individuals an object in the world (OWL Full)

32 OWL Properties Object Properties Ana  owns  Cuba Is range a
literal / typed value ? then ERROR Data type Properties Ana  age  25 XML Schema data types supported DB people happy

33 Defining Properties ObjectProperty DatatypeProperty rdfs:subPropertyOf
rdfs:domain rdfs:range <owl:ObjectProperty rdf:ID="madeFromGrape"> <rdfs:domain rdf:resource="#Wine"/> <rdfs:range rdf:resource="#WineGrape"/> </owl:ObjectProperty>

34 Describing classes in OWL
Complex Classes Union of classes (owl:unionOf) OR (A  B) Intersection of classes (owl:intersectionOf) AND (A  B) Complement (owl:complementOf) NOT Enumeration (owl:oneOf) Disjoint Classes (owl:disjointWith) Enumeration OWL allows to define a class through the complete Enumeration of all Instances <owl:Class rdf:ID=“Oceans"> <owl:oneOf rdf:parseType="Collection"> <owl:Thing rdf:about="#PacificOcean"/> <owl:Thing rdf:about=“#IndianOcean"/> <owl:Thing rdf:about=“#AtlanticOcean"/> </owl:oneOf> </owl:Class> A way of defining own data types Disjoint Classes It guarantees that an individual that is a member of one class can not simultaneously be an instance of a specified other class <owl:Class rdf:ID=“Meat"> <owl:disjointWith rdf:resource="#Vegetable"/>

35 Describing classes in OWL
Property Restrictions Defining a Class by restricting its possible instances via their property values OWL distinguishes between the following two: Value constraint Cardinality constraint

36 Describing classes in OWL
Restrictions on Property Classes Properties: allValuesFrom: rdfs:Class (lite/DL owl:Class) hasValue: specific Individual someValuesFrom: rdfs:Class (lite/DL owl:Class) minCardinality: xsd:nonNegativeInteger (in lite {0,1}) maxCardinality: xsd:nonNegativeInteger (in lite {0,1})

37 What’s in OWL, but not in RDF
Ability to be distributed across many systems Scalable to Web needs Compatible with Web standards for: accessibility, and Internationalization Open and extensible

38 Describing properties in OWL
OWL vs. RDFS RDF Schema provides some of predefined properties: rdfs:range used to indicate the range of values for a property. rdfs:domain used to associate a property with a class. rdfs:subPropertyOf used to specialize a property. OWL provides additional predefined properties: owl:cardinality (indicate cardinality) owl:hasValue (at least one of the specified property values) OWL provides additional property classes, which allow reasoning and inferencing: owl:FunctionalProperty owl:TransitiveProperty Symmetric: if P(x, y) then P(y, x) Transitive: if P(x,y) and P(y,z) then P(x, z) Functional: if P(x,y) and P(x,z) then y=z InverseOf: if P1(x,y) then P2(y,x) InverseFunctional: if P(y,x) and P(z,x) then y=z allValuesFrom: P(x,y) and y=allValuesFrom(C) someValuesFrom: P(x,y) and y=someValuesFrom(C) hasValue: P(x,y) and y=hasValue(v) cardinality: cardinality(P) = N minCardinality: minCardinality(P) = N maxCardinality: maxCardinality(P) = N equivalentProperty: P1 = P2 intersectionOf: C = intersectionOf(C1, C2, …) unionOf: C = unionOf(C1, C2, …) complementOf: C = complementOf(C1) oneOf: C = one of(v1, v2, …) equivalentClass: C1 = C2 disjointWith: C1 != C2 sameIndividualAs: I1 = I2 differentFrom: I1 != I2 AllDifferent: I1 != I2, I1 != I3, I2 != I3, … Thing: I1, I2, … Legend: Properties are indicated by: P, P1, P2, etc Specific classes are indicated by: x, y, z Generic classes are indicated by: C, C1, C2 Values are indicated by: v, v1, v2 Instance documents are indicated by: I1, I2, I3, etc. A number is indicated by: N P(x,y) is read as: “property P relates x to y”

39 Describing properties in OWL
OWL Property Classes rdf:Property owl:ObjectProperty owl:DatatypeProperty owl:FunctionalProperty owl:InverseFunctionalProperty owl:SymmetricProperty owl:TransitiveProperty owl:symmetricProperty P(x,y) iff P(y,x) owl:transitiveProperty P(x,y) ^ P(y,z)  P(x,z) owl:functionalProperty P(x,y) ^ P(x,z)  y = z owl:inverseFunctionalProperty P(y,x) ^ P(z,x)  y = z An ObjectProperty relates one Resource to another Resource. A DatatypeProperty relates one Resource to a Literal - an XML Schema data type.

40 Transitivity of properties
X  p1  Y Y  p1  Z implies X  p1  Z Transitivity existed already in RDF “subClassOf”, and ??? e.g. located_in, part_of

41 Symmetric properties X  p1  Y implies X  p1 Y e.g., =

42 Functional Properties
X  p1  Y X  p1  Z imply Z is the same as Y (they describe the same) What if Y, Z where explicitly defined as “different” ?

43 Inverse Functional Properties
Y  p1  A Z  p1  A imply Z is the same as Y (they describe the same) What if Y, Z where explicitly defined as “different” ?

44 OWL distributed “equivalent class” “equivalent Property”
Guitar Guitarra Internationalization standards ?

45 Complex Classes Minority Students example Male Students
Female Student Professor Married Human Male Students Married Female Professors Married Female Students Divorced Minority Students example

46 Disjoint Classes Married disjoint with:
Divorced Widowed Single Are “Divorced” and “Single” disjoint ? Married Widowed Single Divorced

47 OWL Cardinality min Cardinality max Cardinality “Cardinality”
When min = max has Value belongs to the class if it has the value

48 An Example OWL ontology
<owl:Class rdf:ID=“Person” /> <owl:Class rdf:ID=“Man”> <rdfs:subClassOf rdf:resource=“#Person” /> <owl:disjointWith rdf:resource=“#Woman” /> </owl:Class> <owl:Class rdf:ID=“Woman”> <owl:disjointWith rdf:resource=“#Man” /> <owl:Class rdf:ID=“Father”> <rdfs:subClassOf rdf:resource=“Man” /> <owl:Restriction owl:minCardinality="1"> <owl:onProperty rdf:resource="#hasChild" /> </owl:Restriction> <owl:ObjectProperty rdf:ID=“hasChild"> <rdfs:domain rdf:resource="#Parent" /> <rdfs:range rdf:resource="#Person" /> </owl:ObjectProperty>

49 Use cases – Web portals A web portal is a web site that provides information content on a common topic, for example a specific city or domain of interest. A web portal allows individuals that are interested in the topic to receive news, find and talk to one another, build a community, and find links to other web resources of common interest. In order for a portal to be successful, it must be a starting place for locating interesting content. Typically this content is submitted by members of the community, who often index it under some subtopic. Another means of collecting content relies on the content providers tagging the content with information that can be used in syndicating it. Typically, this takes the form of simple metatags that identify the topic of the content, etc. However, a simple index of subject areas may not provide the community with sufficient ability to search for the content that its members require. In order to allow more intelligent syndication, web portals can define an ontology for the community. This ontology can provide a terminology for describing content and axioms that define terms using other terms from the ontology. For example, an ontology might include terminology such as "journal paper," "publication," "person," and "author.“ This ontology could include definitions that state things such as "all journal papers are publications" or "the authors of all publications are people." When combined with facts, these definitions allow other facts that are necessarily true to be inferred. These inferences can, in turn, allow users to obtain search results from the portal that are impossible to obtain from conventional retrieval systems. Examples of Semantic Web Portals are OntoWeb and The Open Directory Portal.

50 Use cases – Multimedia collections
Ontologies can be used to provide semantic annotations for collections of images, audio, or other non-textual objects. these types of resources are typically indexed by captions or metatags. However, since different people can describe these non-textual objects in different ways, it is important that the search facilities go beyond simple keyword matching. Multimedia ontologies can be of two types: media-specific and content-specific. As an example of a multimedia collection, consider an archive of images of antique furniture. An ontology of antique furniture would be of great use in searching such an archive. A taxonomy can be used to classify the different types of furniture. It would also be useful if the ontology could express definitional knowledge. For example, if an indexer selects the value "Late Georgian" for the style/period of (say) an antique chest of drawers, it should be possible to infer that the data element "date.created" should have a value between 1760 and 1811 A.D. and that the "culture" is British. Availability of this type of background knowledge significantly increases the support that can be given for indexing as well as for search.

51 Use cases – Corporate web site management
Large corporations typically have numerous web pages concerning things like press releases, product offerings and case studies, corporate procedures, internal product briefings and comparisons, white papers, and process descriptions. Ontologies can be used to index these documents and provide better means of retrieval. A single ontology is often limiting because the constituent categories are likely constrained to those representing one view and one granularity of a domain An ontology-enabled web site may be used by: A salesperson looking for sales collateral relevant to a sales pursuit. A technical person looking for pockets of specific technical expertise and detailed past experience. A project leader looking for past experience and templates to support a complex, multi-phase project, both during the proposal phase and during execution. A typical problem for each of these types of users is that they may not share terminology with the authors of the desired content. The salesperson may not know the technical name for a desired feature For such problems, it would be useful for each class of user to have different ontologies of terms, but have each ontology interrelated so translations can be performed automatically. Another problem is framing queries at the right level of abstraction. A project leader looking for someone with expertise in operating systems should be able to locate an employee who is an expert with both Unix and Windows.

52 Use cases – Design Documentation
A concrete example of this use case is design documentation for the aerospace domain, where typical users include: Maintenance engineer looking for all information relating to a particular part (e.g., "wing-spar"). Design engineer looking at constraints on re-use of a particular sub-assembly. To support this kind of usage, it is important that constraints can be defined. These constraints may be used to enhance search or check consistency. An example of a constraint might be: biplane(X) => CardinalityOf(wing(X)) = 2 wingspar(X) AND wing(Y) AND isComponentOf(X,Y) => length(X) < length(Y)

53 Use cases – Agents and Services
The Semantic Web can provide agents with the capability to understand and integrate diverse information resources. A specific example is that of a social activities planner, which can take the preferences of a user (such as what kinds of films they like, what kind of food they like to eat, etc.) and use this information to plan the user's activities for an evening. This type of agent requires domain ontologies that represent the terms for restaurants, hotels, etc. and service ontologies to represent the terms used in the actual services. These ontologies will enable the capture of information necessary for applications to discriminate and balance among user preferences. Such information may be provided by a number of sources, such as portals, service-specific sites, reservation sites and the general Web. Agentcities is an example of an initiative that is exploring the use of agents in a distributed service environment across the Internet. This will involve building a network of agent platforms that represent real or virtual cities, such as San Francisco or the Bay Area, and populating them with the services of those cities. This will require a number of different domain and service ontologies: Key issues include: Use and integration of multiple separate ontologies across different domains and services Distributed location of ontologies across the Internet Potentially different ontologies for each domain or service (ontology translation/cross-referencing) Simple ontology representation to make the task of defining and using ontologies easier

54 Use cases – Ubiquitous Computing
Ubiquitous computing is an emerging paradigm of personal computing, characterized by the shift from dedicated computing machinery to pervasive computing capabilities embedded in our everyday environments. The pervasiveness and the wireless nature of devices require network architectures to support automatic, ad hoc configuration. A key technology of true ad hoc networks is service discovery, functionality by which "services" can be described, advertised, and discovered by others. The key issue (and goal) of ubiquitous computing is that devices which weren't necessarily designed to work together should be able to discover each others' functionality and be able to take advantage of it. Being able to "understand" other devices, and reason about their services/functionality is necessary, The tasks involved in the utilization of services involve discovery, contracting, and composition. The contracting of services may involve representing information about security, privacy and trust In particular, it is a goal that corporate or organizational security policies be expressed in application-neutral form Thus, an ontology language will be used to describe the characteristics of devices, the means of access to such devices, the policy established by the owner for use of a device, and other technical constraints. The needs established for DAML-S and the RDF-based schemes for representing information about device characteristics (namely, W3C's Composite Capability/Preference Profile (CC/PP) and WAP Forum's User Agent Profile or UAProf) directly relate to this use case

55 References

56 The End

Download ppt "Computer Engineering Department Sharif University of Technology"

Similar presentations

Ads by Google