260 likes | 616 Views
Overview. Why transform the DDC into a SKOS vocabulary?Creating URIsWhat is a concept?What is an information resource?Analyzing DDC for modeling in RDF/SKOSIdentifying conceptsAligning DDC elements with SKOS classes and propertiesModeling sematic relationshipsIntegration into RESTful web ser
E N D
1. Michael Panzer
Global Product Manager, Taxonomy Services
OCLC DDC, SKOS, and Linked Data on the Web
2. Overview Why transform the DDC into a SKOS vocabulary?
Creating URIs
What is a concept?
What is an information resource?
Analyzing DDC for modeling in RDF/SKOS
Identifying concepts
Aligning DDC elements with SKOS classes and properties
Modeling sematic relationships
Integration into RESTful web services (if we have time)
3. Why transform the DDC into a SKOS vocabulary? Participation in “data web” is crucial for knowledge discovery tools
SKOS as publication format
Enabling data interoperability
Extensible, but “dumbing down” possible
Hospitability for terminologies; agile publication possible as soon as recommendation status is reached
Broadening the base of Dewey use cases and users
Rethinking access to KOS in general
Caution: Most research problems of semantic integration or vocabulary construction neither solved nor touched by SKOS!
4. [Checklist: Webification of KOS] (Infra-)Structural choke points
Design of identifiers
Design of verbal designators (“verbal plane”)
Data representation
Vocabulary enhancement
User contribution
Versioning
Vocabulary registries
5. Cool URIs for the DDC (lightning overview) Approaches to URI design
Encoding resource metadata into URIs?
Axiom of URI opacity
Genericity of resources
Dimensions of variance: time, language, format
Framing of concept instantiation
Role of Dewey classes for URIs
Classes as center of identification for DDC concepts
Information resources vs. non-information resources in web architecture
6. Example URIs Generic URI
http://dewey.info/class/338.4
Specific time
http://dewey.info/class/338.4/2007/05/25
http://dewey.info/class/338.4/e22
Specific time & language
http://dewey.info/class/338.4/2007/05/25/about.en
Specific time, language & format
http://dewey.info/class/338.4/2007/05/25/about.en.skos
7. Example URIs Concept vs. representation URIs
http://dewey.info/class/338.4/
http://dewey.info/class/338.4/about
Caveat: template still might change syntactically, e.g.
http://dewey.info/class,2007-05/338.4?$lang=en&$format=skos
Is the identifier strategy sound?
Application to SKOS
8. Analyzing DDC for modeling in RDF/SKOS What to include? What makes sense as Linked Data?
DDC is fairly complex:
Manual, external and internal tables, schedules, Relative Index, …
Regular, optional numbers; number spans, centered entries, …
Elaborate note structure
Singled out as skos:Concepts right now:
Listed schedule numbers (including built numbers)
Number spans
Centered entries
Relative Index terms (in different namespace)
9. Analyzing DDC for modeling in RDF/SKOS 370.11 Education for specific objectives
370.113 Vocational education
370.113085 Parents--vocational education
370.1130941 Vocational education--Great Britain
370.1130973 Vocational education--United States
10. Analyzing DDC for modeling in RDF/SKOS 370.113 Vocational education
Class here career education, occupational training, vocational schools
Class on-the-job training, vocational training provided by industry in 331.2592
For vocational education at secondary level, see 373.246; for adult vocational education, see 374.013
See also 331.702 for choice of vocation; also 371.425 for vocational guidance in schools
skos:notation
skos:prefLabel
skos:related
11. RDF model: Class (1) <class/370.113/2007/12> a skos:Concept ;
skos:inScheme <scheme/2007/12> ;
dct:created "1996-06-01T00:00:00.0-05:00"^^<http://purl.org/dc/terms/W3CDTF> ;
dct:updated "2003-03-26T00:00:00.0-05:00"^^<http://purl.org/dc/terms/W3CDTF> ;
skos:notation "370.113"^^<ddc:Notation> ;
skos:prefLabel "Vocational education"@en ;
skos:broader <class/370.11/2007/12> ;
skos:narrower <class/370.113085/2007/12> ,
<class/370.1130941/2007/12> ,
<class/370.1130973/2007/12> ;
skos:related <class/331.2592/2007/12> ,
<class/373.246/2007/12> ,
<class/374.013/2007/12> .
12. RDF model: Class (2) <class/370.113/2007/12> skos:relatedMatch
<http://tspilot.oclc.org/lcsh/sh%2085020255%20> ,
<http://tspilot.oclc.org/lcsh/sh%2000002431%20> ,
<http://tspilot.oclc.org/lcsh/sh%2085144178%20> ,
<http://tspilot.oclc.org/lcsh/sh%2096002453%20> .
13. RDF model: Class (3) <class/370.113/2007/12> ddc:hasIndexTerm <index/Career%20development> ,
<index/Career%20education> ,
<index/Education%20of%20employees> ,
<index/Employee%20development> ,
<index/Human%20resource%20development> ,
<index/Job%20training> ,
<index/Occupational%20training> ,
<index/Retraining%E2%80%94vocational%20education> ,
<index/Staff%20development> ,
<index/Training%E2%80%94employee%20education> ,
<index/Vocational%20education> ,
<index/Vocational%20schools> ,
<index/Vocational%20training> ,
<index/Work%20training> .
14. RDF model: Class (0) @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2008/05/skos#> .
@prefix ddc: <http://dewey.info/schema-terms/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix dct: <http://purl.org/dc/terms/> .
@base <http://dewey.info/> .
ddc:hasIndexTerm rdfs:subPropertyOf skos:relatedMatch .
ddc:isIndexTermOf rdfs:subPropertyOf skos:relatedMatch ;
owl:inverseOf ddc:hasIndexTerm .
15. RDF model: Relative Index Terms <Concept rdf:about="index/Job%20training">
<inScheme rdf:resource="index/2007/12"/>
<prefLabel xml:lang="en">Job training</prefLabel>
<ddc:isIndexTermOf rdf:resource="class/370.113/2007/12"/>
</Concept>
<Concept rdf:about="index/Job%20training">
<related rdf:resource="index/Vocational%20education"/>
</Concept>
Switching to RDF/XML for demonstration: RDF is a data model without a fixed serialization. We have seen Turtle/N3 up to now, here we are seeing records in the much maligned RDF/XML (incomplete; without prefix and base declarations).Switching to RDF/XML for demonstration: RDF is a data model without a fixed serialization. We have seen Turtle/N3 up to now, here we are seeing records in the much maligned RDF/XML (incomplete; without prefix and base declarations).
16. RDF model: Gathering assertions about a resource Could be obtained by using DESCRIBE in SPARQL.Could be obtained by using DESCRIBE in SPARQL.
17. Modeling concept history events Tracking and exposing change processes for discovery
Two recent positions:
Tennis: Augmenting SKOS with generic skos:ConceptInstance to indicate version- and vocabulary-specific skos:Concepts
Voss: Pragmatic approach focusing on retrieval; linking versions with skos:mappingRelation
18. Modeling concept history events Some problems
Change on concept level
Labels, relations, etc.
Change on scheme (inter-concept) level
Exhaustive change of concepts
Complex relocation/discontinuation, splitting of concept (1-to-many)
Simple relocation/discontinuation (1-to-1)
Partial change of concepts
Melding of a concept (integrating new topics, many-to-1)
Extensive revisions (many-to-many)
19. Simple relocation/discontinuation <Concept rdf:about="class/370.19/2007/12">
<inScheme rdf:resource="scheme/2007/12"/>
<dct:created rdf:datatype="http://purl.org/dc/terms/W3CDTF">1996-06-01T00:00:00.0-05:00</dct:created>
<dct:updated rdf:datatype="http://purl.org/dc/terms/W3CDTF">2001-03-13T00:00:00.0-05:00</dct:updated>
<notation rdf:datatype="ddc:Notation">370[.19]</notation>
<prefLabel xml:lang="en">Psychological principles</prefLabel>
<broader rdf:resource="class/370.1/2007/12"/>
<historyNote rdf:parseType="Resource">
<dct:isReplacedBy rdf:resource="class/370.15/2007/12"/>
</historyNote>
<historyNote rdf:parseType="Resource">
<dct:isReplacedBy rdf:resource="class/306.43/1996"/>
</historyNote>
</Concept>
20. Simple relocation/discontinuation Two different representations of concept history modeled by skos:historyNote
Some problems: unclear semantics, unclear relationships of replacing concepts (succession, coordination?)
<historyNote rdf:parseType="Resource">
<dct:isReplacedBy rdf:resource="class/370.15/2007/12"/>
</historyNote>
<historyNote rdf:parseType="Resource">
<dct:isReplacedBy rdf:resource="class/306.43/1996"/>
</historyNote>
21. DDC in SKOS: Further Issues Non-assignable concepts (“node labels”): skos:Collection and skos:member not usable
SKOS somewhat underspecified as RDF vocabulary; much has to be done by following best practice recommendations
SKOS tool stack still rather thin; could change after W3C draft recommendation cools off
22. Integration into Web Services Expressing semantic relationships by
Explicit resource description (source: assertion)
Implicit resource description (source: inference)
Application logic, SPARQL patterns
Identified by URIs that are not present in the RDF store, e.g., /ancestors, /children
http://dewey.info/class/338.4/ancestors/about.en.skos
Web service responses
HTTP status codes
23. Service Semantics: Generic Resources http://dewey.info/class/338.4
24. Service Semantics: Blunt Instruments
25. Thank you! Michael Panzer <mailto:panzerm@oclc.org>
26. RDF model: Gathering assertions about resources Not everything has to be kept in one “record” in RDF
Reconstructing the whole concept graph for an RI term with SPARQL:
DESCRIBE <http://dewey.info/index/Job%20training> Or, alternatively by using CONSTRUCT:
CONSTRUCT <http://dewey.info/index/Job%20training> ?p ?o
WHERE { <http://dewey.info/index/Job%20training> ?p ?$o }
Or, alternatively by using CONSTRUCT:
CONSTRUCT <http://dewey.info/index/Job%20training> ?p ?o
WHERE { <http://dewey.info/index/Job%20training> ?p ?$o }
27. RDF model: Gathering assertions about a resource Resulting graph (in Turtle):
@prefix skos: <http://www.w3.org/2008/05/skos#> .
@prefix ddc: <http://dewey.info/schema-terms/> .
<http://dewey.info/index/Job%20training> a skos:Concept ;
skos:inScheme <http://dewey.info/index/2007/12> ;
skos:prefLabel "Job training"@en ;
ddc:isIndexTermOf <http://dewey.info/class/370.113/2007/12> ;
skos:related <http://dewey.info/index/Vocational%20education> .