+
Disclaimer
License
A few examples from these slides has been taken from
This work is licensed under a
Creative Commons Attribution-Share Alike 3.0 License
(http://creativecommons.org/licenses/by-sa/3.0/)
Semantic Web for the working Ontologist. Chapter 6.
Some of the slides on the use of taxonomies are based on:
http://info.earley.com/webinar-replay-business-value-taxonomy-aug2012
+
Motivation
Motivations for semantic
technology
Making the web machine
understandable
Expressing knowledge
However, points 2 and 3 are not
possible with the technologies
seen so far
RDF doesn’t define
vocabularies, and
Different datasets may use
different URI’s to represent the
same kind of data
Reasoning with knowledge
+
What is an ontology language?
Specification of valid “axioms”
Specifications of vocabularies with “predefined” meaning in axioms
Informal: Topic Maps, UML diagrams
Formal examples: Predicate Logic, First Order Logic
Semantic Web examples:
RDFS
SWRL,
OWL
Different languages have different expressive power
Axioms allow to produce “inferences”
The more expressive power, more complex and costly the inferences
+
What is an ontology?
Collections of “axioms”
Describe the meaning of the vocabulary of a domain (e.g., an
area of expertise)
Expressed in an Ontology Language
Valuable on their own as knowledge repositories
In combination with data valuable to implement complex
behavior with little or no coding
+
RDFS
W3C standard for an ontology language
RDFS introduces resources (URIs) with a predefined meaning
Inference engines that support RDFS allow to take that
meaning into account
RDFS inferences extend the RDF graph by means of inference
and hence, affect query answering
RDFS is very simple compared to SWRL or OWL, however, it
is very useful in many context, allowing for increased
productivity, easy data integration and interesting AI
applications
+
Building blocks
New namespace rdfs:
<http://www.w3.org/2000/01/rdf-schema#>
New categories:
Commonly,
Class names
are nouns
Classes, resources that share something in common, allow us to
group things together. For example, Employee, Company.
Resources that identify classes have rdf:type rdfs:Class
Instances, resources that are “members” of a class
+
Building blocks (cont.)
Properties: Resources used as a predicate in statements
Commonly, Property names are
multiple words, expressing direction
and in camel-casing
+
RDFS Ontologies
RDFS Axioms
Are RDF triples!
RDFS ontology is an RDF graph!
An RDF graph may have a subgraph expressed in RDFS
We call the RDFS axioms/triples the Tbox of the ontology
(terminological information, predefined meaning)
The rest is the Abox of the ontology (plain data, no predefined
meaning)
+
Type propagation
RDFS vocabulary:
rdfs:subClassOf
Key notions
sub class (on the left)
super class (on the right)
Intuitive meaning, if :mariano is
an instance of subclass it is
also an instance of superclass
Formal meaning: subsets
Inference: type propagation
Similar to inheritance
in Object Oriented
formalisms
+
Type propagation
RDFS vocabulary:
rdfs:subClassOf
Key notions
sub class (on the left)
super class (on the right)
Intuitive meaning, if :mariano is
an instance of subclass it is
also an instance of superclass
Formal meaning: subsets
Inference: type propagation
Similar to inheritance
in Object Oriented
formalisms
+
Relation propagation
RDFS vocabulary:
rdfs:subPropertyOf
Key notions
sub property(on the left)
super property(on the right)
Intuitive meaning, if (x,y) are connected with subproperty
they are also connected with superproperty
Formal meaning: subsets (of binary tuples)
Inference: relationship propagation
+
Relation propagation
RDFS vocabulary:
rdfs:subPropertyOf
Key notions
sub property(on the left)
super property(on the right)
Intuitive meaning, if (x,y) are connected with subproperty
they are also connected with superproperty
Formal meaning: subsets (of binary tuples)
Inference: relationship propagation
+
Types by usage
RDFS vocabulary:
rdfs:domain, rdfs:range
Key notions
domain of a triple:
the subject
range of a triple:
the object
:p rdfs:domain :C > the domain of any
triple where :p is the predicate is an
instance of :C
(similar for rdfs:range)
Formal meaning:
if (x,y) in P, then x in :C
Inference: type assignment by property
usage
+
Types by usage
RDFS vocabulary:
rdfs:domain, rdfs:range
Key notions
domain of a triple:
the subject
range of a triple:
the object
:p rdfs:domain :C > the domain of any
triple where :p is the predicate is an
instance of :C
(similar for rdfs:range)
Formal meaning:
if (x,y) in P, then x in :C
Inference: type assignment by property
usage
+
Set intersection
Proper set intersection is not
possible in RDFS
However, expressing necessary
membership to multiple classes
is possible, i.e., A subset B AND
C
A rdfs:subClassOf B
A rdfs:subClassOf C
consider
x rdf:type A
+
Set intersection
Proper set intersection is not
possible in RDFS
However, expressing necessary
membership to multiple classes
is possible, i.e., A subset B AND
C
A rdfs:subClassOf B
A rdfs:subClassOf C
consider
x rdf:type A
+
Set intersection
Proper set intersection is not
possible in RDFS
However, expressing necessary
membership to multiple classes
is possible, i.e., A subset B AND
C
A rdfs:subClassOf B
A rdfs:subClassOf C
consider
x rdf:type A
One direction
only!
+
Set union
Proper set union is not possible
in RDFS
However, A OR B subsetOf C
B rdfs:subClassOf A
C rdfs:subClassOf A
consider
x rdf:type B
or
x rdf:type C
+
Set union
Proper set union is not possible
in RDFS
However, A OR B subsetOf C
B rdfs:subClassOf A
C rdfs:subClassOf A
consider
x rdf:type B
or
x rdf:type C
+
Last notes on RDFS axioms
Main new vocabulary:
rdfs:subClassOf
rdfs:subPropertyOf
rdfs:domain
rdfs:range
Different from CONSTRAINTS, missing triples are NOT a
violation
Allow to infer new information
Allows to implement system behavior!
+
Open lists revisited
RDFS also facilitates access to Lists
Elements of lists are a possibly
infinite set of elements of the form
rdf:_1, rdf:_2, etc
RDFS facilitates this by enforcing that:
if x rdfs:_1 y
then x rdfs:member b
Access difficult in practice
+
Open lists revisited
RDFS also facilitates access to Lists
Elements of lists are a possibly
infinite set of elements of the form
rdf:_1, rdf:_2, etc
Access difficult in practice
RDFS facilitates this by enforcing that:
if x rdfs:_1 y
then x rdfs:member b
More detail on this on the lecture about
RDFS semantics
+
Axiomatic triples
RDFS enforces certain facts to be always true
These facts are statements (triples)
Referred as Axiomatic triples
Listed in http://www.w3.org/TR/rdf-mt/
More detail on this on the lecture about
RDFS semantics
+
RDFS Semantic Conditions
Every resource x
x rdf:type rdfs:Resource
Every literal x
x rdf:type rdfs:Literal
… etc
More detail on this on the lecture about
RDFS semantics
+
Last notes on RDFS axioms
Main new vocabulary (not the only one):
rdfs:subClassOf
rdfs:subPropertyOf
rdfs:domain
rdfs:range
Different from CONSTRAINTS, missing triples are NOT a
violation
Allow to infer new information
Allows to implement system behavior!
+
Automatic classification of
employees (part 1)
Transform into an RDF representation
Automatically catalog objects as Employees, and as Active
employees, Suspended employees and Ex-employees
using a minimal set of “axioms”
<ID>
Project
Assignment
Absent
Until
Termination Date
22
24
-
-
34
24
Dec 23, 2012
-
73
-
-
Jun 4, 2010
Employee table. Primary key: 10
Active employees are assigned to projects
+
Automatic classification of
employees (part 2)
Transform into an RDF representation
Automatically catalog objects as Employees as managers
<ID>
Project Name
<Manager>
24
Project-x
34
25
Project Mayhem
22
Project table. Primary key: ID
Foreign key <Manager> to Employee table
+ Align vocabularies
• Align corresponding properties
using RDFS
• Align with FOAF vocabulary
(when possible) using RDFS (use
foaf:name, foaf:homepage)
+
Annotations
URI’s are not readable
Readable information (comments, names, etc.) can be stored
using properties, but
Property names are not standard, however, we could like some
standard names for “human oriented information”
RDFS defines:
rdfs:label
A readable name for a resource
rdfs:comment
Human focused comments
These are properties
So, subPropertyOf can be used
with them
+
Redirection
Redirecting to location of documents (RDF) with additional
information about a subject
No formal semantics
RDFS provides:
rdfs:seeAlso. Additional information
rdfs:definedBy. Authority information, primary source.
Recall the semantic web
idea, linked databases
These are properties
So, subPropertyOf can be used
with them