Semantic Technologies and Applications COMP5860M
skos: Simple Knowledge Organisation System
John Stell School of Computing
j.g.stell@leeds.ac.uk
Lecture Monday 4th May 2020
1
Outline
Aim is to give overview of skos. We have met it briefly before (Lecture 12).
The material is needed for the Final Assessment, and may help a little with Coursework 2.
What is skos?
Difference between a skos concept and a concept in
description logic
Some key properties (predicates) in skos
Examples of skos usage
2
What is skos?
https://www.w3.org/TR/2009/NOTE-skos-primer-20090818/
SKOS – Simple Knowledge Organization System –
provides a model for expressing
the basic structure and content of concept schemes such as
thesauri,
classification schemes,
subject heading lists,
taxonomies,
folksonomies,
and other similar types of controlled vocabulary.
3
What is skos?
https://www.w3.org/TR/2009/NOTE-skos-primer-20090818/
As an application of the Resource Description Framework (RDF), SKOS allows concepts to be
composed and
published on the World Wide Web,
linked with data on the Web and
integrated into other concept schemes.
4
What is skos?
So, SKOS:
allows you to write “concept schemes”, and
to use RDF to make “concept schemes” available as linked data, which
can be linked to
other “concept schemes” and
data that is organized using your “concept schemes”.
but what is a “concept scheme”?
5
What is a “concept scheme”?
Imagine you have some things you want to organize. For example, one of these:
music tracks to arrange by genre
books to arrange by subject
recipes to arrange by type of food
plants to arrange into kinds
tasks to arrange by when you will do them
paintings to arrange by style of art
things to sell online, and organization will help to recommend things to customers
6
What is a “concept scheme”?
If you write down the headings you might use to do the organisation these would be concepts for SKOS.
The collection of all the concepts and relationships between them would be a concept scheme.
For example, to organize some books by subject you might have
Fiction
Computing
Programming Languages Java Programming
History of Science
This is just a list of concepts – without structure (except possibly implied by order they are written in)
7
What is a “concept scheme”?
Headings often have more structure (like a hierarchy)
Fiction
Computing
Programming Languages
Java Programming
History of Science
Things might fit under more than one heading. This is not a problem – we are thinking of
“what the books are about”,
not “how do we arrange them on a shelf”
8
What is a “concept scheme”?
For headings to organize tasks:
Really Urgent
Today
Tomorrow
Later this week
Not so urgent
This month sometime
The next month
Long term
This year
Sometime in the future
9
What is a “concept scheme”?
Note that in the examples you can imagine looking for headings to arrange your own collection of books or tasks or recipes,
you can use SKOS for that, but
the motivation for SKOS is arrangements of headings that
lots of people can use, such as organizing a large library
which can be used in different instances
(organizing many different libraries)
need relating to other concept schemes (different ways of organising a library)
10
Simple Example
To present a SKOS concept scheme we write rdf. In these examples I follow TURTLE syntax for rdf.
Some namespaces are used all the time. To be complete these appear at the start, but I will leave them out from examples.
@prefix dct:
@prefix rdf:
@prefix rdfs:
@prefix skos:
@prefix owl:
@prefix foaf:
In addition for invented URIs, we can do this
@prefix exc:
11
Simple Example
exc:fruit a skos:ConceptScheme;
skos:prefLabel “Fruits”@en.
exc:banana a skos:Concept;
skos:definition “A delicious fruit which is
long and yellow”@en;
skos:prefLabel “banana”@en;
skos:inScheme exc:fruit;
skos:broader exc:longFruit.
I’ve added a line break to make it fit on the slide. Remember when it says
exc:banana a skos:Concept;
this means same as
exc:banana rdf:type skos:Concept;
12
Concepts
A SKOS concept, like banana in the example, is like a heading or a name under which things are filed.
Unlike a class in OWL or Protege, banana is used here as a name and it doesnt help to think of a SKOS concept as having instances or members in the same way
This kind of thing is NOT a good idea:
exc:banana exc:hasColour exc:yellow;
The concept banana does not have a colour, but bananas are yellow.
13
Concepts
Although bananas are yellow and concepts are not, there are ways to link concepts to things.
For example the subject of a book might be a certain fruit
ex:bananaGrowingBook dct:subject exc:banana;
14
SKOS properties
SKOS defines a number of properties (predicates or relationships) We do not need all of these and only some key ones are listed here.
See also http://www.w3.org/TR/skos-primer and
http://www.w3.org/TR/skos-reference
for more.
Some of the following examples come from these sources
15
skos:prefLabel
This is to associate a string (in a language, here English) to a concept
ex:animals rdf:type skos:Concept;
skos:prefLabel “animals”@en.
It gives the preferred label to use.
16
skos:narrower and skos:broader
This is for which concepts are more general or more specific.
Beware of the order, it means here that mammals is a narrower concept than animals, and it means that animals is a broader concept than mammals.
ex:animals rdf:type skos:Concept;
skos:prefLabel “animals”@en;
skos:narrower ex:mammals.
ex:mammals rdf:type skos:Concept;
skos:prefLabel “mammals”@en;
skos:broader ex:animals.
These are important features in skos
17
skos:related
ex:birds rdf:type skos:Concept;
skos:prefLabel “birds”@en;
skos:related ex:ornithology.
ex:ornithology rdf:type skos:Concept;
skos:prefLabel “ornithology”@en.
Concepts can be related in many senses.
You would use this when there is some connection between the concepts but when they are not the same and neither is more or less specific than the other.
18
skos:definition
Gives “a complete explanation of the intended meaning of a concept”
ex:documentation skos:definition
“the process of storing and retrieving information
in all fields of knowledge”@en.
19
Interface with Dublin-core terms
The SKOS primer notes:
It is important to note that other, non-SKOS properties
could be used to document concepts.
The dct:creator
property from Dublin Core can for instance be used
to point to a person that created the concept:
ex:madagascarFishEagle dct:creator
[ foaf:name “John Smith” ].
Another example is on next slide.
20
@prefix exc:
@prefix exr:
exc:fruit a skos:ConceptScheme;
skos:prefLabel “Fruits”@en.
exc:banana a skos:Concept;
skos:definition “A delicious fruit which is
long and yellow”@en;
skos:prefLabel “banana”@en;
skos:inScheme exc:fruit;
skos:broader exc:longFruit.
exr:lecture01 dct:subject exc:banana;
a dct:Event;
dct:title “The Banana in History”@en;
dct:creator “Professor Plantain”@en;
rdfs:label “Lecture The First”@en.
21
skos:ConceptScheme
From the skos primer:
Concepts can be created and used as stand-alone entities.
However, especially in indexing practice, concepts usually
come in carefully compiled vocabularies, such as thesauri
or classification schemes.
The following example shows how to define a concept scheme
resource (representing a thesaurus) and to describe that
resource using the dct:title and dct:creator properties
from Dublin Core:
ex:animalThesaurus rdf:type skos:ConceptScheme;
dct:title “Simple animal thesaurus”;
dct:creator ex:antoineIsaac.
22
skos:ConceptScheme
From the skos primer:
Once the concept scheme resource has been created,
it can be linked with the concepts it contains using
the skos:inScheme property:
ex:mammals rdf:type skos:Concept;
skos:inScheme ex:animalThesaurus.
ex:cows rdf:type skos:Concept;
skos:broader ex:mammals;
skos:inScheme ex:animalThesaurus.
ex:fish rdf:type skos:Concept;
skos:inScheme ex:animalThesaurus.
23
Other Features
The main things not mentioned here are:
properties that document a concept or concept scheme, for example about its history or scope
properties that relate between concept schemes, expecially how concepts in different schemes are related to each other (or simply that they have some relationship).
24