Title: Languages and Reasoning for the Semantic Web
1Languages and Reasoning for the Semantic Web
- Grigoris Antoniou
- FORTH-ICS, Greece
2Course Outline (1)
- Part I Semantic Web Overview
- The Semantic Web Vision
- Describing Web Resources in RDF
- Web Ontology Language OWL
- Current Trends
3Course Outline (2)
- Part II Rule-Based Systems
- Comparing the Expressive power of OWL and Horn
Logic - Defeasible Reasoning
- Defeasible Reasoning System DR-DEVICE
- Semantic Web Enabled e-Commerce Applications of
Defeasible Reasoning
4A Note on chapters 1-4
- Chapters 1-4 are heavily based on
- G. Antoniou and F. van Harmelen. A Semantic Web
Primer. MIT Press 2004 - Slides based on presentations associated with the
book - More complete set of slides and other links are
found at www.semanticwebprimer.org
5Chapter 1The Semantic Web Vision
6Todays Web
- Most of todays Web content is suitable for human
consumption - Even Web content that is generated automatically
from databases is usually presented without the
original structural information found in
databases - Typical Web uses today peoples
- seeking and making use of information, searching
for and getting in touch with other people,
reviewing catalogs of online stores and ordering
products by filling out forms
7Keyword-Based Search Engines
- Current Web activities are not particularly well
supported by software tools - Except for keyword-based search engines (e.g.
Google, AltaVista, Yahoo) - The Web would not have been the huge success it
was, were it not for search engines
8Problems of Keyword-Based Search Engines
- High recall, low precision.
- Low or no recall
- Results are highly sensitive to vocabulary
- Results are single Web pages
- Human involvement is necessary to interpret and
combine results - Results of Web searches are not readily
accessible by other software tools
9The Key Problem of Todays Web
- The meaning of Web content is not
machine-accessible lack of semantics - It is simply difficult to distinguish the meaning
between these two sentences - I am a professor of computer science.
- I am a professor of computer science,
- you may think. Well, . . .
10The Semantic Web Approach
- Represent Web content in a form that is more
easily machine-processable. - Use intelligent techniques to take advantage of
these representations. - The Semantic Web will gradually evolve out of the
existing Web, it is not a competition to the
current WWW
11Semantic Web Technologies
- Explicit Metadata
- Ontologies
- Logic and Inference
- Agents
12On HTML
- Web content is currently formatted for human
readers rather than programs - HTML is the predominant language in which Web
pages are written (directly or using tools) - Vocabulary describes presentation
13An HTML Example
- lth1gtAgilitas Physiotherapy Centrelt/h1gt
- 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.
- lth2gtConsultation hourslt/h2gt
- Mon 11am - 7pmltbrgt
- Tue 11am - 7pmltbrgt
- Wed 3pm - 7pmltbrgt
- Thu 11am - 7pmltbrgt
- Fri 11am - 3pmltpgt
- But note that we do not offer consultation during
the weeks of the - lta href". . ."gtState Of Originlt/agt games.
14Problems with HTML
- Humans have no problem with this
- Machines (software agents) do
- How distinguish therapists from the secretary,
- How determine exact consultation hours
- They would have to follow the link to the State
Of Origin games to find when they take place.
15A Better Representation
- ltcompanygt
- lttreatmentOfferedgtPhysiotherapylt/treatmentOffered
gt - ltcompanyNamegtAgilitas Physiotherapy
Centrelt/companyNamegt - ltstaffgt
- lttherapistgtLisa Davenportlt/therapistgt
- lttherapistgtSteve Matthewslt/therapistgt
- ltsecretarygtKelly Townsendlt/secretarygt
- lt/staffgt
- lt/companygt
16Explicit Metadata
- This representation is far more easily
processable by machines - Metadata data about data
- Metadata capture part of the meaning of data
- Semantic Web does not rely on text-based
manipulation, but rather on machine-processable
metadata
17Ontologies
- The term ontology originates from philosophy
- The study of the nature of existence
- Different meaning from computer science
- An ontology is an explicit and formal
specification of a conceptualization
18Typical Components of Ontologies
- Terms denote important concepts (classes of
objects) of the domain - e.g. professors, staff, students, courses,
departments - Relationships between these terms typically
class hierarchies - a class C to be a subclass of another class C' if
every object in C is also included in C' - e.g. all professors are staff members
- Value restrictions
- e.g. only faculty members can teach courses
19Example of a Class Hierarchy
20The Role of Ontologies on the Web
- Ontologies provide a shared understanding of a
domain semantic interoperability - overcome differences in terminology
- mappings between ontologies
- Ontologies are useful for the organization and
navigation of Web sites
21Logic and Inference
- Logic is the discipline that studies the
principles of reasoning - Formal languages for expressing knowledge
- Well-understood formal semantics
- Declarative knowledge we describe what holds
without caring about how it can be deduced - Automated reasoners can deduce (infer)
conclusions from the given knowledge
22An Inference Example
- prof(X) ? faculty(X)
- faculty(X) ? staff(X)
- prof(michael)
- We can deduce the following conclusions
- faculty(michael)
- staff(michael)
- prof(X) ? staff(X)
23Logic versus Ontologies
- The previous example involves knowledge typically
found in ontologies - Logic can be used to uncover ontological
knowledge that is implicitly given - It can also help uncover unexpected relationships
and inconsistencies - Logic is more general than ontologies
- It can also be used by intelligent agents for
making decisions and selecting courses of action
24Inference and Explanations
- Explanations the series of inference steps can
be retraced - They increase users confidence in Semantic Web
agents Oh yeah? button - Activities between agents create or validate
proofs
25A Layered Approach
- The development of the Semantic Web proceeds in
steps - Each step building a layer on top of another
- Principles
- Downward compatibility
- Upward partial understanding
26The Semantic Web Layer Tower
27Semantic Web Layers
- XML layer
- Syntactic basis
- RDF layer
- RDF basic data model for facts
- RDF Schema simple ontology language
- Ontology layer
- More expressive languages than RDF Schema
- Current Web standard OWL
28Semantic Web Layers (2)
- Logic layer
- enhance ontology languages further
- application-specific declarative knowledge
- Proof layer
- Proof generation, exchange, validation
- Trust layer
- Digital signatures
- recommendations, rating agencies .
29Chapter 2Describing Web Resources in RDF
30Chapter Outline
- Basic Ideas of RDF
- XML-based Syntax of RDF
- Basic Concepts of RDF Schema
- ?he Language of RDF Schema
- Axiomatic Semantics for RDF and RDFS
- Direct Semantics based on Inference Rules
- Querying of RDF/RDFS Documents using RQL
31Basic Ideas of RDF
- Basic building block object-attribute-value
triple - It is called a statement
- Sentence about Billington is such a statement
- RDF has been given a syntax in XML
- This syntax inherits the benefits of XML
- Other syntactic representations of RDF possible
32Basic Ideas of RDF (2)
- The fundamental concepts of RDF are
- resources
- properties
- statements
33Resources
- We can think of a resource as an object, a
thing we want to talk about - E.g. authors, books, publishers, places, people,
hotels - Every resource has a URI, a Universal Resource
Identifier - A URI can be
- a URL (Web address) or
- some other kind of unique identifier
34Properties
- Properties are a special kind of resources
- They describe relations between resources
- E.g. written by, age, title, etc.
- Properties are also identified by URIs
- Advantages of using URIs
- ? global, worldwide, unique naming scheme
- Reduces the homonym problem of distributed data
representation -
35Statements
- Statements assert the properties of resources
- A statement is an object-attribute-value triple
- It consists of a resource, a property, and a
value - Values can be resources or literals
- Literals are atomic values (strings)
36Three Views of a Statement
- A triple
- A piece of a graph
- A piece of XML code
- Thus an RDF document can be viewed as
- A set of triples
- A graph (semantic net)
- An XML document
37Statements as Triples
- (David Billington,
- http//www.mydomain.org/site-owner,
- http//www.cit.gu.edu.au/db)
- The triple (x,P,y) can be considered as a logical
formula P(x,y) - Binary predicate P relates object x to object y
- RDF offers only binary predicates (properties)
38XML Vocabularies
- A directed graph with labeled nodes and arcs
- from the resource (the subject of the statement)
- to the value (the object of the statement)
- Known in AI as a semantic net
- The value of a statement may be a resource
- ?t may be linked to other resources
39A Set of Triples as a Semantic Net
40Statements in XML Syntax
- Graphs are a powerful tool for human
understanding but - The Semantic Web vision requires
machine-accessible and machine-processable
representations - There is a 3rd representation based on XML
- But XML is not a part of the RDF data model
- E.g. serialisation of XML is irrelevant for RDF
41A Critical View of RDF Binary Predicates
- RDF uses only binary properties
- This is a restriction because often we use
predicates with more than 2 arguments - But binary predicates can simulate these
- Example referee(X,Y,Z)
- X is the referee in a chess game between players
Y and Z
42A Critical View of RDF Binary Predicates (2)
- We introduce
- a new auxiliary resource chessGame
- the binary predicates ref, player1, and player2
- We can represent referee(X,Y,Z) as
43A Critical View of RDF Properties
- Properties are special kinds of resources
- Properties can be used as the object in an
object-attribute-value triple (statement) - They are defined independent of resources
- This possibility offers flexibility
- But it is unusual for modelling languages and OO
programming languages - It can be confusing for modellers
44Lecture Outline
- Basic Ideas of RDF
- XML-based Syntax of RDF
- Basic Concepts of RDF Schema
- ?he Language of RDF Schema
- Axiomatic Semantics for RDF and RDFS
- Direct Semantics based on Inference Rules
- Querying of RDF/RDFS Documents using RQL
45XML-Based Syntax of RDF
- An RDF document consists of an rdfRDF element
- The content of that element is a number of
descriptions - A namespace mechanism is used
- Disambiguation
- Namespaces are expected to be RDF documents
defining resources that can be reused - Large, distributed collections of knowledge
46Example of University Courses
- ltrdfRDF
- xmlnsrdf"http//www.w3.org/1999/02/22-rdf-synta
x-ns" - xmlnsxsd"http//www.w3.org/2001/XLMSchema"
- xmlnsuni"http//www.mydomain.org/uni-ns"gt
-
- ltrdfDescription rdfabout"949318"gt
- ltuninamegtDavid Billingtonlt/uninamegt
- ltunititlegtAssociate Professorlt/unititlegt
- ltuniage rdfdatatype"xsdinteger"gt27ltuniagegt
- lt/rdfDescriptiongt
47Example of University Courses (2)
- ltrdfDescription rdfabout"CIT1111"gt
- ltunicourseNamegtDiscrete Mathslt/unicourseNamegt
- ltuniisTaughtBygtDavid Billingtonlt/uniisTaughtBy
gt - lt/rdfDescriptiongt
- ltrdfDescription rdfabout"CIT2112"gt
- ltunicourseNamegtProgramming IIIlt/unicourseNamegt
- ltuniisTaughtBygtMichael Maherlt/uniisTaughtBygt
- lt/rdfDescriptiongt
- lt/rdfRDFgt
48rdfabout versus rdfID
- An element rdfDescription has
- an rdfabout attribute indicating that the
resource has been defined elsewhere - An rdfID attribute indicating that the resource
is defined - Formally, there is no such thing as defining an
object in one place and referring to it elsewhere
- Sometimes is useful (for human readability) to
have a defining location, while other locations
state additional properties
49Property Elements
- Content of rdfDescription elements
- ltrdfDescription rdfabout"CIT3116"gt
- ltunicourseNamegtKnowledge Representationlt/unic
ourseNamegt - ltuniisTaughtBygtGrigoris Antonioult/uniisTaughtB
ygt - lt/rdfDescriptiongt
- unicourseName and uniisTaughtBy define two
property-value pairs for CIT3116 (two RDF
statements) - read conjunctively
50The rdfresource Attribute
- The relationships between courses and lecturers
(in the example) were not formally defined but
existed implicitly through the use of the same
name - The use of the same name may just be a
coincidence for a machine - We can denote that two entities are the same
using the rdfresource attribute
51The rdfresource Attribute (2)
- ltrdfDescription rdfabout"CIT1111"gt
- ltunicourseNamegtDiscrete Mathematicslt/unicourse
Namegt - ltuniisTaughtBy rdfresource"949318"/gt
- lt/rdfDescriptiongt
- ltrdfDescription rdfabout"949318"gt
- ltuninamegtDavid Billingtonlt/uninamegt
- ltunititlegtAssociate Professorlt/unititlegt
- lt/rdfDescriptiongt
52Referencing Externally Defined Resources
- E.g., to refer the externally defined resource
CIT1111 - http//www.mydomain.org/uni-nsCIT1111
- as the value of rdfabout
- www.mydomain.org/uni-ns is the URI where the
definition of CIT1111 is found - A description with an ID defines a fragment URI,
which can be used to reference the defined
description
53Nested Descriptions Example
- ltrdfDescription rdfabout"CIT1111"gt
- ltunicourseNamegtDiscrete Mathslt/unicourseNamegt
- ltuniisTaughtBygt
- ltrdfDescription rdfID"949318"gt
- ltuninamegtDavid Billingtonlt/uninamegt
- ltunititlegtAssociate Professorlt/unititlegt
- lt/rdfDescriptiongt
- lt/uniisTaughtBygt
- lt/rdfDescriptiongt
54Nested Descriptions
- Descriptions may be defined within other
descriptions - Other courses, such as CIT3112, can still refer
to the new resource with ID 949318 - Although a description may be defined within
another description, its scope is global
55Introducing some Structure to RDF Documents using
the rdftype Element
- ltrdfDescription rdfID"CIT1111"gt
- ltrdftype rdfresource"http//www.mydomain.org/
uni- nscourse"/gt - ltunicourseNamegtDiscrete Mathslt/unicourseNamegt
- ltuniisTaughtBy rdfresource"949318"/gt
- lt/rdfDescriptiongt
- ltrdfDescription rdfID"949318"gt
- ltrdftype rdfresource"http//www.mydomain.org/
uni- nslecturer"/gt - ltuninamegtDavid Billingtonlt/uninamegt
- ltunititlegtAssociate Professorlt/unititlegt
- lt/rdfDescriptiongt
56Abbreviated Syntax
- Simplification rules
- Childless property elements within description
elements may be replaced by XML attributes - For description elements with a typing element we
can use the name specified in the rdftype
element instead of rdfDescription - These rules create syntactic variations of the
same RDF statement - They are equivalent according to the RDF data
model, although they have different XML syntax
57Abbreviated Syntax Example
- ltrdfDescription rdfID"CIT1111"gt
- ltrdftype rdfresource"http//www.mydomain.org/
uni- nscourse"/gt - ltunicourseNamegtDiscrete Mathslt/unicourseNamegt
- ltuniisTaughtBy rdfresource"949318"/gt
- lt/rdfDescriptiongt
58Application of First Simplification Rule
- ltrdfDescription rdfID"CIT1111"
- unicourseName"Discrete Maths"gt
- ltrdftype rdfresource"http//www.mydomain.org/
uni- nscourse"/gt - ltuniisTaughtBy rdfresource"949318"/gt
- lt/rdfDescriptiongt
59Application of 2nd Simplification Rule
- ltunicourse rdfID"CIT1111"
- unicourseName"Discrete Maths"gt
- ltuniisTaughtBy rdfresource"949318"/gt
- lt/unicoursegt
60Container Elements
- Collect a number of resources or attributes about
which we want to make statements as a whole - E.g., we may wish to talk about the courses given
by a particular lecturer - The content of container elements are named
rdf_1, rdf_2, etc. - Alternatively rdfli
61Three Types of Container Elements
- rdfBag an unordered container, allowing multiple
occurrences - E.g. members of the faculty board, documents in a
folder - rdfSeq an ordered container, which may contain
multiple occurrences - E.g. modules of a course, items on an agenda, an
alphabetized list of staff members (order is
imposed) - rdfAlt a set of alternatives
- E.g. the document home and mirrors, translations
of a document in various languages
62Example for a Bag
- ltunilecturer rdfID"949352"Â uniname"Grigoris
Antoniou" - unititle"Professor"gt
- ltunicoursesTaughtgt
- ltrdfBaggt
- ltrdf_1 rdfresource"CIT1112"/gt
- ltrdf_2 rdfresource"CIT3116"/gt
- lt/rdfBaggt
- lt/unicoursesTaughtgt
- lt/unilecturergt
63RDF Collections
- A limitation of these containers is that there is
no way to close them - these are all the members of the container
- RDF provides support for describing groups
containing only the specified members, in the
form of RDF collections - list structure in the RDF graph
- constructed using a predefined collection
vocabulary rdfList, rdffirst, rdfrest and
rdfnil
64RDF Collections (2)
- Shorthand syntax
- "Collection" value for the rdfparseType
attribute - ltrdfDescription rdfabout"CIT2112"gt
- ltuniisTaughtBy rdfparseType"Collection"gt
- ltrdfDescription rdfabout"949111"/gt
- ltrdfDescription rdfabout"949352"/gt
- ltrdfDescription rdfabout"949318"/gt
- lt/uniisTaughtBygt
- lt/rdfDescriptiongt
65Lecture Outline
- Basic Ideas of RDF
- XML-based Syntax of RDF
- Basic Concepts of RDF Schema
- ?he Language of RDF Schema
- Axiomatic Semantics for RDF and RDFS
- Direct Semantics based on Inference Rules
- Querying of RDF/RDFS Documents using RQL
66Basic Ideas of RDF Schema
- RDF is a universal language that lets users
describe resources in their own vocabularies - RDF does not assume, nor does it define semantics
of any particular application domain - The user can do so in RDF Schema using
- Classes and Properties
- Class Hierarchies and Inheritance
- Property Hierarchies
67Classes and their Instances
- We must distinguish between
- Concrete things (individual objects) in the
domain Discrete Maths, David Billington etc. - Sets of individuals sharing properties called
classes lecturers, students, courses etc. - Individual objects that belong to a class are
referred to as instances of that class - The relationship between instances and classes in
RDF is through rdftype
68Why Classes are Useful
- Impose restrictions on what can be stated in an
RDF document using the schema - As in programming languages
- E.g. A1, where A is an array
- Disallow nonsense from being stated
69Nonsensical Statements disallowed through the Use
of Classes
- Discrete Maths is taught by Concrete Maths
- We want courses to be taught by lecturers only
- Restriction on values of the property is taught
by (range restriction) - Room MZH5760 is taught by David Billington
- Only courses can be taught
- This imposes a restriction on the objects to
which the property can be applied (domain
restriction)
70Class Hierarchies
- Classes can be organised in hierarchies
- A is a subclass of B if every instance of A is
also an instance of B - Then B is a superclass of A
- A subclass graph need not be a tree
- A class may have multiple superclasses
71Class Hierarchy Example
72Inheritance in Class Hierarchies
- Range restriction Courses must be taught by
academic staff members only - Michael Maher is a professor
- He inherits the ability to teach from the class
of academic staff members - This is done in RDF Schema by fixing the
semantics of is a subclass of - It is not up to an application (RDF processing
software) to interpret is a subclass of
73Property Hierarchies
- Hierarchical relationships for properties
- E.g., is taught by is a subproperty of
involves - If a course C is taught by an academic staff
member A, then C also involves ? - The converse is not necessarily true
- E.g., A may be the teacher of the course C, or
- a tutor who marks student homework but does not
teach C - P is a subproperty of Q, if Q(x,y) is true
whenever P(x,y) is true
74Lecture Outline
- Basic Ideas of RDF
- XML-based Syntax of RDF
- Basic Concepts of RDF Schema
- ?he Language of RDF Schema
- Axiomatic Semantics for RDF and RDFS
- Direct Semantics based on Inference Rules
- Querying of RDF/RDFS Documents using RQL
75Core Classes
- rdfsResource, the class of all resources
- rdfsClass, the class of all classes
- rdfsLiteral, the class of all literals (strings)
- rdfProperty, the class of all properties.
- rdfStatement, the class of all reified
statements
76Core Properties
- rdftype, which relates a resource to its class
- The resource is declared to be an instance of
that class - rdfssubClassOf, which relates a class to one of
its superclasses - All instances of a class are instances of its
superclass - rdfssubPropertyOf, relates a property to one of
its superproperties
77Core Properties (2)
- rdfsdomain, which specifies the domain of a
property P - The class of those resources that may appear as
subjects in a triple with predicate P - If the domain is not specified, then any resource
can be the subject - rdfsrange, which specifies the range of a
property P - The class of those resources that may appear as
values in a triple with predicate P
78Examples
- ltrdfsClass rdfabout"lecturer"gt
- ltrdfssubClassOf rdfresource"staffMember"/gt
- lt/rdfsClassgt
- ltrdfProperty rdfID"phone"gt
- ltrdfsdomain rdfresource"staffMember"/gt
- ltrdfsrange rdfresource"http//www.w3.org/
- 2000/01/rdf-schemaLiteral"/gt
- lt/rdfPropertygt
79Utility Properties
- rdfsseeAlso relates a resource to another
resource that explains it - rdfsisDefinedBy is a subproperty of rdfsseeAlso
and relates a resource to the place where its
definition, typically an RDF schema, is found - rfdscomment. Comments, typically longer text,
can be associated with a resource - rdfslabel. A human-friendly label (name) is
associated with a resource
80Lecture Outline
- Basic Ideas of RDF
- XML-based Syntax of RDF
- Basic Concepts of RDF Schema
- ?he Language of RDF Schema
- Axiomatic Semantics for RDF and RDFS
- Direct Semantics based on Inference Rules
- Querying of RDF/RDFS Documents using RQL
81Axiomatic Semantics
- We formalize the meaning of the modeling
primitives of RDF and RDF Schema - By translating into first-order logic
- We make the semantics unambiguous and machine
accessible - We provide a basis for reasoning support by
automated reasoners manipulating logical formulas
82Basic Predicates
- PropVal(P,R,V)
- A predicate with 3 arguments, which is used to
represent an RDF statement with resource R,
property P and value V - An RDF statement (triple) (P,R,V) is represented
as PropVal(P,R,V). - Type(R,T)
- Short for PropVal(type,R,T)
- Specifies that the resource R has the type T
- Type(?r,?t) ? PropVal(type,?r,?t)
83RDF Classes
- Constants Class, Resource, Property, Literal
- All classes are instances of Class
- Type(Class,Class)
- Type(Resource,Class)
- Type(Property,Class)
- Type(Literal,Class)
84RDF Classes (2)
- Resource is the most general class every class
and every property is a resource - Type(?p,Property) ? Type(?p,Resource)
- Type(?c,Class) ? Type(?c,Resource)
- The predicate in an RDF statement must be a
property - PropVal(?p,?r,?v) ? Type(?p,Property)
85The type Property
- type is a property
- PropVal(type,type,Property)
- type can be applied to resources (domain) and has
a class as its value (range) - Type(?r,?c) ? (Type(?r,Resource) ? Type(?c,Class))
86Subclass
- subClassOf is a property
- Type(subClassOf,Property)
- If a class C is a subclass of a class C', then
all instances of C are also instances of C' - PropVal(subClassOf,?c,?c') ?
- (Type(?c,Class) ? Type(?c',Class) ?
- ??x (Type(?x,?c) ? Type(?x,?c')))
87Domain and Range
- If the domain of P is D, then for every P(x,y),
x?D - PropVal(domain,?p,?d) ?
- ??x ??y (PropVal(?p,?x,?y) ? Type(?x,?d))
- If the range of P is R, then for every P(x,y),
y?R - PropVal(range,?p,?r) ?
- ??x ??y (PropVal(?p,?x,?y) ? Type(?y,?r))
88Lecture Outline
- Basic Ideas of RDF
- XML-based Syntax of RDF
- Basic Concepts of RDF Schema
- ?he Language of RDF Schema
- Axiomatic Semantics for RDF and RDFS
- Direct Semantics based on Inference Rules
- Querying of RDF/RDFS Documents using RQL
89Semantics based on Inference Rules
- Semantics in terms of RDF triples instead of
restating RDF in terms of first-order logic - and sound and complete inference systems
- This inference system consists of inference rules
of the form - IF E contains certain triples
- THEN add to E certain additional triples
- where E is an arbitrary set of RDF triples
90Examples of Inference Rules
- IF E contains the triple (?x,?p,?y)
- THEN E also contains (?p,rdftype,rdfproperty)
- IF E contains the triples (?u,rdfssubClassOf,?v)
and - (?v,rdfssubclassOf,?w)
- THEN E also contains the triple
(?u,rdfssubClassOf,?w) - IF E contains the triples (?x,rdftype,?u) and
- (?u,rdfssubClassOf,?v)
- THEN E also contains the triple (?x,rdftype,?v)
91Examples of Inference Rules (2)
- Any resource ?y which appears as the value of a
property ?p can be inferred to be a member of the
range of ?p - This shows that range definitions in RDF Schema
are not used to restrict the range of a property,
but rather to infer the membership of the range - IF E contains the triples (?x,?p,?y) and
- (?p,rdfsrange,?u)
- THEN E also contains the triple (?y,rdftype,?u)
92Lecture Outline
- Basic Ideas of RDF
- XML-based Syntax of RDF
- Basic Concepts of RDF Schema
- ?he Language of RDF Schema
- Axiomatic Semantics for RDF and RDFS
- Direct Semantics based on Inference Rules
- Querying of RDF/RDFS Documents using RQL
93Why an RDF Query Language?Different XML
Representations
- XML at a lower level of abstraction than RDF
- There are various ways of syntactically
representing an RDF statement in XML - Thus we would require several XQuery queries,
e.g. - //unilecturer/unititle if unititle element
- //unilecturer/_at_unititle if unititle attribute
- Both XML representations equivalent!
94Why an RDF Query Language?Understanding the
Semantics
- ltunilecturer rdfID"949352"gt
- ltuninamegtGrigoris Antonioult/uninamegt
- lt/unilecturergt
- ltuniprofessor rdfID"949318"gt
- ltuninamegtDavid Billingtonlt/uninamegt
- lt/uniprofessorgt
- ltrdfsClass rdfabout"professor"gt
- ltrdfssubClassOf rdfresource"lecturer"/gt
- lt/rdfsClassgt
- A query for the names of all lecturers should
return both Grigoris Antoniou and David Billington
95RQL Basic Queries
- The query Class retrieves all classes
- The query Property retrieves all properties
- To retrieve the instances of a class (e.g.
course) we write - course
- If we do not wish to retrieve inherited
instances, then we have to write - course
96RQL Basic Queries (2)
- The resources and values of triples with a
specific property (e.g. involves) are retrieved
using the query - involves
- The result includes all subproperties of involves
- If we do not want these additional results, then
we have to write - involves
97Using select-from-where
- As in SQL
- select specifies the number and order of
retrieved data - from is used to navigate through the data model
- where imposes constraints on possible solutions
- Retrieve all phone numbers of staff members
- select X,Y
- from XphoneY
- Here X and Y are variables, and XphoneY
represents a resource-property-value triple
98Implicit Join
- Retrieve all lecturers and their phone numbers
- select X,Y
- from lecturerX.phoneY
- Implicit join We restrict the second query only
to those triples, the resource of which is in the
variable X - Here we restrict the domain of phone to
lecturers - A dot . denotes the implicit join
99Explicit Join
- Retrieve the name of all courses taught by the
lecturer with ID 949352 - select N
- from courseX.isTaughtByY, CnameN
- where Y"949352" and XC
100Querying the Schema
- Schema variables have a name with prefix (for
classes) or _at_ (for properties) - Retrieve all resources and values of triples with
property phone, or any of its subproperties, and
their classes - select X,X,Y,Y
- from XXphoneYY
101Querying the Schema (2)
- The domain and range of a property can be
retrieved as follows - select domain(_at_P),range(_at_P)
- from _at_P
- where _at_Pphone
102A Sample RDFS Ontology (1)
103A Sample RDFS Ontology (2)
104A Sample RDFS Ontology (3)
105Sample RQL Queries (1)
- Give all subclasses of the class Antique
- subClassOf(Antique)
106Sample RQL Queries (2)
- What is the domain and range of property paints?
- seq( domain(paints), range(paints))
107Sample RQL Queries (3)
- Is Money a subclass of Book?
- Coin lt Book
108Sample RQL Queries (4)
- Find antiques which cost more than 10000 Euros,
along with their respective prices. - SELECT A, T
- FROM ApriceT
- WHERE T gt 10000
109Sample RQL Queries (5)
- Find the paintings dating before 1942.
- SELECT P
- FROM PaintingP.dateA
- WHERE A lt 1942
110Sample RQL Queries (6)
- Find the titles of books written by Mahfouz.
- SELECT X
- FROM BookB.titleX,
- YwritesB, WriterY.creator_lnameW
- WHERE WMahfouz"
111Sample RQL Queries (7)
- Find the first and last name of owners for which
e-Bay sells their furniture. - SELECT distinct X,Y
- FROM OwnerA.owner_nameX,
- OwnerA.owner_lnameY,
- Aowns.FurnitureF,
- SsellsF,
- SellerS.seller_nameN
- WHERE N"E-bay"
112Sample RQL Queries (8)
- How many golden antiques does Smith own?
- count(
- SELECT FROM AntiqueA.use_materialM,Oowns
A,OwnerO.owner_lnameN, - Mhas_materialH
- WHERE H"Gold" and N"Michael" )
113Sample RQL Queries (9)
- Find the title of the most expensive coin.
- SELECT T
- FROM CoinC.titleT,CoinC.priceB
- WHERE B max(
- SELECT P FROM CoinD.priceP)
114Chapter 3Web Ontology Language OWL
115Lecture Outline
- Basic Ideas of OWL
- The OWL Language
- Future Extensions
116Requirements for Ontology Languages
- Ontology languages allow users to write explicit,
formal conceptualizations of domain models - The main requirements are
- a well-defined syntax
- efficient reasoning support
- a formal semantics
- sufficient expressive power
- convenience of expression
117Tradeoff between Expressive Power and Efficient
Reasoning Support
- The richer the language is, the more inefficient
the reasoning support becomes - Sometimes it crosses the border of
noncomputability - We need a compromise
- A language supported by reasonably efficient
reasoners - A language that can express large classes of
ontologies and knowledge.
118Reasoning About Knowledge in Ontology Languages
- Class membership
- If x is an instance of a class C, and C is a
subclass of D, then we can infer that x is an
instance of D - Equivalence of classes
- If class A is equivalent to class B, and class B
is equivalent to class C, then A is equivalent to
C, too
119Reasoning About Knowledge in Ontology Languages
(2)
- Consistency
- X instance of classes A and B, but A and B are
disjoint - This is an indication of an error in the ontology
- Classification
- Certain property-value pairs are a sufficient
condition for membership in a class A if an
individual x satisfies such conditions, we can
conclude that x must be an instance of A
120Uses for Reasoning
- Reasoning support is important for
- checking the consistency of the ontology and the
knowledge - checking for unintended relationships between
classes - automatically classifying instances in classes
- Checks like the preceding ones are valuable for
- designing large ontologies, where multiple
authors are involved - integrating and sharing ontologies from various
sources
121Reasoning Support for OWL
- Semantics is a prerequisite for reasoning support
- Formal semantics and reasoning support are
usually provided by - mapping an ontology language to a known logical
formalism - using automated reasoners that already exist for
those formalisms - OWL is (partially) mapped on a description logic,
and makes use of reasoners such as FaCT and RACER
- Description logics are a subset of predicate
logic for which efficient reasoning support is
possible
122Limitations of the Expressive Power of RDF Schema
- Local scope of properties
- rdfsrange defines the range of a property (e.g.
eats) for all classes - In RDF Schema we cannot declare range
restrictions that apply to some classes only - E.g. we cannot say that cows eat only plants,
while other animals may eat meat, too
123Limitations of the Expressive Power of RDF Schema
(2)
- Disjointness of classes
- Sometimes we wish to say that classes are
disjoint (e.g. male and female) - Boolean combinations of classes
- Sometimes we wish to build new classes by
combining other classes using union,
intersection, and complement - E.g. person is the disjoint union of the classes
male and female
124Limitations of the Expressive Power of RDF Schema
(3)
- Cardinality restrictions
- E.g. a person has exactly two parents, a course
is taught by at least one lecturer - Special characteristics of properties
- Transitive property (like greater than)
- Unique property (like is mother of)
- A property is the inverse of another property
(like eats and is eaten by)
125Combining OWL with RDF Schema
- Ideally, OWL would extend RDF Schema
- Consistent with the layered architecture of the
Semantic Web - But simply extending RDF Schema would work
against obtaining expressive power and efficient
reasoning - Combining RDF Schema with logic leads to
uncontrollable computational properties
126Three Species of OWL
- W3CsWeb Ontology Working Group defined OWL as
three different sublanguages - OWL Full
- OWL DL
- OWL Lite
- Each sublanguage geared toward fulfilling
different aspects of requirements
127OWL Full
- It uses all the OWL languages primitives
- It allows the combination of these primitives in
arbitrary ways with RDF and RDF Schema - OWL Full is fully upward-compatible with RDF,
both syntactically and semantically - OWL Full is so powerful that it is undecidable
- No complete (or efficient) reasoning support
128OWL DL
- OWL DL (Description Logic) is a sublanguage of
OWL Full that restricts application of the
constructors from OWL and RDF - Application of OWLs constructors to each other
is disallowed - Therefore it corresponds to a well studied
description logic - OWL DL permits efficient reasoning support
- But we lose full compatibility with RDF
- Not every RDF document is a legal OWL DL
document. - Every legal OWL DL document is a legal RDF
document.
129OWL Lite
- An even further restriction limits OWL DL to a
subset of the language constructors - E.g., OWL Lite excludes enumerated classes,
disjointness statements, and arbitrary
cardinality. - The advantage of this is a language that is
easier to - grasp, for users
- implement, for tool builders
- The disadvantage is restricted expressivity
130OWL Compatibility with RDF Schema
- All varieties of OWL use
- RDF for their syntax
- Instances are declared
- as in RDF, using RDF
- descriptions
- Typing information
- OWL constructors are
- specialisations of their
- RDF counterparts
131OWL Compatibility with RDF Schema (2)
- Semantic Web design aims at downward
compatibility with corresponding reuse of
software across the various layers - The advantage of full downward compatibility for
OWL is only achieved for OWL Full, at the cost of
computational intractability
132Lecture Outline
- Basic Ideas of OWL
- The OWL Language
- Future Extensions
133owlOntology
- ltowlOntology rdfabout""gt
- ltrdfscommentgtAn example OWL ontology
lt/rdfscommentgt - ltowlpriorVersion
- rdfresource"http//www.mydomain.org/uni-ns-old
"/gt - ltowlimports
- rdfresource"http//www.mydomain.org/persons"/gt
- ltrdfslabelgtUniversity Ontologylt/rdfslabelgt
- lt/owlOntologygt
- owlimports is a transitive property
134Classes
- Classes are defined using owlClass
- owlClass is a subclass of rdfsClass
- Disjointness is defined using owldisjointWith
- ltowlClass rdfabout"associateProfessor"gt
- ltowldisjointWith rdfresource"professor"/gt
- ltowldisjointWith rdfresource"assistantProfes
sor"/gt - lt/owlClassgt
135Classes (2)
- owlequivalentClass defines equivalence of
classes - ltowlClass rdfID"faculty"gt
- ltowlequivalentClass rdfresource
"academicStaffMember"/gt - lt/owlClassgt
- owlThing is the most general class, which
contains everything - owlNothing is the empty class
136Properties
- In OWL there are two kinds of properties
- Object properties, which relate objects to other
objects - E.g. is-TaughtBy, supervises
- Data type properties, which relate objects to
datatype values - E.g. phone, title, age, etc.
137Datatype Properties
- OWL makes use of XML Schema data types, using the
layered architecture of the SW - ltowlDatatypeProperty rdfID"age"gt
- ltrdfsrange rdfresource "http//www.w3.org/200
1/XLMSchema - nonNegativeInteger"/gt
- lt/owlDatatypePropertygt
138Object Properties
- User-defined data types
- ltowlObjectProperty rdfID"isTaughtBy"gt
- ltowldomain rdfresource"course"/gt
- ltowlrange rdfresource "academicStaffMember"/
gt - ltrdfssubPropertyOf rdfresource"involves"/gt
- lt/owlObjectPropertygt
139Inverse Properties
- ltowlObjectProperty rdfID"teaches"gt
- ltrdfsrange rdfresource"course"/gt
- ltrdfsdomain rdfresource "academicStaffMember
"/gt - ltowlinverseOf rdfresource"isTaughtBy"/gt
- lt/owlObjectPropertygt
140Equivalent Properties
- owlequivalentProperty
- ltowlObjectProperty rdfID"lecturesIn"gt
- ltowlequivalentProperty rdfresource"teaches"/
gt - lt/owlObjectPropertygt
141Property Restrictions
- In OWL we can declare that the class C satisfies
certain conditions - All instances of C satisfy the conditions
- This is equivalent to saying that C is subclass
of a class C', where C' collects all objects that
satisfy the conditions - C' can remain anonymous
142Property Restrictions (2)
- A (restriction) class is achieved through an
owlRestriction element - This element contains an owlonProperty element
and one or more restriction declarations - One type defines cardinality restrictions (at
least one, at most 3,)
143Property Restrictions (3)
- The other type defines restrictions on the kinds
of values the property may take - owlallValuesFrom specifies universal
quantification - owlhasValue specifies a specific value
- owlsomeValuesFrom specifies existential
quantification
144owlallValuesFrom
- ltowlClass rdfabout"firstYearCourse"gt
- ltrdfssubClassOfgt
- ltowlRestrictiongt
- ltowlonProperty rdfresource"isTaughtBy"/gt
- ltowlallValuesFrom
rdfresource"Professor"/gt - lt/owlRestrictiongt
- lt/rdfssubClassOfgt
- lt/owlClassgt
145owlhasValue
- ltowlClass rdfabout"mathCourse"gt
- ltrdfssubClassOfgt
- ltowlRestrictiongt
- ltowlonProperty rdfresource
"isTaughtBy"/gt - ltowlhasValue rdfresource "949352"/gt
- lt/owlRestrictiongt
- lt/rdfssubClassOfgt
- lt/owlClassgt
146owlsomeValuesFrom
- ltowlClass rdfabout"academicStaffMember"gt
- ltrdfssubClassOfgt
- ltowlRestrictiongt
- ltowlonProperty rdfresource"teaches"/gt
- ltowlsomeValuesFrom rdfresource
"undergraduateCourse"/gt - lt/owlRestrictiongt
- lt/rdfssubClassOfgt
- lt/owlClassgt
147Cardinality Restrictions
- We can specify minimum and maximum number using
owlminCardinality and owlmaxCardinality - It is possible to specify a precise number by
using the same minimum and maximum number - For convenience, OWL offers also owlcardinality
148Cardinality Restrictions (2)
- ltowlClass rdfabout"course"gt
- ltrdfssubClassOfgt
- ltowlRestrictiongt
- ltowlonProperty rdfresource"isTaughtBy"/gt
- ltowlminCardinality rdfdatatype
"xsdnonNegativeInteger"gt - 1
- lt/owlminCardinalitygt
- lt/owlRestrictiongt
- lt/rdfssubClassOfgt
- lt/owlClassgt
149Special Properties
- owlTransitiveProperty (transitive property)
- E.g. has better grade than, is ancestor of
- owlSymmetricProperty (symmetry)
- E.g. has same grade as, is sibling of
- owlFunctionalProperty defines a property that
has at most one value for each object - E.g. age, height, directSupervisor
- owlInverseFunctionalProperty defines a property
for which two different objects cannot have the
same value
150Special Properties (2)
- ltowlObjectProperty rdfID"hasSameGradeAs"gt
- ltrdftype rdfresource"owlTransitiveProperty"
/gt - ltrdftype rdfresource"owlSymmetricProperty"/
gt - ltrdfsdomain rdfresource"student"/gt
- ltrdfsrange rdfresource"student"/gt
- lt/owlObjectPropertygt
151Boolean Combinations
- We can combine classes using Boolean operations
(union, intersection, complement) - ltowlClass rdfabout"course"gt
- ltrdfssubClassOfgt
- ltowlRestrictiongt
- ltowlcomplementOf rdfresource
"staffMember"/gt - lt/owlRestrictiongt
- lt/rdfssubClassOfgt
- lt/owlClassgt
152Boolean Combinations (2)
- ltowlClass rdfID"peopleAtUni"gt
- ltowlunionOf rdfparseType"Collection"gt
- ltowlClass rdfabout"staffMember"/gt
- ltowlClass rdfabout"student"/gt
- lt/owlunionOfgt
- lt/owlClassgt
- The new class is not a subclass of the union, but
rather equal to the union - We have stated an equivalence of classes
153Boolean Combinations (3)
- ltowlClass rdfID"facultyInCS"gt
- ltowlintersectionOf rdfparseType"Collection"gt
- ltowlClass rdfabout"faculty"/gt
- ltowlRestrictiongt
- ltowlonProperty rdfresource"belongsTo"/gt
- ltowlhasValue rdfresource "CSDepartmen
t"/gt - lt/owlRestrictiongt
- lt/owlintersectionOfgt
- lt/owlClassgt
154Nesting of Boolean Operators
- ltowlClass rdfID"adminStaff"gt
- ltowlintersectionOf rdfparseType"Collection"gt
- ltowlClass rdfabout"staffMember"/gt
- ltowlcomplementOfgt
- ltowlunionOf rdfparseType"Collection"gt
- ltowlClass rdfabout"faculty"/gt
- ltowlClass rdfabout "techSupportStaf
f"/gt - lt/owlunionOfgt
- lt/owlcomplementOfgt
- lt/owlintersectionOfgt
- lt/owlClassgt
155Declaring Instances
- Instances of classes are declared as in RDF
- ltrdfDescription rdfID"949352"gt
- ltrdftype rdfresource "academicStaffMember"/gt
- lt/rdfDescriptiongt
- ltacademicStaffMember rdfID"949352"gt
- ltuniage rdfdatatype"xsdinteger"gt
39ltuniagegt - lt/academicStaffMembergt
156Distinct Objects
- To ensure that different individuals are indeed
recognized as such, we must explicitly assert
their inequality - ltlecturer rdfabout"949318"gt
- ltowldifferentFrom rdfresource"949352"/gt
- lt/lecturergt
157Distinct Objects (2)
- OWL provides a shorthand notation to assert the
pairwise inequality of all individuals in a given
list - ltowlallDifferentgt
- ltowldistinctMembers rdfparseType"Collection"gt
- ltlecturer rdfabout"949318"/gt
- ltlecturer rdfabout"949352"/gt
- ltlecturer rdfabout"949111"/gt
- lt/owldistinctMembersgt
- lt/owlallDifferentgt
158Data Types in OWL
- XML Schema provides a mechanism to construct
user-defined data types - E.g., the data type of adultAge includes all
integers greater than 18 - Such derived data types cannot be used in OWL
- The OWL reference document lists all the XML
Schema data types that can be used - These include the most frequently used types such
as string, integer, Boolean, time, and date.
159Combination of Features
- In different OWL languages there are different
sets of restrictions regarding the application of
features - In OWL Full, all the language constructors may be
used in any combination as long as the result is
legal RDF
160Restriction of Features in OWL DL
- Vocabulary partitioning
- Any resource is allowed to be only a class, a
data type, a data type property, an object
property, an individual, a data value, or part of
the built-in vocabulary, and not more than one of
these - Explicit typing
- The partitioning of all resources must be stated
explicitly (e.g. a class must be declared if used
in conjunction with rdfssubClassOf)
161Restriction of Features in OWL DL (2)
- Property Separation
- The set of object properties and data type
properties are disjoint - Therefore the following can never be specified
for data type properties - owlinverseOf
- owlFunctionalProperty
- owlInverseFunctionalProperty
- owlSymmetricProperty
162Restriction of Features in OWL DL (3)
- No transitive cardinality restrictions
- No cardinality restrictions may be placed on
transitive properties - Restricted anonymous classes Anonymous classes
are only allowed to occur as - the domain and range of either owlequivalentClass
or owldisjointWith - the range (but not the domain) of rdfssubClassOf
163Restriction of Features in OWL Lite
- Restrictions of OWL DL and more
- owloneOf, owldisjointWith, owlunionOf,
owlcomplementOf and owlhasValue are not allowed
- Cardinality statements (minimal, maximal, and
exact cardinality) can only be made on the values
0 or 1 - owlequivalentClass statements can no longer be
made between anonymous classes but only between
class identifiers
164Inheritance in Class Hierarchies
- Range restriction Courses must be taught by
academic staff members only - Michael Maher is a professor
- He inherits the ability to teach from the class
of academic staff members - This is done in RDF Schema by fixing the
semantics of is a subclass of - It is not up to an application (RDF processing
software) to interpret is a subclass of
165Lecture Outline
- Basic Ideas of OWL
- The OWL Language
- Future Extensions
166Future Extensions of OWL
- Modules and Imports
- Defaults
- Closed World Assumption
- Unique Names Assumption
- Procedural Attachments
- Rules for Property Chaining
167Modules and Imports
- The importing facility of OWL is very trivial
- It only allows importing of an entire ontology,
not parts of it - Modules in programming languages based on
information hiding state functionality, hide
implementation details - Open question how to define appropriate module
mechanism for Web ontology languages
168Defaults
- Many practical knowledge representation systems
allow inherited values to be overridden by more
specific classes in the hierarchy - treat inherited values as defaults
- No consensus has been reached on the right
formalization for the nonmonotonic behaviour of
default values
169Closed World Assumption
- OWL currently adopts the open-world assumption
- A statement cannot be assumed true on the basis
of a failure to prove it - On the huge and only partially knowable WWW, this
is a correct assumption - Closed-world assumption a statement is true when
its negation cannot be proved - tied to the notion of defaults, leads to
nonmonotonic behaviour
170Unique Names Assumption
- Typical database applications assume that
individuals with different names are indeed
different individuals - OWL follows the usual logical paradigm where this
is not the case - Plausible on the WWW
- One may want to indicate portions of the ontology
for which the assumption does or does not hold
171Procedural Attachments
- A common concept in knowledge representation is
to define the meaning of a term by attaching a
piece of code to be executed for computing the
meaning of the term - Not through explicit definitions in the language
- Although widely used, this concept does not lend
itself very well to integration in a system with
a formal semantics, and it has not been included
in OWL
172Rules for Property Chaining
- OWL does not allow the composition of properties
for reasons of