Semantic Web & Ontology

looneyvillebiologistInternet and Web Development

Oct 21, 2013 (3 years and 7 months ago)

67 views

1

Semantic Web & Ontology

Reyhan Aydo
ğ
an

20/02/2007

2

Semantic Web


Information on the Web


Both human and machine understandable


Deal with


Presentation of information


Meaning of content and structure


Example Applications
[1]


Task
-
Centered Knowledge Support through
Semantic Markup


Semantic Gadget in a museum


Advance Search Engines


3

Example 1
[2]


Search the web for performing particular task


The system understands the task of users and
gives better service in order to achieve the goal.


E.g. when the user search the car keyword, if
the system can understand the user’s task is to
repair the car, it can perform search in
accordance with the task instead of a general
search.


4

Example 1: Two dimensions


Anticipatability:

measures the how easy or
difficult to anticipate the question


US History



“Who was the 19th U.S. present”
Easy



“Is Pat Hayes related to Rutherford Hayes”
Difficult


Frequency of occurrence:


Who the current U.S. president is, is more frequent
than who the 19th U.S. president is.


By limiting the domain, we can better anticipate
the kinds of tasks people working on.


Support in the frequently asked and moderately
anticipatable questions.


5

Example2
[3]


Apply Semantic Web onto Ubiquitous
Computing


Semantic gadget in a museum


Guide and recommend in accordance with
environmental conditions with using
semantics


If the temperature is too warm and we do not
like to carry our coat, the gadget may suggest
leaving it in the car

6

Ontology


“Specification of concepts and their
meanings”


Shared and common understanding of
knowledge concerning domain of
interests

7

Gruber Ontology Definition

8

Describing Semantics
[4]

Individual

Property

Class

Wine

ChateauMorgonBordeaux

hasColor

is an
instance of

has value for

restrict

9

Class Construct


The ontological class concept


Related to Object class in OOP


Class


Represents a group of individuals with
similar property


Eg. Food, Wine, Person, Restaurant

Class

10

Property Construct


Property construct associates


Attribute/ value pairs with instances


Binary association relating an instance to
another instance or a simple data value


E.g. price, size, name, color


Similar to accessor method in OOP


But, a property can be associated with
multiple unrelated classes rather than a
single class


Property

11

Individuals


Individuals represent


Class object instances in the domain


Similar to objects in OOP


But individuals are only information
representations and not have associated
functionality


E.g. Mark, MyPieSlice, KnightRestaurant


“It is difficult to differentiate between
individuals and classes” [4]

Individual

12

Meanings

<Sentence>


<Subject>



Wine


</Subject>


<Verb>



is

made from


</Verb>


<Object>



Grape



</Object>

</Sentence>

Document

Ontology

Natural Language

13

Ontology


Main elements of an ontology:


Concepts



Relationships


Hierarchical


Logical


Properties


Instances (individuals)


14

Semantic Relationships
[4]


Synonymy Relation (Equivalence)


Two names for the same meaning


Eg. “Restaurant and “Eating Establisment”
[class
-
class]


“Cost” and “price” [property
-
property]


“John Smith” and “Restaurant123Owner”

[individual
-
individual]

15

Semantic Relationships cont.


Antonymy Relation


Identifies opposite concepts


Disjointness: An item cannot be an
instance of both of the disjoint items


E.g. “Regular Priced Menu Item” and “Sale
Priced Menu Item”

16

Semantic Relationships cont.


Hyponymy Relation (is
-
a relationship)


Specialization or generalization


Taxonomical hierarchies

Dessert

Pie

Cake

Specialization

Generalization

17

Semantic Relationships cont.


Meronymy/Holonymy Relation


Part
-
of relation


Defines composition or part
-
of relations


Spaghetti and Meatballs Dish

Spaghetti

Meatballs

Holonymy

Meronymy

18

RDF (Resource Description
Framework)


Simple language


Captures statements


Triples of <subject, predicate, object>


E.g. <Eric Miller, hasTitle, Dr. >


Express the content itself


Resources uniquely identified to prevent
confusion


19

Example

= Resources (URI)

=Literals

20

Xml
-
based syntax

21

Example


<?xml version="1.0"?>

<RDF>

<Description about="http://www.w3schools.com/RDF">

<author>Jan Egil Refsnes</author>

<homepage>http://www.w3schools.com</homepage>

</Description>

</RDF>


Subject: "http://www.w3schools.com/RDF">


Predicate : author


Object: Jan Egil Refsnes

22

Attributes


The
<rdf:Description>

element
contains the description of the resource
identified by the
rdf:about

attribute.


<rdf:ID> is for identification of
resource where <rdf:about> is for
referring a resource.


Rdf:type specifies the type of subject

23

RDF Schema


Language for describing RDF vocabulary


Extension of RDF


RDF talks about the object where RDF
Schema defines classes for objects


Be able to represent a hierarchy of classes


“subClassOf” property


Use some constraints on properties


Domain and range


24

Example


<?xml version="1.0"?>

<rdf:RDF xmlns:rdf= "http://www.w3.org/1999/02/22
-
rdf
-
syntax

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

xml:base= "http://www.animals.fake/animals#">

<rdf:Description rdf:ID="animal">

<rdf:type
rdf:resource="http://www.w3.org/2000/01/
rdfschema#Class
"/>


</rdf:Description>

<rdf:Description rdf:ID="horse">


<rdf:type
rdf:resource="http://www.w3.org/2000/01/rdfschema#Class"/>

<
rdfs:subClassOf

rdf:resource="#animal"/>

</rdf:Description>

</rdf:RDF>

25

SubClassOF

26

RDF Schema Example

27

Discussion from 494 course
slide [Pinar Yolum]


JAVA: Class
book
has an attribute
author
of type

person


RDF: There is an
author
property between a
book

and a
person


JAVA: If you are talking about a
newspaper
, you

need to define a new
author
attribute (Local scope)


RDF: Define an
author
property once. (Global

scope)


JAVA: You can’t talk about an
author
attribute

without a class



RDF: You can if you don’t specify a domain


28

Discussion from 494 course
slide [Pinar Yolum]


JAVA:




Class
sportsarcticle
has an attribute
author
of type
male




Class
newsarticle
has an attribute
author
of type
female


RDF: Cannot match different domains with ranges


JAVA is prescriptive


-

Won’t allow a male as the author of a news article



RDF is descriptive; usage is application
-
dependent




Enforce constraints (like JAVA)




If the author of a news article is not known infer female




Accept the existence of a news article without an author




Accept a news article with an
editor
attribute instead


29

OWL


Web Ontology Language


Two types of property


Data property: string, int and so on


Object property has characteristics:


Symmetric


Transitive


Functional


inverseOf


Inverse functional


30

Symmetric Property


P(x,y) iff P(y,x)



31

Transitive Property


P(x,y) and P(y,z) implies P(x, z)


32

Functional Property


P(x,y) and P(x,z) implies y = z



33

InverseOf


P1(x,y) iff P2(y,x)


<owl:ObjectProperty rdf:ID="hasMaker">

<rdf:type
rdf:resource="&owl;FunctionalProperty" />

</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="producesWine">
<owl:inverseOf rdf:resource="#hasMaker" />

</owl:ObjectProperty>

34

Property Constraints



allValuesFrom, someValuesFrom


<owl:onProperty rdf:resource="#hasMaker" />
<owl:allValuesFrom rdf:resource="#Winery" />


cardinality


<owl:onProperty rdf:resource="#hasVintageYear"/>
<owl:cardinality rdf:datatype="&xsd;nonNegativeInteger">1


</owl:cardinality>


hasValue


<owl:onProperty rdf:resource="#hasSugar" /> <owl:hasValue
rdf:resource="#Dry" />


35

Others


Disjoint





Equivalence


<owl:Class rdf:ID="TexasThings">


<owl:equivalentClass>


<owl:Restriction>


<owl:onProperty rdf:resource="#locatedIn" />
<owl:someValuesFrom rdf:resource="#TexasRegion" />
</owl:Restriction>


</owl:equivalentClass>


</owl:Class>


36

SPARQL: Query Language

37

Conclusion


Ontology Tool


Protégé


Ontology API


KAON2 & JENA


Query Language:


SPARQL



38

References


[1] Fensel, D., J. Hendler, H. Lieberman and W. Wahlster,
Spinning the Semantic Web
, MIT Press, Cambridge, 2003.


[2] Jasper, R. and M. Uschold, “Enabling Task
-
Centered
Knowledge Support though Semantic Markup”, In
Spinning the
Semantic Web
, pp. 223
-
251, MIT Press, Cambridge,2003.


[3] Lassila, O. and M. Adler, “Ubiquitous Computing Meets the
Semantic Web”, In
Spinning the Semantic Web
, pp. 363
-
376,
MIT Press, Cambridge, 2003.


[4] Lee, W. L. ,
OWL: Representing Informaton Using the Web
Ontology Language
, Trafford Publishing, 2005.


[5] Munindar P. Singh and Michael N. Huhns,
Service
-
Oriented
Computing: Semantics, Processes, Agents
, Wiley, 2004




39

References


For examples:


http://www.w3schools.com/


[5]

Service
-
Oriented Computing: Semantics, Processes, Agents


Discussion


http://www.cmpe.boun.edu.tr/courses/cmp
e494/fall2005/slides/soc
-
slides
-
rdf.pdf


OWL


http://www.w3.org/TR/owl
-
guide/