Title of the presentation

Download Report

Transcript Title of the presentation

On practical aspects of
enhancing semantic
interoperability using SKOS
and KOS alignment
Antoine ISAAC
Vrije Universiteit Amsterdam
National Library of the Netherlands
ISKO UK Meeting, July 21, London
Enhancing semantic interoperability using SKOS
Agenda
• (Optional) Semantic Web refresher
• Representing KOSs using SKOS
• Main features
• Practical issues
• Demo
• SKOS and semantic alignment of KOSs
Enhancing semantic interoperability using SKOS
The Semantic Web: a web of resources
• Pointing at resources
• What? Knowledge objects
• everything that we may want to refer to
• including documents, persons…
• How? Uniform Resource Identifiers (URIs)
• E.g., HTTP URLs: http://www.few.vu.nl/~aisaac/
Enhancing semantic interoperability using SKOS
A Web of resources
theirVoc:Article
http://ex.org/files/file1
myVoc:Amsterdam
Here: URIs (namespace and localname)
Note: different locations!
Enhancing semantic interoperability using SKOS
Describing Semantic Web resources: RDF
• Pointing at resources: URIs
• Creating structured assertions involving resources
• What? Typed links between resources
• How? RDF (Resource Description Framework)
• Statements
• subject-predicate-object
Enhancing semantic interoperability using SKOS
Data in an RDF “graph”
theirVoc:Article
rdf:type
http://ex.org/files/file1
theirVoc:subject
myVoc:Amsterdam
Enhancing semantic interoperability using SKOS
The Semantic Web Approach: A Web of (Meta)data
Article
The_Netherlands
Document
subClassOf
type
hasCapital
file1
Amsterdam
partOf
type
defines
City
paragraph3
Enhancing semantic interoperability using SKOS
What's the role of KOS in this?
• Porting KOSs to the Semantic Web
• Reminder: SKOS is for publication and access, not
replacement
xxx
x
xxx
x
xxx
xxx
xxx
x
xxxx
xxx
xxxx
xxx
xxx
xxx
xxx
xxxx
xxx
xxx
x
xxx
x
xxxx
xxx
Enhancing semantic interoperability using SKOS
Agenda
• Semantic Web refresher
• Representing KOSs using SKOS
• Main features
• Practical issues
• Demo
• SKOS and semantic alignment of KOSs
Enhancing semantic interoperability using SKOS
How does SKOS stand the test of application?
• How much interoperability does porting to SKOS
really allow?
• Are there hidden caveats?
• Different ways to convert similar things
• Different interpretations of SKOS constructs?
• Things impossible to convert
Enhancing semantic interoperability using SKOS
SKOS (Simple Knowledge Organization System)
• SKOS offers a vocabulary to create RDF data
representing KOS content
• Concepts and ConceptSchemes
• Lexical properties (prefLabel, altLabel)
• Semantic relations (broader, related)
• Notes (scopeNote, definition)
Enhancing semantic interoperability using SKOS
Conceptual resources with URIs
skos:Concept
rdf:type
ex:animals
prefix skos: <http://www.w3.org/2004/02/skos/core#>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
prefix ex: <http://www.example.com/>
Enhancing semantic interoperability using SKOS
Labels as strings
skos:Concept
rdf:type
ex:animals
skos:prefLabel
skos:altLabel
"animaux"@fr
"bêtes"@fr
skos:hiddenLabel
"betes"@fr
• USE/UF functions, as in ISO2788
• But a concept-oriented model!
• Concepts are first-order entities
• Labels are linked via the concept resource
Enhancing semantic interoperability using SKOS
(Multilingual) labels as strings
skos:Concept
rdf:type
ex:animals
skos:prefLabel
"animals"@en
skos:prefLabel
"animaux"@fr
• Multilingual functions, as in ISO5964
• But a concept-oriented model, again
Enhancing semantic interoperability using SKOS
Semantic relations: broader, narrower and related
skos:broader
ex:animals
skos:related
ex:birds
ex:ornithology
skos:narrower
• Same function as BT/RT links
• Similar intended meanings
• e.g. broader can cover partitive, generic, or class-instance relationships
Enhancing semantic interoperability using SKOS
Documenting concepts
Enhancing semantic interoperability using SKOS
Example: thesaurus
animals
cats
NT cats
UF domestic cats
RT wildcats
BT animals
SN used only for domestic cats
domestic cats
USE cats
wildcats
Enhancing semantic interoperability using SKOS
Example: SKOS graph
animals
cats
NT cats
UF domestic cats
RT wildcats
BT animals
SN used only for domestic cats
domestic cats
USE cats
skos:broader
wildcats
ex:animals
skos:prefLabel
skos:narrower
skos:related
ex:cats
skos:prefLabel
"cats"@en
skos:scopeNote
skos:altLabel
"domestic cats"@en
"animals"@en
ex:wildcats
skos:prefLabel
"used only for
domestic cats"
"wildcats"@en
Enhancing semantic interoperability using SKOS
Example: RDF serialization
animals
cats
NT cats
UF domestic cats
RT wildcats
BT animals
SN used only for domestic cats
domestic cats
USE cats
wildcats
<rdf:RDF>
<skos:Concept rdf:about="http://example.org/animals">
<skos:prefLabel xml:lang="en">animals</skos:prefLabel>
<skos:narrower rdf:resource="http://example.org/cats"/>
</skos:Concept>
<skos:Concept rdf:about="http://example.org/cats">
<skos:prefLabel xml:lang="en">cats</skos:prefLabel>
<skos:altLabel xml:lang="en">domestic cats</skos:altLabel>
<skos:scopeNote>used only for domestic cats</skos:scopeNote>
<skos:broader rdf:resource="http://example.org/animals"/>
<skos:related rdf:resource="http://example.org/wildcats"/>
</skos:Concept>
<skos:Concept rdf:about="http://example.org/wildcats">
<skos:prefLabel xml:lang="en">wildcats</skos:prefLabel>
</skos:Concept>
</rdf:RDF>
Enhancing semantic interoperability using SKOS
Agenda
• (Optional) Semantic Web refresher
• Representing KOSs using SKOS
• Main features
• Practical issues
• Demo
• SKOS and semantic alignment of KOSs
Enhancing semantic interoperability using SKOS
Issue 1: where can URIs come from?
skos:Concept
rdf:type
ex:animals
• Generated from pre-existing identifiers
• sh96011203
• Using (less stable) labels is not always a good idea
• Logotypes (Printing)
Enhancing semantic interoperability using SKOS
Issue 1: "web-enabled" names?
Do concept names have to refer to accessible documents?
• 1. (first approach) Whatever qualifies as URI, even it does not
“exist” on the web
• http://example.org/animals
• 2. (better) Basic web-enabled name, resolves into some document
• http://catalogue.bnf.fr/ark:/12148/cb11931683w
• 3. (ideal) URI with content negotiation to serve SKOS/RDF,
HTML…
• http://lcsh.info/sh96011203#concept
• Cf. Best Practice Recipes for Publishing RDF Vocabularies
• http://www.w3.org/TR/swbp-vocab-pub/
Enhancing semantic interoperability using SKOS
Different types of labels
• Notice: SKOS does not offer guidelines for good labels
• But it assumes some characteristics for the different
kinds of labels, that could influence conversion
• (Hard) A concept has only one prefLabel per language
ex:animals
skos:prefLabel
"animaux"@fr
skos:prefLabel
"bêtes"@fr
• (Soft) No two concepts from a same concept scheme should
have the same prefLabel in a given language
• Cf. notion of “descriptor”
Enhancing semantic interoperability using SKOS
Issue 2: classifications, notations and labels
• Notations
- 21.51 "technique and materials"
ex:21.51
skos:notation
"21.51"^^my:datatype
• Can we use notations as SKOS preferred labels?
• They (are supposed to) make sense for users
• They are unambiguous
ex:21.51
skos:prefLabel
"21.51"@x-notation
Enhancing semantic interoperability using SKOS
Issue 2: classifications, notations and labels
• Captions could also be considered as preferred labels
• They are often displayed
ex:21.51
skos:prefLabel
"21.51"@x-notation
skos:prefLabel
"technique and materials"@en
• They can be ambiguous
21.00 "painting: general"
- 21.01 "technique and materials"
21.50 "sculpture: general"
But the prefLabel uniqueness
- 21.51 "technique and materials"
constraint was soft!
Yet experts could choose to have all captions as altLabels…
Enhancing semantic interoperability using SKOS
Semantic relations: broader, narrower and related
skos:broader
ex:animals
skos:related
ex:birds
skos:narrower
ex:ornithology
Enhancing semantic interoperability using SKOS
Issue 3: semantics for semantic relations
• Is broader "transitive"?
skos:broader
ex:cats
skos:broader
ex:mammals
ex:animals
skos:broader
• If yes, we can miss the “original” information
?
skos:broader
ex:cats
skos:broader
ex:mammals
skos:broader
ex:animals
Enhancing semantic interoperability using SKOS
Issue 3: semantics for semantic relations
• broader is not transitive in general
• It has a super-property broaderTransitive with
semantics of “has ancestors”
• 1: every broader statement ("parent") logically implies a
broaderTransitive one ("ancestor")
• 2: broaderTransitive is transitive!
skos:broaderTransitive
skos:broaderTransitive
ex:cats
skos:broader
skos:broaderTransitive
ex:mammals
ex:animals
skos:broader
Enhancing semantic interoperability using SKOS
Issue 3: semantics for semantic relations
• broader and narrower are inverse of each other
skos:narrower
X
Y
skos:broader
• related is symmetric!
skos:related
X
Y
skos:related
• Assumption: there are not many exceptions in KOSs
• A non-symmetric specialization of related can be coined if needed
Enhancing semantic interoperability using SKOS
Semantics of SKOS
• SKOS semantics make assumptions that distinguish
what could be regularly inferred from a statement
• broader and narrower are inverse
from what would be less agreed upon
• broader is transitive
• This answers some questions about what should be explicit or not
in a SKOS conversion, and what can (shall) be inferred from it
• Important for specifying application, e.g. services
• Crucial for interoperability!
• Beware: this assumes reasoning, or a simulation of it!
Enhancing semantic interoperability using SKOS
Example of custom extension for SKOS
• Creating a non symmetric specialization of related?
my:nonSymmetricRelated rdfs:subPropertyOf skos:related .
• Assertions of my:nonsymmetricProperty do not imply inference of
reciprocal statements
• If RDFS semantics are applied (e.g. by a reasoner) there is inference of
standard SKOS skos:related statements
my:nonSymmetricRelated
X
Y
skos:related
Enhancing semantic interoperability using SKOS
Other KOS features which could harm interoperability
Very difficult to represent in SKOS
• Synthesis of new subjects
•
•
Using subdivisions: Brass bands--Sponsorship
Links to compound non-preferred terms
•
Cf. Stella/Leonard/Nicholas
Can be represented, but not really standard
• Qualifiers in labels: Technique (painting)
Standard, but may not be used
• Groupings by Collection, cf. Doug/Ceri
• Cf. next presentations!
Enhancing semantic interoperability using SKOS
Is that damn thing useful?
• At least it's there!
• There is a proposed standard to represent KOS on the
Semantic Web
• It allows to publish KOSs
• LCSH, Agrovoc…
• It allows to develop applications with re-usable &
interoperable components
• Cf. Doug/Ceri and Bernard
Enhancing semantic interoperability using SKOS
Benefit of SKOS
• Homogeneous SW representation of vocabularies and metadata
amsterdam
mary
subject
creator
page1
book2
hasPart
creator
john
picture
3
depicts
MDS 1
- Field 1
- Field 1.1
- Field 2
- Field 2.1
- Field 2.2
-…
Netherlands
MDS 2
- Field 1
- Field 1.1
- Field 1.2
- Field 1.2.1
- Field 1.3
- Field 2
-…
Enhancing semantic interoperability using SKOS
Is that damn thing useful?
• For most aspects of a KOS, conversion is relatively smooth
• It makes some commitments more explicit
• Nothing compared to representation as a formal ontology
• Believe me!
• A basis for (your!) experience sharing
• Comparing conversion strategies
• Realizing the interoperability issues there
• Devising agreed extensions
Enhancing semantic interoperability using SKOS
Demo!
• KB Illuminated Manuscripts
• BNF Mandragore Manuscripts
• http://galjas.cs.vu.nl:33333/MANDRA-SV-ICEmandraNewNONE , amphibians
Enhancing semantic interoperability using SKOS
Demo: noticeable facts
• KOS-independent interface
• The French vocabulary has just “replaced” an English vocabulary
that was used in a previous pilot
• Makes use of standard SKOS constructs
• broader, prefLabel
• Can exploit standard alignment relations
• Semantic equivalence can be computed thanks to SKOS' seamless
representation of multilingual labels
• It’s actually a case of French-to-French alignment!
Enhancing semantic interoperability using SKOS
Agenda
• Semantic Web refresher
• Representing KOSs using SKOS
• Main features
• Practical issues
• Demo
• SKOS and semantic alignment of KOSs (time?)
No time?
Enhancing semantic interoperability using SKOS
Aligning vocabularies
xxx
x
xxx
x
xxx
xxx
xxx
x
xxxx
xxx
xxxx
xxx
xxx
xxx
xxx
xxxx
xxx
xxx
x
xxx
x
xxxx
xxx
Enhancing semantic interoperability using SKOS
Vocabulary Alignment
• Aim: find correspondences between different concepts
with comparable meanings
• Doing it manually or (at least semi-)automatically
• Cf. ontology alignment in Semantic Web research
•
•
•
•
•
Lexical
Structural
Statistical
Background knowledge
still is a difficult research problem!
Enhancing semantic interoperability using SKOS
Mapping concepts with SKOS
ex1:animal
ex2:animals
skos:exactMatch
ex1:platypus
skos:broadMatch
skos:relatedMatch
ex2:eggLaying
Animals
ex2:eggs
Enhancing semantic interoperability using SKOS
SKOS contribution to mapping
• A common way to represent important info for KOS use cases
• Focusing on types of mapping relationships
• Note: can be used in combination with more complex formats
developed by the ontology alignment community
• E.g. to give mappings a confidence measure
• Again with (debatable?) semantics
• broadMatch is a sub-property of broader
• Allows to seamlessly use mappings as basic KOS relationships
• Still keeps the difference at the statement level
skos:broadMatch
ex2:eggLaying
Animals
ex1:platypus
skos:broader
Enhancing semantic interoperability using SKOS
Conclusion
• Representing KOSs using SKOS
• Main features
• Practical issues
• Demo
• SKOS and semantic alignment of KOSs
Despite some issues, SKOS provides a crucial
contribution to enhance interoperability of KOSs
Enhancing semantic interoperability using SKOS
Thank you!
Enhancing semantic interoperability using SKOS
SKOS contribution for mapping
• Ontology Alignment community lacked convenient standards
• exactMatch and broadMatch vs. "=" and "<"
• OWL equivalentClass and sameAs are an overkill from a
semantic perspective
• There was discussion in the SWD group
• Enough experience with alignment requirements in the KOS field?
• Well: ISO5964, Renardus, MACS, HILT, STITCH, AIMS, WebDewey,
CARMEN, CRISS-CROSS, MSAC, ECHO…
• BS8723-4 testifies interest and experience
• It is hoped that using SKOS as a mapping vocabulary will also
help community to develop further experience and good practices
Enhancing semantic interoperability using SKOS
Issue 2: classifications, notations and labels
• In our specific case there is a (not often displayed) contextfree caption
- 21.51 "technique and materials"
[context-free caption "technique and materials for sculpture"]
ex:21.51
skos:prefLabel
"21.51"@x-notation
skos:altLabel
skos:prefLabel
"technique and materials"@en
"technique and materials for
sculpture"@en
• But experts could choose to have all captions as altLabels…
Enhancing semantic interoperability using SKOS
Issue 4: Standardization vs. Customization
• Notes: SKOS implements more than what is hinted at in
thesaurus construction guidelines such as ISO2788
• But still less than in some formats (Marc-21)
• It recommends the use of other vocabularies as a
complement, and allows for extension
• ex:birds my:originNote "created by Alistair
after discussing birds with Antoine" .
• This may result in loosing compatibility with tools that
would expect and exploit SKOS features only
• ex:birds skos:editorialNote "created by
Alistair after discussing birds with Antoine" .
Enhancing semantic interoperability using SKOS
Issue 4: Standardization vs. Customization
• A solution is to explicitly attach coined constructs to the
SKOS ones that have more general meaning
• my:originNote rdfs:subPropertyOf
skos:editorialNote .
• And enforce production of additional statements,
according to RDFS semantics
Enhancing semantic interoperability using SKOS
Lexical Alignment
• Labels of entities, textual definitions
Long brain tumor
More specific Long tumor
than
Enhancing semantic interoperability using SKOS
Automatic Alignment Techniques
•
•
•
•
Lexical
Structural
Statistical
Background knowledge
Enhancing semantic interoperability using SKOS
Statistical Alignment
• Object information (e.g. book indexing)
Thesaurus 1
Collection
of books
“Dutch
Literature”
“Dutch”
Thesaurus 2
Enhancing semantic interoperability using SKOS
Automatic Alignment Techniques
•
•
•
•
Lexical
Structural
Statistical
Background knowledge
Enhancing semantic interoperability using SKOS
Alignment using Shared Background Knowledge
• Using a shared conceptual reference to find links
hesaurus 1
Background
knowledge
“Publication”
“Calendar”
Thesaurus 2
Enhancing semantic interoperability using SKOS
Alignment: not a trivial issue
• Current techniques are not reliable as single source of
knowledge
• Deployment would imply checking/completion by human
• Different techniques have to be selected/combined,
depending on the application case
• Poor vs. rich semantic structure
• Extensive vs. limited lexical coverage
• Existence of collections described by several vocabularies
• Alignment is a difficult research problem
Enhancing semantic interoperability using SKOS
(Some references in SKOS conversion)
• Own experience! KB (STITCH), BnF, DNB, LoC
(TELplus)
• van Assem et al.
• Tudhope et al.
• Polo et al.
• FAO
• …
Enhancing semantic interoperability using SKOS
Enhancing semantic interoperability using SKOS
Example use case and requirement
• 2.3 Use Case #3 — Semantic search service across mapped
multilingual thesauri in the agriculture domain
“This application coming from the AIMS project […] includes some
more specific links […] String-to-String relationships …”
“Requires: […] R-RelationshipsBetweenLabels”
Enhancing semantic interoperability using SKOS
Example issue:
relationships between lexical labels
“R-RelationshipsBetweenLabels
Representation of links between labels associated to
concepts
The SKOS model shall provide means to represent relationships
between the terms associated with concepts. Typical examples
are […]”
• In current SKOS spec labels are represented as literals
• This is a problem because literals have no URI, so cannot be subject
of an RDF property
• Possible resolutions:
• Labels/terms as instances of a new class
• Relaxing constraints on label property
Enhancing semantic interoperability using SKOS
Example issue:
relationships between lexical labels
skosext:translation ?
Enhancing semantic interoperability using SKOS
W3C Semantic Web Deployment Working Group
• http://www.w3.org/2006/07/SWD/
• Making vocabularies/thesauri/ontologies available on
the Web
Enhancing semantic interoperability using SKOS
Language and interoperability @@remove?@@
• Problem: idea of a concept’s “language” may vary and hamper
interoperability
• In RDF, language is script-dependent
• @@TODO@@
• How to treat loan terms?
• Is “Kindergarten” German or English, in an thesaurus used for
English collections?
• Language tags are mere annotations in RDF and SKOS