SlideShare a Scribd company logo
Chapter 3 A Semantic Web Primer
1
Chapter 3
Describing Web Resources in RDF
Grigoris Antoniou
Frank van Harmelen
Chapter 3 A Semantic Web Primer
2
Lecture Outline
1. Basic Ideas of RDF
2. XML-based Syntax of RDF
3. Basic Concepts of RDF Schema
4. Τhe Language of RDF Schema
5. The Namespaces of RDF and RDF Schema
6. Axiomatic Semantics for RDF and RDFS
7. Direct Semantics based on Inference Rules
8. Querying of RDF/RDFS Documents using SPARQL
Chapter 3 A Semantic Web Primer
3
Drawbacks of XML
 XML is a universal metalanguage for defining
markup
 It provides a uniform framework for interchange of
data and metadata between applications
 However, XML does not provide any means of
talking about the semantics (meaning) of data
 E.g., there is no intended meaning associated with
the nesting of tags
– It is up to each application to interpret the nesting.
Chapter 3 A Semantic Web Primer
4
Nesting of Tags in XML
David Billington is a lecturer of Discrete Maths
<course name="Discrete Maths">
<lecturer>David Billington</lecturer>
</course>
<lecturer name="David Billington">
<teaches>Discrete Maths</teaches>
</lecturer>
Opposite nesting, same information!
Chapter 3 A Semantic Web Primer
5
Basic 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
Chapter 3 A Semantic Web Primer
6
Basic Ideas of RDF (2)
 The fundamental concepts of RDF are:
– resources
– properties
– statements
Chapter 3 A Semantic Web Primer
7
Resources
 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
Chapter 3 A Semantic Web Primer
8
Properties
 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
Chapter 3 A Semantic Web Primer
9
Statements
 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)
Chapter 3 A Semantic Web Primer
10
Three 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
Chapter 3 A Semantic Web Primer
11
Statements as Triples
(http://www.cit.gu.edu.au/~db,
http://www.mydomain.org/site-owner,
#David Billington)
 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)
Chapter 3 A Semantic Web Primer
12
XML 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
Chapter 3 A Semantic Web Primer
13
A Set of Triples as a Semantic Net
Chapter 3 A Semantic Web Primer
14
Statements 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
Chapter 3 A Semantic Web Primer
15
Statements in XML (2)
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:mydomain="http://www.mydomain.org/my-rdf-ns">
<rdf:Description
rdf:about="http://www.cit.gu.edu.au/~db">
<mydomain:site-owner
rdf:resource=“#David Billington“/>
</rdf:Description>
</rdf:RDF>
Chapter 3 A Semantic Web Primer
16
Statements in XML (3)
 An RDF document is represented by an XML
element with the tag rdf:RDF
 The content of this element is a number of
descriptions, which use rdf:Description tags.
 Every description makes a statement about a
resource, identified in 3 ways:
– an about attribute, referencing an existing resource
– an ID attribute, creating a new resource
– without a name, creating an anonymous resource
Chapter 3 A Semantic Web Primer
17
Statements in XML (4)
 The rdf:Description element makes a
statement about the resource
http://www.cit.gu.edu.au/~db
 Within the description
– the property is used as a tag
– the content is the value of the property
Chapter 3 A Semantic Web Primer
18
Reification
 In RDF it is possible to make statements
about statements
– Grigoris believes that David Billington is the
creator of http://www.cit.gu.edu.au/~db
 Such statements can be used to describe
belief or trust in other statements
 The solution is to assign a unique identifier to
each statement
– It can be used to refer to the statement
Chapter 3 A Semantic Web Primer
19
Reification (2)
 Introduce an auxiliary object (e.g. belief1)
 relate it to each of the 3 parts of the original
statement through the properties subject,
predicate and object
 In the preceding example
– subject of belief1 is David Billington
– predicate of belief1 is creator
– object of belief1 is http://www.cit.gu.edu.au/~db
Chapter 3 A Semantic Web Primer
20
Data Types
 Data types are used in programming
languages to allow interpretation
 In RDF, typed literals are used, if necessary
(#David Billington,
http://www.mydomain.org/age,
“27”^http://www.w3.org/2001/XMLSchema
#integer)
Chapter 3 A Semantic Web Primer
21
Data Types (2)
 ^^-notation indicates the type of a literal
 In practice, the most widely used data typing
scheme will be the one by XML Schema
– But the use of any externally defined data typing
scheme is allowed in RDF documents
 XML Schema predefines a large range of
data types
– E.g. Booleans, integers, floating-point numbers,
times, dates, etc.
Chapter 3 A Semantic Web Primer
22
A 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
Chapter 3 A Semantic Web Primer
23
A 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:
Chapter 3 A Semantic Web Primer
24
A 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
Chapter 3 A Semantic Web Primer
25
A Critical View of RDF: Reification
 The reification mechanism is quite powerful
 It appears misplaced in a simple language like RDF
 Making statements about statements introduces a
level of complexity that is not necessary for a basic
layer of the Semantic Web
 Instead, it would have appeared more natural to
include it in more powerful layers, which provide
richer representational capabilities
Chapter 3 A Semantic Web Primer
26
A Critical View of RDF: Summary
 RDF has its idiosyncrasies and is not an
optimal modeling language but
 It is already a de facto standard
 It has sufficient expressive power
– At least as for more layers to build on top
 Using RDF offers the benefit that information
maps unambiguously to a model
Chapter 3 A Semantic Web Primer
27
Lecture Outline
1. Basic Ideas of RDF
2. XML-based Syntax of RDF
3. Basic Concepts of RDF Schema
4. Τhe Language of RDF Schema
5. The Namespaces of RDF and RDF Schema
6. Axiomatic Semantics for RDF and RDFS
7. Direct Semantics based on Inference Rules
8. Querying of RDF/RDFS Documents using SPARQL
Chapter 3 A Semantic Web Primer
28
XML-Based Syntax of RDF
 An RDF document consists of an rdf:RDF
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
Chapter 3 A Semantic Web Primer
29
Example of University Courses
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:uni="http://www.mydomain.org/uni-ns">
<rdf:Description rdf:about="949318">
<uni:name>David Billington</uni:name>
<uni:title>Associate Professor</uni:title>
<uni:age rdf:datatype="&xsd:integer">27<uni:age>
</rdf:Description>
Chapter 3 A Semantic Web Primer
30
Example of University Courses (2)
<rdf:Description rdf:about="CIT1111">
<uni:courseName>Discrete Maths</uni:courseName>
<uni:isTaughtBy>David Billington</uni:isTaughtBy>
</rdf:Description>
<rdf:Description rdf:about="CIT2112">
<uni:courseName>Programming III</uni:courseName>
<uni:isTaughtBy>Michael Maher</uni:isTaughtBy>
</rdf:Description>
</rdf:RDF>
Chapter 3 A Semantic Web Primer
31
rdf:about versus rdf:ID
 An element rdf:Description has
– an rdf:about attribute indicating that the resource has been
“defined” elsewhere
– An rdf:ID 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
Chapter 3 A Semantic Web Primer
32
Property Elements
 Content of rdf:Description elements
<rdf:Description rdf:about="CIT3116">
<uni:courseName>Knowledge
Representation</uni:courseName>
<uni:isTaughtBy>Grigoris Antoniou</uni:isTaughtBy>
</rdf:Description>
 uni:courseName and uni:isTaughtBy
define two property-value pairs for CIT3116
(two RDF statements)
– read conjunctively
Chapter 3 A Semantic Web Primer
33
Data Types
 The attribute rdf:datatype="&xsd:integer" is used to
indicate the data type of the value of the age property
<rdf:Description rdf:about="949318">
<uni:name>David Billington</uni:name>
<uni:title>Associate Professor</uni:title>
<uni:age rdf:datatype="&xsd:integer">27<uni:age>
</rdf:Description>
Chapter 3 A Semantic Web Primer
34
Data Types (2)
 The age property has been defined to have
"&xsd:integer" as its range
– It is still required to indicate the type of the value
of this property each time it is used
– This is to ensure that an RDF processor can
assign the correct type of the property value even
if it has not "seen" the corresponding RDF
Schema definition before
– This scenario is quite likely to occur in the
unrestricted WWW
Chapter 3 A Semantic Web Primer
35
The rdf:resource 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 rdf:resource attribute
Chapter 3 A Semantic Web Primer
36
The rdf:resource Attribute (2)
<rdf:Description rdf:about="CIT1111">
<uni:courseName>Discrete
Mathematics</uni:courseName>
<uni:isTaughtBy rdf:resource="949318"/>
</rdf:Description>
<rdf:Description rdf:about="949318">
<uni:name>David Billington</uni:name>
<uni:title>Associate Professor</uni:title>
</rdf:Description>
Chapter 3 A Semantic Web Primer
37
Referencing Externally Defined
Resources
 E.g., to refer the externally defined resource CIT1111:
http://www.mydomain.org/uni-ns#CIT1111
as the value of rdf:about
 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
Chapter 3 A Semantic Web Primer
38
Nested Descriptions: Example
<rdf:Description rdf:about="CIT1111">
<uni:courseName>Discrete
Maths</uni:courseName>
<uni:isTaughtBy>
<rdf:Description rdf:ID="949318">
<uni:name>David Billington</uni:name>
<uni:title>Associate Professor</uni:title>
</rdf:Description>
</uni:isTaughtBy>
</rdf:Description>
Chapter 3 A Semantic Web Primer
39
Nested 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
Chapter 3 A Semantic Web Primer
40
Introducing some Structure to RDF
Documents using the rdf:type Element
<rdf:Description rdf:ID="CIT1111">
<rdf:type rdf:resource="http://www.mydomain.org/uni-
ns#course"/>
<uni:courseName>Discrete Maths</uni:courseName>
<uni:isTaughtBy rdf:resource="#949318"/>
</rdf:Description>
<rdf:Description rdf:ID="949318">
<rdf:type rdf:resource="http://www.mydomain.org/uni-
ns#lecturer"/>
<uni:name>David Billington</uni:name>
<uni:title>Associate Professor</uni:title>
</rdf:Description>
Chapter 3 A Semantic Web Primer
41
Abbreviated Syntax
 Simplification rules:
1. Childless property elements within description elements may
be replaced by XML attributes
2. For description elements with a typing element we can use
the name specified in the rdf:type element instead of
rdf:Description
 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
Chapter 3 A Semantic Web Primer
42
Abbreviated Syntax: Example
<rdf:Description rdf:ID="CIT1111">
<rdf:type rdf:resource="http://www.mydomain.org/uni-
ns#course"/>
<uni:courseName>Discrete Maths</uni:courseName>
<uni:isTaughtBy rdf:resource="#949318"/>
</rdf:Description>
Chapter 3 A Semantic Web Primer
43
Application of First Simplification Rule
<rdf:Description rdf:ID="CIT1111"
uni:courseName="Discrete Maths">
<rdf:type rdf:resource="http://www.mydomain.org/uni-
ns#course"/>
<uni:isTaughtBy rdf:resource="#949318"/>
</rdf:Description>
Chapter 3 A Semantic Web Primer
44
Application of 2nd Simplification Rule
<uni:course rdf:ID="CIT1111"
uni:courseName="Discrete Maths">
<uni:isTaughtBy rdf:resource="#949318"/>
</uni:course>
Chapter 3 A Semantic Web Primer
45
Container 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 rdf:li
Chapter 3 A Semantic Web Primer
46
Three Types of Container Elements
 rdf:Bag an unordered container, allowing multiple
occurrences
– E.g. members of the faculty board, documents in a folder
 rdf:Seq 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)
 rdf:Alt a set of alternatives
– E.g. the document home and mirrors, translations of a
document in various languages
Chapter 3 A Semantic Web Primer
47
Example for a Bag
<uni:lecturer rdf:ID="949352" uni:name="Grigoris
Antoniou"
uni:title="Professor">
<uni:coursesTaught>
<rdf:Bag>
<rdf:_1 rdf:resource="#CIT1112"/>
<rdf:_2 rdf:resource="#CIT3116"/>
</rdf:Bag>
</uni:coursesTaught>
</uni:lecturer>
Chapter 3 A Semantic Web Primer
48
Example for Alternative
<uni:course rdf:ID="CIT1111"
uni:courseName="Discrete Mathematics">
<uni:lecturer>
<rdf:Alt>
<rdf:li rdf:resource="#949352"/>
<rdf:li rdf:resource="#949318"/>
</rdf:Alt>
</uni:lecturer>
</uni:course>
Chapter 3 A Semantic Web Primer
49
Rdf:ID Attribute for Container
Elements
<uni:lecturer rdf:ID="949318"
uni:name="David Billington">
<uni:coursesTaught>
<rdf:Bag rdf:ID="DBcourses">
<rdf:_1 rdf:resource="#CIT1111"/>
<rdf:_2 rdf:resource="#CIT3112"/>
</rdf:Bag>
</uni:coursesTaught>
</uni:lecturer>
Chapter 3 A Semantic Web Primer
50
RDF 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: rdf:List, rdf:first, rdf:rest and rdf:nil
Chapter 3 A Semantic Web Primer
51
RDF Collections (2)
 Shorthand syntax:
– "Collection" value for the rdf:parseType
attribute:
<rdf:Description rdf:about="#CIT2112">
<uni:isTaughtBy rdf:parseType="Collection">
<rdf:Description rdf:about="#949111"/>
<rdf:Description rdf:about="#949352"/>
<rdf:Description rdf:about="#949318"/>
</uni:isTaughtBy>
</rdf:Description>
Chapter 3 A Semantic Web Primer
52
Reification
 Sometimes we wish to make statements
about other statements
 We must be able to refer to a statement
using an identifier
 RDF allows such reference through a
reification mechanism which turns a
statement into a resource
Chapter 3 A Semantic Web Primer
53
Reification Example
<rdf:Description rdf:about="#949352">
<uni:name>Grigoris Antoniou</uni:name>
</rdf:Description>
 reifies as
<rdf:Statement rdf:ID="StatementAbout949352">
<rdf:subject rdf:resource="#949352"/>
<rdf:predicate rdf:resource="http://www.mydomain.org/
uni-ns#name"/>
<rdf:object>Grigoris Antoniou</rdf:object>
</rdf:Statement>
Chapter 3 A Semantic Web Primer
54
Reification (2)
 rdf:subject, rdf:predicate and rdf:object
allow us to access the parts of a statement
 The ID of the statement can be used to refer
to it, as can be done for any description
 We write an rdf:Description if we don’t want
to talk about a statement further
 We write an rdf:Statement if we wish to refer
to a statement
Chapter 3 A Semantic Web Primer
55
Lecture Outline
1. Basic Ideas of RDF
2. XML-based Syntax of RDF
3. Basic Concepts of RDF Schema
4. Τhe Language of RDF Schema
5. The Namespaces of RDF and RDF Schema
6. Axiomatic Semantics for RDF and RDFS
7. Direct Semantics based on Inference Rules
8. Querying of RDF/RDFS Documents using SPARQL
Chapter 3 A Semantic Web Primer
56
Basic 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
Chapter 3 A Semantic Web Primer
57
Classes 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 rdf:type
Chapter 3 A Semantic Web Primer
58
Why Classes are Useful
 Impose restrictions on what can be stated in
an RDF document using the schema
– As in programming languages
– E.g. A+1, where A is an array
– Disallow nonsense from being stated
Chapter 3 A Semantic Web Primer
59
Nonsensical 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)
Chapter 3 A Semantic Web Primer
60
Class 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
Chapter 3 A Semantic Web Primer
61
Class Hierarchy Example
Chapter 3 A Semantic Web Primer
62
Inheritance 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
Chapter 3 A Semantic Web Primer
63
Property 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
Chapter 3 A Semantic Web Primer
64
RDF Layer vs RDF Schema Layer
 Discrete Mathematics is taught by David
Billington
 The schema is itself written in a formal
language, RDF Schema, that can express its
ingredients:
– subClassOf, Class, Property, subPropertyOf,
Resource, etc.
Chapter 3 A Semantic Web Primer
65
RDF Layer vs RDF Schema Layer (2)
Chapter 3 A Semantic Web Primer
66
Lecture Outline
1. Basic Ideas of RDF
2. XML-based Syntax of RDF
3. Basic Concepts of RDF Schema
4. Τhe Language of RDF Schema
5. The Namespaces of RDF and RDF Schema
6. Axiomatic Semantics for RDF and RDFS
7. Direct Semantics based on Inference Rules
8. Querying of RDF/RDFS Documents using SPARQL
Chapter 3 A Semantic Web Primer
67
Lecture Outline
1. Introduction
2. Detailed Description of XML
3. Structuring
a) DTDs
b) XML Schema
4. Namespaces
5. Accessing, querying XML documents: XPath
6. Transformations: XSLT
Chapter 3 A Semantic Web Primer
68
RDF Schema in RDF
 The modeling primitives of RDF Schema are defined
using resources and properties (RDF itself is used!)
 To declare that “lecturer” is a subclass of “academic
staff member”
– Define resources lecturer, academicStaffMember, and
subClassOf
– define property subClassOf
– Write triple (lecturer,subClassOf,academicStaffMember)
 We use the XML-based syntax of RDF
Chapter 3 A Semantic Web Primer
69
Core Classes
 rdfs:Resource, the class of all
resources
 rdfs:Class, the class of all classes
 rdfs:Literal, the class of all literals
(strings)
 rdf:Property, the class of all properties.
 rdf:Statement, the class of all reified
statements
Chapter 3 A Semantic Web Primer
70
Core Properties
 rdf:type, which relates a resource to its class
– The resource is declared to be an instance of that
class
 rdfs:subClassOf, which relates a class to
one of its superclasses
– All instances of a class are instances of its
superclass
 rdfs:subPropertyOf, relates a property to
one of its superproperties
Chapter 3 A Semantic Web Primer
71
Core Properties (2)
 rdfs:domain, 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
 rdfs:range, which specifies the range of a property P
– The class of those resources that may appear as values in a
triple with predicate P
Chapter 3 A Semantic Web Primer
72
Examples
<rdfs:Class rdf:about="#lecturer">
<rdfs:subClassOf rdf:resource="#staffMember"/>
</rdfs:Class>
<rdf:Property rdf:ID="phone">
<rdfs:domain rdf:resource="#staffMember"/>
<rdfs:range rdf:resource="http://www.w3.org/
2000/01/rdf-schema#Literal"/>
</rdf:Property>
Chapter 3 A Semantic Web Primer
73
Relationships Between Core Classes
and Properties
 rdfs:subClassOf and rdfs:subPropertyOf are
transitive, by definition
 rdfs:Class is a subclass of rdfs:Resource
– Because every class is a resource
 rdfs:Resource is an instance of rdfs:Class
– rdfs:Resource is the class of all resources, so it is a class
 Every class is an instance of rdfs:Class
– For the same reason
Chapter 3 A Semantic Web Primer
74
Reification and Containers
 rdf:subject, relates a reified statement to its
subject
 rdf:predicate, relates a reified statement to its
predicate
 rdf:object, relates a reified statement to its object
 rdf:Bag, the class of bags
 rdf:Seq, the class of sequences
 rdf:Alt, the class of alternatives
 rdfs:Container, which is a superclass of all
container classes, including the three above
Chapter 3 A Semantic Web Primer
75
Utility Properties
 rdfs:seeAlso relates a resource to another
resource that explains it
 rdfs:isDefinedBy is a subproperty of rdfs:seeAlso
and relates a resource to the place where its
definition, typically an RDF schema, is found
 rdfs:comment. Comments, typically longer text,
can be associated with a resource
 rdfs:label. A human-friendly label (name) is
associated with a resource
Chapter 3 A Semantic Web Primer
76
Example: A University
<rdfs:Class rdf:ID="lecturer">
<rdfs:comment>
The class of lecturers. All lecturers are
academic staff members.
</rdfs:comment>
<rdfs:subClassOf
rdf:resource="#academicStaffMember"/>
</rdfs:Class>
Chapter 3 A Semantic Web Primer
77
Example: A University (2)
<rdfs:Class rdf:ID="course">
<rdfs:comment>The class of courses</rdfs:comment>
</rdfs:Class>
<rdf:Property rdf:ID="isTaughtBy">
<rdfs:comment>
Inherits its domain ("course") and range ("lecturer")
from its superproperty "involves"
</rdfs:comment>
<rdfs:subPropertyOf rdf:resource="#involves"/>
</rdf:Property>
Chapter 3 A Semantic Web Primer
78
Example: A University (3)
<rdf:Property rdf:ID="phone">
<rdfs:comment>
It is a property of staff members
and takes literals as values.
</rdfs:comment>
<rdfs:domain rdf:resource="#staffMember"/>
<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-
schema#Literal"/>
</rdf:Property>
Chapter 3 A Semantic Web Primer
79
Class Hierarchy for the Motor Vehicles
Example
Chapter 3 A Semantic Web Primer
80
Lecture Outline
1. Basic Ideas of RDF
2. XML-based Syntax of RDF
3. Basic Concepts of RDF Schema
4. Τhe Language of RDF Schema
5. The Namespaces of RDF and RDF Schema
6. Axiomatic Semantics for RDF and RDFS
7. Direct Semantics based on Inference Rules
8. Querying of RDF/RDFS Documents using SPARQL
Chapter 3 A Semantic Web Primer
81
The Namespace of RDF
<rdfs:Class rdf:ID="Statement"
rdfs:comment="The class of triples consisting of a
predicate, a subject and an object (that is, a
reified statement)"/>
<rdfs:Class rdf:ID="Property"
rdfs:comment="The class of properties"/>
<rdfs:Class rdf:ID="Bag"
rdfs:comment="The class of unordered collections"/>
Chapter 3 A Semantic Web Primer
82
The Namespace of RDF (2)
<rdf:Property rdf:ID="predicate"
rdfs:comment="Identifies the property of a
statementin reified form"/>
<rdfs:domain rdf:resource="#Statement"/>
<rdfs:range rdf:resource="#Property"/>
</rdf:Property>
Chapter 3 A Semantic Web Primer
83
The Namespace of RDF Schema
<rdfs:Class rdf:ID="Resource"
rdfs:comment="The most general class"/>
<rdfs:Class rdf:ID="Class"
rdfs:comment="The concept of classes.
All classes are resources"/>
<rdfs:subClassOf rdf:resource="#Resource"/>
</rdfs:Class>
Chapter 3 A Semantic Web Primer
84
The Namespace of RDF Schema (2)
<rdf:Property rdf:ID="subPropertyOf">
<rdfs:domain rdf:resource="http://www.w3.org/
1999/02/22-rdf-syntax-ns#Property"/>
<rdfs:range rdf:resource="http://www.w3.org/
1999/02/22-rdf-syntax-ns#Property"/>
</rdf:Property>
<rdf:Property rdf:ID="subClassOf">
<rdfs:domain rdf:resource="#Class"/>
<rdfs:range rdf:resource="#Class"/>
</rdf:Property>
Chapter 3 A Semantic Web Primer
85
Namespace versus Semantics
 Consider rdfs:subClassOf
– The namespace specifies only that it applies to
classes and has a class as a value
– The meaning of being a subclass not expressed
 The meaning cannot be expressed in RDF
– If it could RDF Schema would be unnecessary
 External definition of semantics required
– Respected by RDF/RDFS processing software
Chapter 3 A Semantic Web Primer
86
Lecture Outline
1. Basic Ideas of RDF
2. XML-based Syntax of RDF
3. Basic Concepts of RDF Schema
4. Τhe Language of RDF Schema
5. The Namespaces of RDF and RDF Schema
6. Axiomatic Semantics for RDF and RDFS
7. Direct Semantics based on Inference Rules
8. Querying of RDF/RDFS Documents using SPARQL
Chapter 3 A Semantic Web Primer
87
Axiomatic 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
Chapter 3 A Semantic Web Primer
88
The Approach
 All language primitives in RDF and RDF Schema are
represented by constants:
– Resource, Class, Property, subClassOf, etc.
 A few predefined predicates are used as a
foundation for expressing relationships between the
constants
 We use predicate logic with equality
 Variable names begin with ?
 All axioms are implicitly universally quantified
Chapter 3 A Semantic Web Primer
89
An Auxiliary Axiomatisation of Lists
 Function symbols:
– nil (empty list)
– cons(x,l) (adds an element to the front of the list)
– first(l) (returns the first element)
– rest(l) (returns the rest of the list)
 Predicate symbols:
– item(x,l) (tests if an element occurs in the list)
– list(l) (tests whether l is a list)
 Lists are used to represent containers in RDF
Chapter 3 A Semantic Web Primer
90
Basic 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)
Chapter 3 A Semantic Web Primer
91
RDF Classes
 Constants: Class, Resource, Property, Literal
– All classes are instances of Class
Type(Class,Class)
Type(Resource,Class)
Type(Property,Class)
Type(Literal,Class)
Chapter 3 A Semantic Web Primer
92
RDF 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)
Chapter 3 A Semantic Web Primer
93
The 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))
Chapter 3 A Semantic Web Primer
94
The Auxiliary FuncProp Property
 P is a functional property if, and only if,
– it is a property, and
– there are no x, y1 and y2 with P(x,y1), P(x,y2 ) and
y1y2
Type(?p, FuncProp) 
(Type(?p, Property) 
?r ?v1 ?v2
(PropVal(?p,?r,?v1) 
PropVal(?p,?r,?v2)  ?v1 = ?v2))
Chapter 3 A Semantic Web Primer
95
Containers
 Containers are lists:
Type(?c,Container)  list(?c)
 Containers are bags or sequences or alternatives:
Type(?c,Container) 
(Type(?c,Bag)  Type(?c,Seq)  Type(?c,Alt))
 Bags and sequences are disjoint:
¬(Type(?x,Bag)  Type(?x,Seq))
Chapter 3 A Semantic Web Primer
96
Containers (2)
 For every natural number n > 0, there is the selector
_n, which selects the nth element of a container
 It is a functional property:
Type(_n,FuncProp)
 It applies to containers only:
PropVal(_n,?c,?o)  Type(?c,Container)
Chapter 3 A Semantic Web Primer
97
Subclass
 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')))
Chapter 3 A Semantic Web Primer
98
Subproperty
 P is a subproperty of P', if P'(x,y) is true whenever
P(x,y) is true:
Type(subPropertyOf,Property)
PropVal(subPropertyOf,?p,?p') 
(Type(?p,Property)  Type(?p',Property) 
?r ?v (PropVal(?p,?r,?v) 
PropVal(?p',?r,?v)))
Chapter 3 A Semantic Web Primer
99
Domain 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))
Chapter 3 A Semantic Web Primer
100
Lecture Outline
1. Basic Ideas of RDF
2. XML-based Syntax of RDF
3. Basic Concepts of RDF Schema
4. Τhe Language of RDF Schema
5. The Namespaces of RDF and RDF Schema
6. Axiomatic Semantics for RDF and RDFS
7. Direct Semantics based on Inference Rules
8. Querying of RDF/RDFS Documents using SPARQL
Chapter 3 A Semantic Web Primer
101
Semantics 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
Chapter 3 A Semantic Web Primer
102
Examples of Inference Rules
IF E contains the triple (?x,?p,?y)
THEN E also contains (?p,rdf:type,rdf:property)
IF E contains the triples (?u,rdfs:subClassOf,?v) and
(?v,rdfs:subclassOf,?w)
THEN E also contains the triple
(?u,rdfs:subClassOf,?w)
IF E contains the triples (?x,rdf:type,?u) and
(?u,rdfs:subClassOf,?v)
THEN E also contains the triple (?x,rdf:type,?v)
Chapter 3 A Semantic Web Primer
103
Examples 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,rdfs:range,?u)
THEN E also contains the triple (?y,rdf:type,?u)
Chapter 3 A Semantic Web Primer
104
Lecture Outline
1. Basic Ideas of RDF
2. XML-based Syntax of RDF
3. Basic Concepts of RDF Schema
4. Τhe Language of RDF Schema
5. The Namespaces of RDF and RDF Schema
6. Axiomatic Semantics for RDF and RDFS
7. Direct Semantics based on Inference Rules
8. Querying of RDF/RDFS Documents using SPARQL
Chapter 3 A Semantic Web Primer
105
Why 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 XPath queries,
e.g.
– //uni:lecturer/uni:title if uni:title element
– //uni:lecturer/@uni:title if uni:title attribute
– Both XML representations equivalent!
SPARQL Basic Queries
 SPARQL is based on matching graph patterns
 The simplest graph pattern is the triple pattern :
- like an RDF triple, but with the possibility of a
variable instead of an RDF term in the subject,
predicate, or object positions
 Combining triple patterns gives a basic graph
pattern, where an exact match to a graph is
needed to fulfill a pattern
Examples
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?c
WHERE
{
?c rdf:type rdfs:Class .
}
 Retrieves all triple patterns, where:
-the property is rdf:type
-the object is rdfs:Class
 Which means that it retrieves all classes
Examples (2)
 Get all instances of a particular class (e.g. course) :
(declaration of rdf, rdfs prefixes omitted for brevity)
PREFIX uni: <http://www.mydomain.org/uni-ns#>
SELECT ?i
WHERE
{
?i rdf:type uni:course .
}
Chapter 3 A Semantic Web Primer
109
Using select-from-where
 As in SQL, SPARQL queries have a SELECT-FROM-WHERE
structure:
– SELECT specifies the projection: the number and order of retrieved
data
– FROM is used to specify the source being queried (optional)
– WHERE imposes constraints on possible solutions in the form of
graph pattern templates and boolean constraints
 Retrieve all phone numbers of staff members:
SELECT ?x ?y
WHERE
{ ?x uni:phone ?y .}
 Here ?x and ?y are variables, and ?x uni:phone ?y represents a
resource-property-value triple pattern
Chapter 3 A Semantic Web Primer
110
Implicit Join
 Retrieve all lecturers and their phone numbers:
SELECT ?x ?y
WHERE
{ ?x rdf:type uni:Lecturer ;
uni:phone ?y . }
 Implicit join: We restrict the second pattern only to those triples,
the resource of which is in the variable ?x
– Here we use a syntax shorcut as well: a semicolon indicates that the
following triple shares its subject with the previous one
Implicit join (2)
 The previous query is equivalent to writing:
SELECT ?x ?y
WHERE
{
?x rdf:type uni:Lecturer .
?x uni:phone ?y .
}
Chapter 3 A Semantic Web Primer
112
Explicit Join
 Retrieve the name of all courses taught by the lecturer
with ID 949352
SELECT ?n
WHERE
{
?x rdf:type uni:Course ;
uni:isTaughtBy :949352 .
?c uni:name ?n .
FILTER (?c = ?x) .
}
Optional Patterns
<uni:lecturer rdf:about=“949352”>
<uni:name>Grigoris Antoniou</uni:name>
</uni:lecturer>
<uni:professor rdf:about=“94318”>
<uni:name>David Billington</uni:name>
<uni:email>david@work.example.org</uni:email>
</uni:professor>
 For one lecturer it only lists the name
 For the other it also lists the email address
Chapter 3 A Semantic Web Primer
113
Optional Patterns (2)
 All lecturers and their email addresses:
SELECT ?name ?email
WHERE
{ ?x rdf:type uni:Lecturer ;
uni:name ?name ;
uni:email ?email .
}
Chapter 3 A Semantic Web Primer
114
Optional Patterns (3)
 The result of the previous query would
be:
 Grigoris Antoniou is listed as a lecturer,
but he has no e-mail address
Chapter 3 A Semantic Web Primer
115
?name ?email
David Billington david@work.example.org
Optional Patterns (4)
 As a solution we can adapt the query to use
an optional pattern:
SELECT ?name ?email
WHERE
{ ?x rdf:type uni:Lecturer ;
uni:name ?name .
OPTIONAL { x? uni:email ?email }
}
Chapter 3 A Semantic Web Primer
116
Optional Patterns (5)
 The meaning is roughly “give us the names
of lecturers, and if known also their e-mail
address”
 The result looks like this:
Chapter 3 A Semantic Web Primer
117
?name ?email
Grigoris Antoniou
David Billington david@work.example.org
Chapter 3 A Semantic Web Primer
118
Summary
 RDF provides a foundation for representing and
processing metadata
 RDF has a graph-based data model
 RDF has an XML-based syntax to support syntactic
interoperability
– XML and RDF complement each other because RDF
supports semantic interoperability
 RDF has a decentralized philosophy and allows
incremental building of knowledge, and its sharing
and reuse
Chapter 3 A Semantic Web Primer
119
Summary (2)
 RDF is domain-independent
- RDF Schema provides a mechanism for describing specific
domains
 RDF Schema is a primitive ontology language
– It offers certain modelling primitives with fixed meaning
 Key concepts of RDF Schema are class, subclass
relations, property, subproperty relations, and
domain and range restrictions
 There exist query languages for RDF and RDFS,
including SPARQL
Chapter 3 A Semantic Web Primer
120
Points for Discussion in Subsequent
Chapters
 RDF Schema is quite primitive as a
modelling language for the Web
 Many desirable modelling primitives are
missing
 Therefore we need an ontology layer on top
of RDF and RDF Schema

More Related Content

Similar to semantic web resource description framework (20)

PPTX
SNSW CO3.pptx
harishdhanukonda48
 
PPT
A hands on overview of the semantic web
Marakana Inc.
 
PPTX
Hacia la Internet del Futuro: Web Semántica y Open Linked Data, Parte 2
Diego López-de-Ipiña González-de-Artaza
 
PPTX
Infromation Reprentation, Structured Data and Semantics
Yogendra Tamang
 
PPT
Intro semanticweb
ultimate007
 
PPT
Semantic web
tariq1352
 
ODP
Riding the Semantic Web
Matthias Vandermaesen
 
PDF
Introduction to RDF
Dr Sukhpal Singh Gill
 
PPT
ontology.ppt
Prerak10
 
PDF
A Hands On Overview Of The Semantic Web
Shamod Lacoul
 
PDF
An introduction to Semantic Web and Linked Data
Fabien Gandon
 
PPTX
Introduction to the Semantic Web
Tomek Pluskiewicz
 
ODP
Building a semantic website
CJ Jenkins
 
PPTX
Sem webmaubeuge
Jose Emilio Labra Gayo
 
PPT
RDF briefing
Frank van Harmelen
 
PDF
W3C Tutorial on Semantic Web and Linked Data at WWW 2013
Fabien Gandon
 
PDF
An introduction to Semantic Web and Linked Data
Gabriela Agustini
 
PDF
An introduction to Semantic Web and Linked Data
Gabriela Agustini
 
PDF
Semantic Web and Web 3.0 - Web Technologies (1019888BNR)
Beat Signer
 
PPT
A Semantic Multimedia Web (Part 2)
Raphael Troncy
 
SNSW CO3.pptx
harishdhanukonda48
 
A hands on overview of the semantic web
Marakana Inc.
 
Hacia la Internet del Futuro: Web Semántica y Open Linked Data, Parte 2
Diego López-de-Ipiña González-de-Artaza
 
Infromation Reprentation, Structured Data and Semantics
Yogendra Tamang
 
Intro semanticweb
ultimate007
 
Semantic web
tariq1352
 
Riding the Semantic Web
Matthias Vandermaesen
 
Introduction to RDF
Dr Sukhpal Singh Gill
 
ontology.ppt
Prerak10
 
A Hands On Overview Of The Semantic Web
Shamod Lacoul
 
An introduction to Semantic Web and Linked Data
Fabien Gandon
 
Introduction to the Semantic Web
Tomek Pluskiewicz
 
Building a semantic website
CJ Jenkins
 
Sem webmaubeuge
Jose Emilio Labra Gayo
 
RDF briefing
Frank van Harmelen
 
W3C Tutorial on Semantic Web and Linked Data at WWW 2013
Fabien Gandon
 
An introduction to Semantic Web and Linked Data
Gabriela Agustini
 
An introduction to Semantic Web and Linked Data
Gabriela Agustini
 
Semantic Web and Web 3.0 - Web Technologies (1019888BNR)
Beat Signer
 
A Semantic Multimedia Web (Part 2)
Raphael Troncy
 

Recently uploaded (20)

PPTX
Mechanical Design of shell and tube heat exchangers as per ASME Sec VIII Divi...
shahveer210504
 
PDF
Digital water marking system project report
Kamal Acharya
 
PPTX
How Industrial Project Management Differs From Construction.pptx
jamespit799
 
PDF
Electrical Engineer operation Supervisor
ssaruntatapower143
 
PDF
3rd International Conference on Machine Learning and IoT (MLIoT 2025)
ClaraZara1
 
PPTX
MODULE 05 - CLOUD COMPUTING AND SECURITY.pptx
Alvas Institute of Engineering and technology, Moodabidri
 
PPTX
澳洲电子毕业证澳大利亚圣母大学水印成绩单UNDA学生证网上可查学历
Taqyea
 
PPTX
Knowledge Representation : Semantic Networks
Amity University, Patna
 
PPTX
Numerical-Solutions-of-Ordinary-Differential-Equations.pptx
SAMUKTHAARM
 
PPTX
Introduction to Internal Combustion Engines - Types, Working and Camparison.pptx
UtkarshPatil98
 
PDF
WD2(I)-RFQ-GW-1415_ Shifting and Filling of Sand in the Pond at the WD5 Area_...
ShahadathHossain23
 
PDF
REINFORCEMENT LEARNING IN DECISION MAKING SEMINAR REPORT
anushaashraf20
 
PDF
Data structures notes for unit 2 in computer science.pdf
sshubhamsingh265
 
PPTX
What is Shot Peening | Shot Peening is a Surface Treatment Process
Vibra Finish
 
PDF
methodology-driven-mbse-murphy-july-hsv-huntsville6680038572db67488e78ff00003...
henriqueltorres1
 
PPTX
Water Resources Engineering (CVE 728)--Slide 3.pptx
mohammedado3
 
PDF
Water Industry Process Automation & Control Monthly July 2025
Water Industry Process Automation & Control
 
PPTX
Worm gear strength and wear calculation as per standard VB Bhandari Databook.
shahveer210504
 
PDF
SERVERLESS PERSONAL TO-DO LIST APPLICATION
anushaashraf20
 
PDF
MODULE-5 notes [BCG402-CG&V] PART-B.pdf
Alvas Institute of Engineering and technology, Moodabidri
 
Mechanical Design of shell and tube heat exchangers as per ASME Sec VIII Divi...
shahveer210504
 
Digital water marking system project report
Kamal Acharya
 
How Industrial Project Management Differs From Construction.pptx
jamespit799
 
Electrical Engineer operation Supervisor
ssaruntatapower143
 
3rd International Conference on Machine Learning and IoT (MLIoT 2025)
ClaraZara1
 
MODULE 05 - CLOUD COMPUTING AND SECURITY.pptx
Alvas Institute of Engineering and technology, Moodabidri
 
澳洲电子毕业证澳大利亚圣母大学水印成绩单UNDA学生证网上可查学历
Taqyea
 
Knowledge Representation : Semantic Networks
Amity University, Patna
 
Numerical-Solutions-of-Ordinary-Differential-Equations.pptx
SAMUKTHAARM
 
Introduction to Internal Combustion Engines - Types, Working and Camparison.pptx
UtkarshPatil98
 
WD2(I)-RFQ-GW-1415_ Shifting and Filling of Sand in the Pond at the WD5 Area_...
ShahadathHossain23
 
REINFORCEMENT LEARNING IN DECISION MAKING SEMINAR REPORT
anushaashraf20
 
Data structures notes for unit 2 in computer science.pdf
sshubhamsingh265
 
What is Shot Peening | Shot Peening is a Surface Treatment Process
Vibra Finish
 
methodology-driven-mbse-murphy-july-hsv-huntsville6680038572db67488e78ff00003...
henriqueltorres1
 
Water Resources Engineering (CVE 728)--Slide 3.pptx
mohammedado3
 
Water Industry Process Automation & Control Monthly July 2025
Water Industry Process Automation & Control
 
Worm gear strength and wear calculation as per standard VB Bhandari Databook.
shahveer210504
 
SERVERLESS PERSONAL TO-DO LIST APPLICATION
anushaashraf20
 
MODULE-5 notes [BCG402-CG&V] PART-B.pdf
Alvas Institute of Engineering and technology, Moodabidri
 
Ad

semantic web resource description framework

  • 1. Chapter 3 A Semantic Web Primer 1 Chapter 3 Describing Web Resources in RDF Grigoris Antoniou Frank van Harmelen
  • 2. Chapter 3 A Semantic Web Primer 2 Lecture Outline 1. Basic Ideas of RDF 2. XML-based Syntax of RDF 3. Basic Concepts of RDF Schema 4. Τhe Language of RDF Schema 5. The Namespaces of RDF and RDF Schema 6. Axiomatic Semantics for RDF and RDFS 7. Direct Semantics based on Inference Rules 8. Querying of RDF/RDFS Documents using SPARQL
  • 3. Chapter 3 A Semantic Web Primer 3 Drawbacks of XML  XML is a universal metalanguage for defining markup  It provides a uniform framework for interchange of data and metadata between applications  However, XML does not provide any means of talking about the semantics (meaning) of data  E.g., there is no intended meaning associated with the nesting of tags – It is up to each application to interpret the nesting.
  • 4. Chapter 3 A Semantic Web Primer 4 Nesting of Tags in XML David Billington is a lecturer of Discrete Maths <course name="Discrete Maths"> <lecturer>David Billington</lecturer> </course> <lecturer name="David Billington"> <teaches>Discrete Maths</teaches> </lecturer> Opposite nesting, same information!
  • 5. Chapter 3 A Semantic Web Primer 5 Basic 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
  • 6. Chapter 3 A Semantic Web Primer 6 Basic Ideas of RDF (2)  The fundamental concepts of RDF are: – resources – properties – statements
  • 7. Chapter 3 A Semantic Web Primer 7 Resources  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
  • 8. Chapter 3 A Semantic Web Primer 8 Properties  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
  • 9. Chapter 3 A Semantic Web Primer 9 Statements  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)
  • 10. Chapter 3 A Semantic Web Primer 10 Three 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
  • 11. Chapter 3 A Semantic Web Primer 11 Statements as Triples (http://www.cit.gu.edu.au/~db, http://www.mydomain.org/site-owner, #David Billington)  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)
  • 12. Chapter 3 A Semantic Web Primer 12 XML 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
  • 13. Chapter 3 A Semantic Web Primer 13 A Set of Triples as a Semantic Net
  • 14. Chapter 3 A Semantic Web Primer 14 Statements 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
  • 15. Chapter 3 A Semantic Web Primer 15 Statements in XML (2) <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mydomain="http://www.mydomain.org/my-rdf-ns"> <rdf:Description rdf:about="http://www.cit.gu.edu.au/~db"> <mydomain:site-owner rdf:resource=“#David Billington“/> </rdf:Description> </rdf:RDF>
  • 16. Chapter 3 A Semantic Web Primer 16 Statements in XML (3)  An RDF document is represented by an XML element with the tag rdf:RDF  The content of this element is a number of descriptions, which use rdf:Description tags.  Every description makes a statement about a resource, identified in 3 ways: – an about attribute, referencing an existing resource – an ID attribute, creating a new resource – without a name, creating an anonymous resource
  • 17. Chapter 3 A Semantic Web Primer 17 Statements in XML (4)  The rdf:Description element makes a statement about the resource http://www.cit.gu.edu.au/~db  Within the description – the property is used as a tag – the content is the value of the property
  • 18. Chapter 3 A Semantic Web Primer 18 Reification  In RDF it is possible to make statements about statements – Grigoris believes that David Billington is the creator of http://www.cit.gu.edu.au/~db  Such statements can be used to describe belief or trust in other statements  The solution is to assign a unique identifier to each statement – It can be used to refer to the statement
  • 19. Chapter 3 A Semantic Web Primer 19 Reification (2)  Introduce an auxiliary object (e.g. belief1)  relate it to each of the 3 parts of the original statement through the properties subject, predicate and object  In the preceding example – subject of belief1 is David Billington – predicate of belief1 is creator – object of belief1 is http://www.cit.gu.edu.au/~db
  • 20. Chapter 3 A Semantic Web Primer 20 Data Types  Data types are used in programming languages to allow interpretation  In RDF, typed literals are used, if necessary (#David Billington, http://www.mydomain.org/age, “27”^http://www.w3.org/2001/XMLSchema #integer)
  • 21. Chapter 3 A Semantic Web Primer 21 Data Types (2)  ^^-notation indicates the type of a literal  In practice, the most widely used data typing scheme will be the one by XML Schema – But the use of any externally defined data typing scheme is allowed in RDF documents  XML Schema predefines a large range of data types – E.g. Booleans, integers, floating-point numbers, times, dates, etc.
  • 22. Chapter 3 A Semantic Web Primer 22 A 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
  • 23. Chapter 3 A Semantic Web Primer 23 A 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:
  • 24. Chapter 3 A Semantic Web Primer 24 A 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
  • 25. Chapter 3 A Semantic Web Primer 25 A Critical View of RDF: Reification  The reification mechanism is quite powerful  It appears misplaced in a simple language like RDF  Making statements about statements introduces a level of complexity that is not necessary for a basic layer of the Semantic Web  Instead, it would have appeared more natural to include it in more powerful layers, which provide richer representational capabilities
  • 26. Chapter 3 A Semantic Web Primer 26 A Critical View of RDF: Summary  RDF has its idiosyncrasies and is not an optimal modeling language but  It is already a de facto standard  It has sufficient expressive power – At least as for more layers to build on top  Using RDF offers the benefit that information maps unambiguously to a model
  • 27. Chapter 3 A Semantic Web Primer 27 Lecture Outline 1. Basic Ideas of RDF 2. XML-based Syntax of RDF 3. Basic Concepts of RDF Schema 4. Τhe Language of RDF Schema 5. The Namespaces of RDF and RDF Schema 6. Axiomatic Semantics for RDF and RDFS 7. Direct Semantics based on Inference Rules 8. Querying of RDF/RDFS Documents using SPARQL
  • 28. Chapter 3 A Semantic Web Primer 28 XML-Based Syntax of RDF  An RDF document consists of an rdf:RDF 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
  • 29. Chapter 3 A Semantic Web Primer 29 Example of University Courses <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:uni="http://www.mydomain.org/uni-ns"> <rdf:Description rdf:about="949318"> <uni:name>David Billington</uni:name> <uni:title>Associate Professor</uni:title> <uni:age rdf:datatype="&xsd:integer">27<uni:age> </rdf:Description>
  • 30. Chapter 3 A Semantic Web Primer 30 Example of University Courses (2) <rdf:Description rdf:about="CIT1111"> <uni:courseName>Discrete Maths</uni:courseName> <uni:isTaughtBy>David Billington</uni:isTaughtBy> </rdf:Description> <rdf:Description rdf:about="CIT2112"> <uni:courseName>Programming III</uni:courseName> <uni:isTaughtBy>Michael Maher</uni:isTaughtBy> </rdf:Description> </rdf:RDF>
  • 31. Chapter 3 A Semantic Web Primer 31 rdf:about versus rdf:ID  An element rdf:Description has – an rdf:about attribute indicating that the resource has been “defined” elsewhere – An rdf:ID 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
  • 32. Chapter 3 A Semantic Web Primer 32 Property Elements  Content of rdf:Description elements <rdf:Description rdf:about="CIT3116"> <uni:courseName>Knowledge Representation</uni:courseName> <uni:isTaughtBy>Grigoris Antoniou</uni:isTaughtBy> </rdf:Description>  uni:courseName and uni:isTaughtBy define two property-value pairs for CIT3116 (two RDF statements) – read conjunctively
  • 33. Chapter 3 A Semantic Web Primer 33 Data Types  The attribute rdf:datatype="&xsd:integer" is used to indicate the data type of the value of the age property <rdf:Description rdf:about="949318"> <uni:name>David Billington</uni:name> <uni:title>Associate Professor</uni:title> <uni:age rdf:datatype="&xsd:integer">27<uni:age> </rdf:Description>
  • 34. Chapter 3 A Semantic Web Primer 34 Data Types (2)  The age property has been defined to have "&xsd:integer" as its range – It is still required to indicate the type of the value of this property each time it is used – This is to ensure that an RDF processor can assign the correct type of the property value even if it has not "seen" the corresponding RDF Schema definition before – This scenario is quite likely to occur in the unrestricted WWW
  • 35. Chapter 3 A Semantic Web Primer 35 The rdf:resource 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 rdf:resource attribute
  • 36. Chapter 3 A Semantic Web Primer 36 The rdf:resource Attribute (2) <rdf:Description rdf:about="CIT1111"> <uni:courseName>Discrete Mathematics</uni:courseName> <uni:isTaughtBy rdf:resource="949318"/> </rdf:Description> <rdf:Description rdf:about="949318"> <uni:name>David Billington</uni:name> <uni:title>Associate Professor</uni:title> </rdf:Description>
  • 37. Chapter 3 A Semantic Web Primer 37 Referencing Externally Defined Resources  E.g., to refer the externally defined resource CIT1111: http://www.mydomain.org/uni-ns#CIT1111 as the value of rdf:about  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
  • 38. Chapter 3 A Semantic Web Primer 38 Nested Descriptions: Example <rdf:Description rdf:about="CIT1111"> <uni:courseName>Discrete Maths</uni:courseName> <uni:isTaughtBy> <rdf:Description rdf:ID="949318"> <uni:name>David Billington</uni:name> <uni:title>Associate Professor</uni:title> </rdf:Description> </uni:isTaughtBy> </rdf:Description>
  • 39. Chapter 3 A Semantic Web Primer 39 Nested 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
  • 40. Chapter 3 A Semantic Web Primer 40 Introducing some Structure to RDF Documents using the rdf:type Element <rdf:Description rdf:ID="CIT1111"> <rdf:type rdf:resource="http://www.mydomain.org/uni- ns#course"/> <uni:courseName>Discrete Maths</uni:courseName> <uni:isTaughtBy rdf:resource="#949318"/> </rdf:Description> <rdf:Description rdf:ID="949318"> <rdf:type rdf:resource="http://www.mydomain.org/uni- ns#lecturer"/> <uni:name>David Billington</uni:name> <uni:title>Associate Professor</uni:title> </rdf:Description>
  • 41. Chapter 3 A Semantic Web Primer 41 Abbreviated Syntax  Simplification rules: 1. Childless property elements within description elements may be replaced by XML attributes 2. For description elements with a typing element we can use the name specified in the rdf:type element instead of rdf:Description  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
  • 42. Chapter 3 A Semantic Web Primer 42 Abbreviated Syntax: Example <rdf:Description rdf:ID="CIT1111"> <rdf:type rdf:resource="http://www.mydomain.org/uni- ns#course"/> <uni:courseName>Discrete Maths</uni:courseName> <uni:isTaughtBy rdf:resource="#949318"/> </rdf:Description>
  • 43. Chapter 3 A Semantic Web Primer 43 Application of First Simplification Rule <rdf:Description rdf:ID="CIT1111" uni:courseName="Discrete Maths"> <rdf:type rdf:resource="http://www.mydomain.org/uni- ns#course"/> <uni:isTaughtBy rdf:resource="#949318"/> </rdf:Description>
  • 44. Chapter 3 A Semantic Web Primer 44 Application of 2nd Simplification Rule <uni:course rdf:ID="CIT1111" uni:courseName="Discrete Maths"> <uni:isTaughtBy rdf:resource="#949318"/> </uni:course>
  • 45. Chapter 3 A Semantic Web Primer 45 Container 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 rdf:li
  • 46. Chapter 3 A Semantic Web Primer 46 Three Types of Container Elements  rdf:Bag an unordered container, allowing multiple occurrences – E.g. members of the faculty board, documents in a folder  rdf:Seq 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)  rdf:Alt a set of alternatives – E.g. the document home and mirrors, translations of a document in various languages
  • 47. Chapter 3 A Semantic Web Primer 47 Example for a Bag <uni:lecturer rdf:ID="949352" uni:name="Grigoris Antoniou" uni:title="Professor"> <uni:coursesTaught> <rdf:Bag> <rdf:_1 rdf:resource="#CIT1112"/> <rdf:_2 rdf:resource="#CIT3116"/> </rdf:Bag> </uni:coursesTaught> </uni:lecturer>
  • 48. Chapter 3 A Semantic Web Primer 48 Example for Alternative <uni:course rdf:ID="CIT1111" uni:courseName="Discrete Mathematics"> <uni:lecturer> <rdf:Alt> <rdf:li rdf:resource="#949352"/> <rdf:li rdf:resource="#949318"/> </rdf:Alt> </uni:lecturer> </uni:course>
  • 49. Chapter 3 A Semantic Web Primer 49 Rdf:ID Attribute for Container Elements <uni:lecturer rdf:ID="949318" uni:name="David Billington"> <uni:coursesTaught> <rdf:Bag rdf:ID="DBcourses"> <rdf:_1 rdf:resource="#CIT1111"/> <rdf:_2 rdf:resource="#CIT3112"/> </rdf:Bag> </uni:coursesTaught> </uni:lecturer>
  • 50. Chapter 3 A Semantic Web Primer 50 RDF 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: rdf:List, rdf:first, rdf:rest and rdf:nil
  • 51. Chapter 3 A Semantic Web Primer 51 RDF Collections (2)  Shorthand syntax: – "Collection" value for the rdf:parseType attribute: <rdf:Description rdf:about="#CIT2112"> <uni:isTaughtBy rdf:parseType="Collection"> <rdf:Description rdf:about="#949111"/> <rdf:Description rdf:about="#949352"/> <rdf:Description rdf:about="#949318"/> </uni:isTaughtBy> </rdf:Description>
  • 52. Chapter 3 A Semantic Web Primer 52 Reification  Sometimes we wish to make statements about other statements  We must be able to refer to a statement using an identifier  RDF allows such reference through a reification mechanism which turns a statement into a resource
  • 53. Chapter 3 A Semantic Web Primer 53 Reification Example <rdf:Description rdf:about="#949352"> <uni:name>Grigoris Antoniou</uni:name> </rdf:Description>  reifies as <rdf:Statement rdf:ID="StatementAbout949352"> <rdf:subject rdf:resource="#949352"/> <rdf:predicate rdf:resource="http://www.mydomain.org/ uni-ns#name"/> <rdf:object>Grigoris Antoniou</rdf:object> </rdf:Statement>
  • 54. Chapter 3 A Semantic Web Primer 54 Reification (2)  rdf:subject, rdf:predicate and rdf:object allow us to access the parts of a statement  The ID of the statement can be used to refer to it, as can be done for any description  We write an rdf:Description if we don’t want to talk about a statement further  We write an rdf:Statement if we wish to refer to a statement
  • 55. Chapter 3 A Semantic Web Primer 55 Lecture Outline 1. Basic Ideas of RDF 2. XML-based Syntax of RDF 3. Basic Concepts of RDF Schema 4. Τhe Language of RDF Schema 5. The Namespaces of RDF and RDF Schema 6. Axiomatic Semantics for RDF and RDFS 7. Direct Semantics based on Inference Rules 8. Querying of RDF/RDFS Documents using SPARQL
  • 56. Chapter 3 A Semantic Web Primer 56 Basic 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
  • 57. Chapter 3 A Semantic Web Primer 57 Classes 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 rdf:type
  • 58. Chapter 3 A Semantic Web Primer 58 Why Classes are Useful  Impose restrictions on what can be stated in an RDF document using the schema – As in programming languages – E.g. A+1, where A is an array – Disallow nonsense from being stated
  • 59. Chapter 3 A Semantic Web Primer 59 Nonsensical 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)
  • 60. Chapter 3 A Semantic Web Primer 60 Class 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
  • 61. Chapter 3 A Semantic Web Primer 61 Class Hierarchy Example
  • 62. Chapter 3 A Semantic Web Primer 62 Inheritance 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
  • 63. Chapter 3 A Semantic Web Primer 63 Property 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
  • 64. Chapter 3 A Semantic Web Primer 64 RDF Layer vs RDF Schema Layer  Discrete Mathematics is taught by David Billington  The schema is itself written in a formal language, RDF Schema, that can express its ingredients: – subClassOf, Class, Property, subPropertyOf, Resource, etc.
  • 65. Chapter 3 A Semantic Web Primer 65 RDF Layer vs RDF Schema Layer (2)
  • 66. Chapter 3 A Semantic Web Primer 66 Lecture Outline 1. Basic Ideas of RDF 2. XML-based Syntax of RDF 3. Basic Concepts of RDF Schema 4. Τhe Language of RDF Schema 5. The Namespaces of RDF and RDF Schema 6. Axiomatic Semantics for RDF and RDFS 7. Direct Semantics based on Inference Rules 8. Querying of RDF/RDFS Documents using SPARQL
  • 67. Chapter 3 A Semantic Web Primer 67 Lecture Outline 1. Introduction 2. Detailed Description of XML 3. Structuring a) DTDs b) XML Schema 4. Namespaces 5. Accessing, querying XML documents: XPath 6. Transformations: XSLT
  • 68. Chapter 3 A Semantic Web Primer 68 RDF Schema in RDF  The modeling primitives of RDF Schema are defined using resources and properties (RDF itself is used!)  To declare that “lecturer” is a subclass of “academic staff member” – Define resources lecturer, academicStaffMember, and subClassOf – define property subClassOf – Write triple (lecturer,subClassOf,academicStaffMember)  We use the XML-based syntax of RDF
  • 69. Chapter 3 A Semantic Web Primer 69 Core Classes  rdfs:Resource, the class of all resources  rdfs:Class, the class of all classes  rdfs:Literal, the class of all literals (strings)  rdf:Property, the class of all properties.  rdf:Statement, the class of all reified statements
  • 70. Chapter 3 A Semantic Web Primer 70 Core Properties  rdf:type, which relates a resource to its class – The resource is declared to be an instance of that class  rdfs:subClassOf, which relates a class to one of its superclasses – All instances of a class are instances of its superclass  rdfs:subPropertyOf, relates a property to one of its superproperties
  • 71. Chapter 3 A Semantic Web Primer 71 Core Properties (2)  rdfs:domain, 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  rdfs:range, which specifies the range of a property P – The class of those resources that may appear as values in a triple with predicate P
  • 72. Chapter 3 A Semantic Web Primer 72 Examples <rdfs:Class rdf:about="#lecturer"> <rdfs:subClassOf rdf:resource="#staffMember"/> </rdfs:Class> <rdf:Property rdf:ID="phone"> <rdfs:domain rdf:resource="#staffMember"/> <rdfs:range rdf:resource="http://www.w3.org/ 2000/01/rdf-schema#Literal"/> </rdf:Property>
  • 73. Chapter 3 A Semantic Web Primer 73 Relationships Between Core Classes and Properties  rdfs:subClassOf and rdfs:subPropertyOf are transitive, by definition  rdfs:Class is a subclass of rdfs:Resource – Because every class is a resource  rdfs:Resource is an instance of rdfs:Class – rdfs:Resource is the class of all resources, so it is a class  Every class is an instance of rdfs:Class – For the same reason
  • 74. Chapter 3 A Semantic Web Primer 74 Reification and Containers  rdf:subject, relates a reified statement to its subject  rdf:predicate, relates a reified statement to its predicate  rdf:object, relates a reified statement to its object  rdf:Bag, the class of bags  rdf:Seq, the class of sequences  rdf:Alt, the class of alternatives  rdfs:Container, which is a superclass of all container classes, including the three above
  • 75. Chapter 3 A Semantic Web Primer 75 Utility Properties  rdfs:seeAlso relates a resource to another resource that explains it  rdfs:isDefinedBy is a subproperty of rdfs:seeAlso and relates a resource to the place where its definition, typically an RDF schema, is found  rdfs:comment. Comments, typically longer text, can be associated with a resource  rdfs:label. A human-friendly label (name) is associated with a resource
  • 76. Chapter 3 A Semantic Web Primer 76 Example: A University <rdfs:Class rdf:ID="lecturer"> <rdfs:comment> The class of lecturers. All lecturers are academic staff members. </rdfs:comment> <rdfs:subClassOf rdf:resource="#academicStaffMember"/> </rdfs:Class>
  • 77. Chapter 3 A Semantic Web Primer 77 Example: A University (2) <rdfs:Class rdf:ID="course"> <rdfs:comment>The class of courses</rdfs:comment> </rdfs:Class> <rdf:Property rdf:ID="isTaughtBy"> <rdfs:comment> Inherits its domain ("course") and range ("lecturer") from its superproperty "involves" </rdfs:comment> <rdfs:subPropertyOf rdf:resource="#involves"/> </rdf:Property>
  • 78. Chapter 3 A Semantic Web Primer 78 Example: A University (3) <rdf:Property rdf:ID="phone"> <rdfs:comment> It is a property of staff members and takes literals as values. </rdfs:comment> <rdfs:domain rdf:resource="#staffMember"/> <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf- schema#Literal"/> </rdf:Property>
  • 79. Chapter 3 A Semantic Web Primer 79 Class Hierarchy for the Motor Vehicles Example
  • 80. Chapter 3 A Semantic Web Primer 80 Lecture Outline 1. Basic Ideas of RDF 2. XML-based Syntax of RDF 3. Basic Concepts of RDF Schema 4. Τhe Language of RDF Schema 5. The Namespaces of RDF and RDF Schema 6. Axiomatic Semantics for RDF and RDFS 7. Direct Semantics based on Inference Rules 8. Querying of RDF/RDFS Documents using SPARQL
  • 81. Chapter 3 A Semantic Web Primer 81 The Namespace of RDF <rdfs:Class rdf:ID="Statement" rdfs:comment="The class of triples consisting of a predicate, a subject and an object (that is, a reified statement)"/> <rdfs:Class rdf:ID="Property" rdfs:comment="The class of properties"/> <rdfs:Class rdf:ID="Bag" rdfs:comment="The class of unordered collections"/>
  • 82. Chapter 3 A Semantic Web Primer 82 The Namespace of RDF (2) <rdf:Property rdf:ID="predicate" rdfs:comment="Identifies the property of a statementin reified form"/> <rdfs:domain rdf:resource="#Statement"/> <rdfs:range rdf:resource="#Property"/> </rdf:Property>
  • 83. Chapter 3 A Semantic Web Primer 83 The Namespace of RDF Schema <rdfs:Class rdf:ID="Resource" rdfs:comment="The most general class"/> <rdfs:Class rdf:ID="Class" rdfs:comment="The concept of classes. All classes are resources"/> <rdfs:subClassOf rdf:resource="#Resource"/> </rdfs:Class>
  • 84. Chapter 3 A Semantic Web Primer 84 The Namespace of RDF Schema (2) <rdf:Property rdf:ID="subPropertyOf"> <rdfs:domain rdf:resource="http://www.w3.org/ 1999/02/22-rdf-syntax-ns#Property"/> <rdfs:range rdf:resource="http://www.w3.org/ 1999/02/22-rdf-syntax-ns#Property"/> </rdf:Property> <rdf:Property rdf:ID="subClassOf"> <rdfs:domain rdf:resource="#Class"/> <rdfs:range rdf:resource="#Class"/> </rdf:Property>
  • 85. Chapter 3 A Semantic Web Primer 85 Namespace versus Semantics  Consider rdfs:subClassOf – The namespace specifies only that it applies to classes and has a class as a value – The meaning of being a subclass not expressed  The meaning cannot be expressed in RDF – If it could RDF Schema would be unnecessary  External definition of semantics required – Respected by RDF/RDFS processing software
  • 86. Chapter 3 A Semantic Web Primer 86 Lecture Outline 1. Basic Ideas of RDF 2. XML-based Syntax of RDF 3. Basic Concepts of RDF Schema 4. Τhe Language of RDF Schema 5. The Namespaces of RDF and RDF Schema 6. Axiomatic Semantics for RDF and RDFS 7. Direct Semantics based on Inference Rules 8. Querying of RDF/RDFS Documents using SPARQL
  • 87. Chapter 3 A Semantic Web Primer 87 Axiomatic 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
  • 88. Chapter 3 A Semantic Web Primer 88 The Approach  All language primitives in RDF and RDF Schema are represented by constants: – Resource, Class, Property, subClassOf, etc.  A few predefined predicates are used as a foundation for expressing relationships between the constants  We use predicate logic with equality  Variable names begin with ?  All axioms are implicitly universally quantified
  • 89. Chapter 3 A Semantic Web Primer 89 An Auxiliary Axiomatisation of Lists  Function symbols: – nil (empty list) – cons(x,l) (adds an element to the front of the list) – first(l) (returns the first element) – rest(l) (returns the rest of the list)  Predicate symbols: – item(x,l) (tests if an element occurs in the list) – list(l) (tests whether l is a list)  Lists are used to represent containers in RDF
  • 90. Chapter 3 A Semantic Web Primer 90 Basic 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)
  • 91. Chapter 3 A Semantic Web Primer 91 RDF Classes  Constants: Class, Resource, Property, Literal – All classes are instances of Class Type(Class,Class) Type(Resource,Class) Type(Property,Class) Type(Literal,Class)
  • 92. Chapter 3 A Semantic Web Primer 92 RDF 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)
  • 93. Chapter 3 A Semantic Web Primer 93 The 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))
  • 94. Chapter 3 A Semantic Web Primer 94 The Auxiliary FuncProp Property  P is a functional property if, and only if, – it is a property, and – there are no x, y1 and y2 with P(x,y1), P(x,y2 ) and y1y2 Type(?p, FuncProp)  (Type(?p, Property)  ?r ?v1 ?v2 (PropVal(?p,?r,?v1)  PropVal(?p,?r,?v2)  ?v1 = ?v2))
  • 95. Chapter 3 A Semantic Web Primer 95 Containers  Containers are lists: Type(?c,Container)  list(?c)  Containers are bags or sequences or alternatives: Type(?c,Container)  (Type(?c,Bag)  Type(?c,Seq)  Type(?c,Alt))  Bags and sequences are disjoint: ¬(Type(?x,Bag)  Type(?x,Seq))
  • 96. Chapter 3 A Semantic Web Primer 96 Containers (2)  For every natural number n > 0, there is the selector _n, which selects the nth element of a container  It is a functional property: Type(_n,FuncProp)  It applies to containers only: PropVal(_n,?c,?o)  Type(?c,Container)
  • 97. Chapter 3 A Semantic Web Primer 97 Subclass  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')))
  • 98. Chapter 3 A Semantic Web Primer 98 Subproperty  P is a subproperty of P', if P'(x,y) is true whenever P(x,y) is true: Type(subPropertyOf,Property) PropVal(subPropertyOf,?p,?p')  (Type(?p,Property)  Type(?p',Property)  ?r ?v (PropVal(?p,?r,?v)  PropVal(?p',?r,?v)))
  • 99. Chapter 3 A Semantic Web Primer 99 Domain 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))
  • 100. Chapter 3 A Semantic Web Primer 100 Lecture Outline 1. Basic Ideas of RDF 2. XML-based Syntax of RDF 3. Basic Concepts of RDF Schema 4. Τhe Language of RDF Schema 5. The Namespaces of RDF and RDF Schema 6. Axiomatic Semantics for RDF and RDFS 7. Direct Semantics based on Inference Rules 8. Querying of RDF/RDFS Documents using SPARQL
  • 101. Chapter 3 A Semantic Web Primer 101 Semantics 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
  • 102. Chapter 3 A Semantic Web Primer 102 Examples of Inference Rules IF E contains the triple (?x,?p,?y) THEN E also contains (?p,rdf:type,rdf:property) IF E contains the triples (?u,rdfs:subClassOf,?v) and (?v,rdfs:subclassOf,?w) THEN E also contains the triple (?u,rdfs:subClassOf,?w) IF E contains the triples (?x,rdf:type,?u) and (?u,rdfs:subClassOf,?v) THEN E also contains the triple (?x,rdf:type,?v)
  • 103. Chapter 3 A Semantic Web Primer 103 Examples 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,rdfs:range,?u) THEN E also contains the triple (?y,rdf:type,?u)
  • 104. Chapter 3 A Semantic Web Primer 104 Lecture Outline 1. Basic Ideas of RDF 2. XML-based Syntax of RDF 3. Basic Concepts of RDF Schema 4. Τhe Language of RDF Schema 5. The Namespaces of RDF and RDF Schema 6. Axiomatic Semantics for RDF and RDFS 7. Direct Semantics based on Inference Rules 8. Querying of RDF/RDFS Documents using SPARQL
  • 105. Chapter 3 A Semantic Web Primer 105 Why 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 XPath queries, e.g. – //uni:lecturer/uni:title if uni:title element – //uni:lecturer/@uni:title if uni:title attribute – Both XML representations equivalent!
  • 106. SPARQL Basic Queries  SPARQL is based on matching graph patterns  The simplest graph pattern is the triple pattern : - like an RDF triple, but with the possibility of a variable instead of an RDF term in the subject, predicate, or object positions  Combining triple patterns gives a basic graph pattern, where an exact match to a graph is needed to fulfill a pattern
  • 107. Examples PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?c WHERE { ?c rdf:type rdfs:Class . }  Retrieves all triple patterns, where: -the property is rdf:type -the object is rdfs:Class  Which means that it retrieves all classes
  • 108. Examples (2)  Get all instances of a particular class (e.g. course) : (declaration of rdf, rdfs prefixes omitted for brevity) PREFIX uni: <http://www.mydomain.org/uni-ns#> SELECT ?i WHERE { ?i rdf:type uni:course . }
  • 109. Chapter 3 A Semantic Web Primer 109 Using select-from-where  As in SQL, SPARQL queries have a SELECT-FROM-WHERE structure: – SELECT specifies the projection: the number and order of retrieved data – FROM is used to specify the source being queried (optional) – WHERE imposes constraints on possible solutions in the form of graph pattern templates and boolean constraints  Retrieve all phone numbers of staff members: SELECT ?x ?y WHERE { ?x uni:phone ?y .}  Here ?x and ?y are variables, and ?x uni:phone ?y represents a resource-property-value triple pattern
  • 110. Chapter 3 A Semantic Web Primer 110 Implicit Join  Retrieve all lecturers and their phone numbers: SELECT ?x ?y WHERE { ?x rdf:type uni:Lecturer ; uni:phone ?y . }  Implicit join: We restrict the second pattern only to those triples, the resource of which is in the variable ?x – Here we use a syntax shorcut as well: a semicolon indicates that the following triple shares its subject with the previous one
  • 111. Implicit join (2)  The previous query is equivalent to writing: SELECT ?x ?y WHERE { ?x rdf:type uni:Lecturer . ?x uni:phone ?y . }
  • 112. Chapter 3 A Semantic Web Primer 112 Explicit Join  Retrieve the name of all courses taught by the lecturer with ID 949352 SELECT ?n WHERE { ?x rdf:type uni:Course ; uni:isTaughtBy :949352 . ?c uni:name ?n . FILTER (?c = ?x) . }
  • 113. Optional Patterns <uni:lecturer rdf:about=“949352”> <uni:name>Grigoris Antoniou</uni:name> </uni:lecturer> <uni:professor rdf:about=“94318”> <uni:name>David Billington</uni:name> <uni:email>[email protected]</uni:email> </uni:professor>  For one lecturer it only lists the name  For the other it also lists the email address Chapter 3 A Semantic Web Primer 113
  • 114. Optional Patterns (2)  All lecturers and their email addresses: SELECT ?name ?email WHERE { ?x rdf:type uni:Lecturer ; uni:name ?name ; uni:email ?email . } Chapter 3 A Semantic Web Primer 114
  • 115. Optional Patterns (3)  The result of the previous query would be:  Grigoris Antoniou is listed as a lecturer, but he has no e-mail address Chapter 3 A Semantic Web Primer 115 ?name ?email David Billington [email protected]
  • 116. Optional Patterns (4)  As a solution we can adapt the query to use an optional pattern: SELECT ?name ?email WHERE { ?x rdf:type uni:Lecturer ; uni:name ?name . OPTIONAL { x? uni:email ?email } } Chapter 3 A Semantic Web Primer 116
  • 117. Optional Patterns (5)  The meaning is roughly “give us the names of lecturers, and if known also their e-mail address”  The result looks like this: Chapter 3 A Semantic Web Primer 117 ?name ?email Grigoris Antoniou David Billington [email protected]
  • 118. Chapter 3 A Semantic Web Primer 118 Summary  RDF provides a foundation for representing and processing metadata  RDF has a graph-based data model  RDF has an XML-based syntax to support syntactic interoperability – XML and RDF complement each other because RDF supports semantic interoperability  RDF has a decentralized philosophy and allows incremental building of knowledge, and its sharing and reuse
  • 119. Chapter 3 A Semantic Web Primer 119 Summary (2)  RDF is domain-independent - RDF Schema provides a mechanism for describing specific domains  RDF Schema is a primitive ontology language – It offers certain modelling primitives with fixed meaning  Key concepts of RDF Schema are class, subclass relations, property, subproperty relations, and domain and range restrictions  There exist query languages for RDF and RDFS, including SPARQL
  • 120. Chapter 3 A Semantic Web Primer 120 Points for Discussion in Subsequent Chapters  RDF Schema is quite primitive as a modelling language for the Web  Many desirable modelling primitives are missing  Therefore we need an ontology layer on top of RDF and RDF Schema