Professional Documents
Culture Documents
PROTG
Matthew J Wood
CS 570 Topics in Artificial Intelligence
Spring 2013
Todays Web
Keyword-Based Search
Engines
Current
The
Problems of Keyword-Based
Search Engines
High
Semantic web was term coined by Tim BernersLee, the inventor of World Wide Web and the
director of the World Wide Web Consortium.
Explicit Metadata
This
Semantic
11
On HTML
Web
12
An HTML Example
<h1>Agilitas Physiotherapy Centre</h1>
Welcome to the home page of the Agilitas Physiotherapy Centre. Do
you feel pain? Have you had an injury? Let our staff Lisa Davenport,
Kelly Townsend (our lovely secretary) and Steve Matthews take care
of your body and soul.
<h2>Consultation hours</h2>
Mon 11am - 7pm<br>
Tue 11am - 7pm<br>
Wed 3pm - 7pm<br>
Thu 11am - 7pm<br>
Fri 11am - 3pm<p>
But note that we do not offer consultation during the weeks of the
<a href=". . .">State Of Origin</a> games.
13
14
An XML Example
<bookstore>
<book category="COOKING">
<title lang="en">Everyday
Italian</title>
<author>Giada De
Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>
16
17
An RDF Example
http://en.wikipedia.org/wiki/J._K._Rowling
dc:creator
http://en.wikipedia.org/wiki/ Harry_Potter
<rdf:RDF xmlns:rdf=
http://www.w3.org/1999/02/22-rdf-syntax-ns#
xmlns:dc=http://purl.org/dc/elements/1.1/>
<rdf:Description
rdf:about=http://en.wikipedia.org/wiki/Harry_Potter>
<dc:creator=
http://en.wikipedia.org/wiki/J._K._Rowling>
</rdf:Description>
</rdf:RDF>
18
19
Typical Components of
Ontologies
20
Further Components of
Ontologies
Properties:
Value restrictions
Disjointness statements
e.g. X teaches Y
21
22
Ontologies
23
search engines can look for pages that refer to a precise concept
in an ontology
24
e.g., disjointness
cardinality
richer
typing of properties
characteristics of properties (e.g., symmetry)
25
Software Agents
26
27
Ontologies
Logic
28
Drawbacks of XML
29
a well-defined syntax
efficient reasoning support
a formal semantics
sufficient expressive power
convenience of expression
30
membership
Equivalence
of classes
32
Consistency
Classification
34
35
OWL Full
OWL DL
OWL Lite
Each
36
OWL DL
Protege Tutorial
What is protege?
OWL
RDF
XML Schema
How it works
Objects in the domain are expressed through a
series of interrelated classes
Class hierarchy is similar to that used by objectoriented languages such as Java
Superclasses
Subclasses
Sibling Classes
Ancestor Classes, etc.
Annotations
Provide
Semantic Reasoners
Inference
FaCT++
Semantic reasoner used for OWL DL
ontologies
Implemented in C++ and supported by
Protege
Converts the KB into an internal
representation using various optimization
techniques
Uses dependency directed backtracking to
check satisfiability of the KB
Install Protege
Go to
http://protege.stanford.edu/doc/owl/getting-started.h
tml
to download protege (version 3.x)
Protege OWL editor is built with the full installation of
protege platform. During the install process, choose
the Basic+OWL option.
For more details:
http://protege.stanford.edu/doc/owl/gettingstarted.html
Protege
Frame-based
OWL
Protege Frames editor: enables users to build and populate ontologies that
are frame-based, in accordance with OKBC (Open Knowledge Base
Connectivity Protocol).
Classes
Slots for properties and relationships
Instances for class
Protege OWL editor: enables users to build ontology for the Semantic Web,
in particular to OWL
Classes
Properties
Instances
reasoning
Start protege
File New Project OWL/RDF files Ontology
URI (http://www.pizza.com/ontologies/pizza.owl)
OWL DL Properties View
A new empty Protege-OWL project has been
created.
Save it in your local file as pizza.owl
Named Classes
Disjoint classes
E4:
Select PizzaTopping,
Select VegetableTopping:
Select
CheeseTopping
Select
PepperTopping
SeafoodTopping
OWL Properties
OWL
OWL
hasIngredient property
Inverse Properties
Each
Select hasBase
Select hasTopping
Functional Properties
FunctionalProperty vs InverseFunctionalProperty
domain
range
Functional
Property
For a given
domain
Range is
unique
InverseFunctional
Property
Domain is
unique
For a given
range
example
hasFather: A hasFather
B, A hasFather C B=C
hasID: A hasID B, C
hasID B A=C
Transitive Properties
Symmetric Properties
If
hasTopping
When
hasTopping property
When
Select
Property restrictions
Quantifier restrictions
Existential quantifier ( )
Universal quantifier ( )
Cardinality restrictions
hasValue restrictions
Select Pizza
Select Necessary header to create a necessary
condition
Select create a restriction wizard
Select MargheritaPizza
Go to Asserted Conditions, create new restriction.
Select someValueFrom
Select hasTopping as the property to be restricted.
Enter MozzarellaTopping as the filler
Press OK button
Select MargheritaPizza
Go to Asserted Conditions, create new restriction.
Select someValueFrom
Select hasTopping as the property to be restricted.
Enter TomatoTopping as the filler
Press OK button
Select MargheritaPizza
Select create clone
Add additional restriction to AmericanaPizza
Adding PepperoniTopping
Press OK.
MargheritaPizza
Press add all siblings button on the
Disjoints widget to make the pizzas disjoint
from each other.
Using a reasoner
Using Racer
In
Download at:
http://www.racer-systems.com/products/download/
index.phtml
Double click RacerPro to start Racer.
see ProbeInconsistentTopping is
inconsistent.
CheeseTopping and
VegetableTopping to see what happens
Select CheeseTopping
Go to Disjoint part
Select VegetableTopping, right click and Delete
the selected row.
Classify taxonomy
The inconsistency no longer exists.
Project #1
Used