Adrian Pohl
Open Infrastructure, Library service centre NRW (hbz)
DCMI Virtual, WWW, 2020-09-25
This presentation:
http://slides.lobid.org/dcmi2020/
Focus: data modelling, web and (meta)data standards
Working in Open Infrastructure team at hbz
focus on lobid and lately on SkoHub and OERSI (OER Search Index)
Initiated the OER Metadata Group of KIM und Jointly in 2013
Indicates which properties and types from existing metadata schemas are used
Defines constraints for their usage (mandatory fields, cardinality, value constraints etc.)
Human-only-readable doc (PDF)
Schema for specific serialization (e.g. XML Schema, JSON Schema)
Graph shapes (e.g. ShEx)
Generic specification of a profile with tabular DC AP Core Vocabulary (in development)
...
OER: Open Educational Resources, free accessible & openly licensed
LRMI? – Phil already cleared that up
Great interest in LRMI in the German-speaking OER community but there are no easy instructions for implementation
Current project by hbz and TIB Hannover in need of a standards-oriented JSON Schema for learning resources: OERSI – OER Search Index
A LOM-based XML profile exists but a HTTP+JSON-based approach is more future-proof
JSON Schema defines fields, value type & referenced controlled vocabularies
Controlled vocabularies/value lists are published separately as SKOS files and are referenced in the schema
Schema can be tried out in SkoHub editor including lookup of controlled vocabs
1st step: define JSON Schema & controlled vocabularies, and provide SkoHub-based reference web form
2nd step: write human-readable documentation with ReSpec
{
"properties": {
"name": {
"title": "Title",
"type": "string"
}
}
}
{
"image": {
"title": "Image",
"type": "string",
"format": "uri",
"_display": {
"placeholder": "A link to an image of the resource"
}
}
}
{
"type": {
"title": "Type",
"type": "string",
"enum": [
"AudioObject",
"Book",
"Course",
"CreativeWork",
"DataDownload",
"ImageObject",
"PresentationDigitalDocument",
"SoftwareApplication",
"VideoObject"
]
}
}
{
"about":{
"title":"Subject",
"type":"array",
"items":{
"type":"object",
"properties":{
"inScheme":{
"type":"object",
"properties":{
"id":{
"type":"string",
"enum":[
"https://w3id.org/kim/hochschulfaechersystematik/scheme"
]
}
}
}
},
"_widget":"SkohubLookup"
}
}
}
JSON Schema is automatically tested against two sets of examples (valid & invalid)
Whenever a file validates that shouldn't, it is added to the /invalid
folder and the schema is updated to pass the tests
The example files are also helpful for people implementing the profile
Controlled vocabularies must be published with SkoHub Vocabs
Publication & maintenance in Turtle file on GitHub/GitLab & publication as HTML/JSON-LD under skohub.io (see here for details)
$ curl -L https://w3id.org/kim/lrmi-profile/draft/context.jsonld
{
"@context": {
"id": "@id",
"type": "@type",
"@vocab": "http://schema.org/",
"skos": "http://www.w3.org/2004/02/skos/core#",
"prefLabel": {
"id": "skos:prefLabel",
"@container": "@language"
},
"inScheme": "skos:inScheme",
"Concept": "skos:Concept"
}
}
{
"@context":[
"https://dini-ag-kim.github.io/lrmi-profile/draft/context.jsonld",
{"@language":"de"}
]
}
{
"@context": {
"prefLabel": {
"id": "skos:prefLabel",
"@container": "@language"
},
},
"id": "https://example.org/oer",
"about": {
"id": "https://w3id.org/kim/hochschulfaechersystematik/n222",
"type": "Concept",
"prefLabel": {
"de": "Kommunikations- und Informationstechnik",
"en": "Communication and information technology",
},
"inScheme": "https://w3id.org/kim/hochschulfaechersystematik/scheme"
}
}
mainEntityOfPage
{
"mainEntityOfPage":[
{
"provider":{
"id":"https://oerworldmap.org/resource/urn:uuid:51277cb8-c5a4-4204-aeaf-10ee06df53ce",
"type":"Service",
"name":"OERNDS"
},
"id":"https://www.oernds.de/edu-sharing/components/render/52e3c18a-27c3-4dca-b431-37f30790a977",
"dateCreated":"2020-03-18",
"dateModified":"2020-03-18"
}
]
}