Tag Archives: lrmi

Harmonizing Learning Resource Metadata (even LOM)⤴

from @ Sharing and learning

The best interoperability is interoperability between standards. I mean it’s one thing for you and I to agree to use the same standard in the same way to do the same thing, but what if we are doing slightly different things? What if Dublin Core is right for you, but schema.org is right for me–does that mean we can’t exchange data? That would be a shame, as one standard to rule them all isn’t a viable solution. This has been exercising me through a couple of projects that I have worked on recently, and what I’ll show here is demo based on the ideas from one of these (The T3 Data Ecosystem Mapping Project) applied to another where learning resource metadata is available in many formats and desired in others. In this post I focus on metadata available as IEEE Learning Object Metadata (LOM) but wanted in either schema.org or DCAT.

The Problem

Interoperability in spite of diverse standards being used seems an acute problem when dealing with metadata about learning resources. It makes sense to use existing (diverse) schema for describing books, videos, audio, software etc, supplemented with just enough metadata about learning to describe those things when they are learning resources (textbooks, instructional videos etc.). This is the approach taken by LRMI. Add to this the neighbouring domains with which learning resource metadata needs to connect, e.g. research outputs, course management, learner records, curriculum and competency frameworks, job adverts…, all of which have there own standards ecosystems and perhaps you see why interoperability across standards is desirable.

(Aside it often also makes sense to use a large all-encompassing standard like schema.org, often as well as more specialized standards, which is why LRMI terms are in schema.org.)

This problem of interoperability in an ecosystem of many standards was addressed by Mikael Nilsson in his PhD thesis “From Interoperability to Harmonization in Metadata Standardization” where he argued that syntax wasn’t too important, what mattered more was the abstract model. Specifically he argued that interoperability (or harmonization) was possible between specs that used the RDF entity-based metamodel but less easy between specs that used a record-like metamodel.  IEEE Learning Object Metadata is largely record-like: a whole range of different things are described in one record, and the meanings of many elements depend on the context of the element in the record, and sometimes the values of other elements in the same record. Fortunately it is possible to identify LOM elements that are independent characteristics of an identified entity, which means it is possible to represent some LOM metadata in RDF. Then it is possible to map that RDF representation to terms from other vocabularies.

Step 1: RML to Map LOM XML to a local RDF vocabulary

This RML is the RDF Mapping Language, “a language for expressing customized mappings from heterogeneous data structures and serializations to the RDF data model … and to RDF datasets”.  It does so through a set of RDF statements in turtle syntax that describe the mapping from (in my case, here) XML fragments specified as XPath strings to subjects, predicates and objects. There is parser called RMLMapper that will then execute the mapping to transform the data.

My LOM data came from the Lifewatch training catalogue which has a nice set of APIs allowing access to sets of the metadata. Unfortunately the LOM XML provided deviates from the LOM XML Schema in many ways, such  as element names with underscore separations rather than camel case (so element_name, not elementName) and some nesting errors, so the RML I produced won’t work on other LOM XML instances.

Here’s a fragment of the RML, to give a flavour. The whole file is on github, along with other files mentioned here:

 
<#Mapping> a rr:TriplesMap ;
  rml:logicalSource [
    rml:source "lifewatch-lom.xml" ;
    rml:referenceFormulation ql:XPath ;
    rml:iterator "/lom/*"
  ];
  rr:subjectMap [
    rr:template "http://pjjk.local/resources/{external_id}" ;
    rr:class lom:LearningObject
  ] ;
  rr:predicateObjectMap [
    rr:predicate lom:title;
    rr:objectMap [
      rml:reference "general/title/langstring";
      rr:termType rr:Literal;
    ]
  ] ;
 #etc...
 .

I have skipped the prefix declarations and jumped straight the part of the mapping that specifies the source file for the data, and the XMLPath of the element to iterate over in creating new entities. The subjectMap generates an entity identifier using a non-standard element in the LOM record appended to a local URI, and assigns this a class. After that a series of predicateObjectMaps specify predicates and where in the XML to find the values to use as objects. Running this through the mapper generates RDF descriptions, such as:

<http://pjjk.local/resources/DSEdW5uVa2> a lom:LearningObject;
  lom:title "Research Game";
#etc...

Again I have omitted the namespaces; the full file, all statements for all resources, is on github.

Step 2: Describe the mappings in RDF

You’ll notice that lom: namespace in the mapping and generated instance data. That’s not a standard rdf representation of the IEEE LOM, it’s a local schema that defines the relationships of some of the terms mapped from IEEE LOM to more standard schema. The full file is on github, but again, here’s a snippet:

lom:LearningObject a rdfs:Class ;
  owl:equivalentClass sdo:LearningResource , lrmi:LearningResource ;
  rdfs:subClassOf dcat:Resource .

lom:title a rdfs:Property ;
  rdfs:subPropertyOf sdo:name ;
  owl:equivalentProperty dcterms:title .

This is where the magic happens. This is the information that later allows us to use the metadata extracted from LOM records as if it is schema.org or LRMI, Dublin Core or DCAT. Because this schema is used locally only I haven’t bothered to put in much information about the terms other than their mapping to other more recognized terms. The idea here isn’t to be able to work with LOM in RDF, the idea is to take the data from LOM records and work with it as if it were from well defined RDF metadata schema. I also haven’t worried too much about follow-on consequences that may derive from the mappings that I have made, i.e. implied statements about relationships between terms in other schema, such as the implication that if lom:title is equivalent to dcterms:title, and also a subProperty of schema.org/name, then I am saying that dcterms:title is a subProperty of schema.org/name. This mapping is for local use, I’ll assert what is locally useful, if you disagree that’s fine because you won’t be affected by my local assertions.

Just to complete the schema picture, I also have RDF schema definitions files for Dublin Core Terms, LRMI, DCAT and schema.org.

(Aside: I also created some SKOS Concept Schemes for controlled vocabularies used in the LOM records, but they’re not properly working yet.)

Step 3: Build a Knowlege Graph

(Actually I just put all the schema definitions and the RDF representation of the LOM metadata into a triple store, but calling it a knowledge graph gets people’s attention.) I use a local install of Ontotext GraphDB (free version). It’s important when initializing the repository to choose a ruleset that allows lots of inferencing: I use the OWL-MAX option. Also, it’s important when querying the data to select the option to include inferred results.

SPARQL interface for GraphDB showing option to include inferred data
SPARQL interface for GraphDB showing option to include inferred data

Step 4: Results!

The data can now be queried with SPARQL. For example, a simple query to check what’s there:

PREFIX lom: <http://ns.pjjk.local/lom/terms/>

SELECT ?r ?t { 
    ?r a lom:LearningObject ;
    lom:title ?t .  
}

This produces a list of URIs & titles for the resources:

r,n
http://pjjk.local/resources/DSEdW5uVa2,Research Game
http://pjjk.local/resources/FdW84TkcrZ,Alien and Invasive Species showcase
http://pjjk.local/resources/RcwrBMYavY,EcoLogicaCup
http://pjjk.local/resources/SOFHCa8sIf,ENVRI gaming
http://pjjk.local/resources/Ytb7016Ijs,INTERNATIONAL SUMMER SCHOOL Data FAIRness in Environmental & Earth Science Infrastructures: theory and practice
http://pjjk.local/resources/_OhX8O6YwP,MEDCIS game
http://pjjk.local/resources/kHhx9jiEZn,PHYTO VRE guidelines
http://pjjk.local/resources/wABVJnQQy4,Save the eel
http://pjjk.local/resources/xBFS53Iesg,ECOPOTENTIAL 4SCHOOLS 

Nothing here other than what I put in that was converted from the LOM XML records.

More interestingly, this produces the same:

PREFIX sdo: <http://schema.org/> 

Select ?r ?n { 
    ?r a sdo:LearningResource ;
    sdo:name ?n ;
}

This is more interesting because it’s showing a query using schema.org terms yielding results from metadata that came from LOM records.

If you prefer your metadata in DCAT, with a little added lrmi to describe the educational characteristics this:

PREFIX dcat: &lt;http://www.w3.org/ns/dcat#&gt;
PREFIX dcterms: &lt;http://purl.org/dc/terms/&gt;
PREFIX lrmi: &lt;http://purl.org/dcx/lrmi-terms/&gt;

CONSTRUCT {
  ?r a dcat:Resource ;
  dcterms:title ?t ;
  dcat:keywords ?k ;
  lrmi:educationalLevel ?l .
} WHERE {
  ?r a dcat:Resource ;
  dcterms:title ?t ;
  dcat:keywords ?k ;
  lrmi:educationalLevel ?l .
}

will return a graph of such:

@prefix dcat: <http://www.w3.org/ns/dcat#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix lrmi: <http://purl.org/dcx/lrmi-terms/> .

<http://pjjk.local/resources/DSEdW5uVa2> a dcat:Resource ;
	dcterms:title "Research Game" ;
	dcat:keywords "competition" ;
	lrmi:educationalLevel <lomCon:/difficulty/Medium> ;
	dcat:keywords "european" , "gaming" , "research game" , "schools" .

<http://pjjk.local/resources/FdW84TkcrZ> a dcat:Resource ;
	dcterms:title "Alien and Invasive Species showcase" ;
	dcat:keywords "EUNIS habitat" ;
	lrmi:educationalLevel <lomCon:/difficulty/Medium> ;
	dcat:keywords "alien species" , "invasive species" .

<http://pjjk.local/resources/RcwrBMYavY> a dcat:Resource ;
	dcterms:title "EcoLogicaCup" ;
	dcat:keywords "game" ;
	lrmi:educationalLevel <lomCon:/difficulty/Medium> ;
	dcat:keywords "Italian" , "competition " , "ecology" , "school" .

That’s what I call interoperability in spite of multiple standards. Harmonization of metadata so that, even though the data started off as LOM XML records, we can create a database that can queried and exported as if the metadata were schema.org, Dublin Core, LRMI, DCAT…

Acknowledgements:

This brings together work from two projects that I have been involved in. The harmonization of metadata is from the DESM project, funded by the US Chamber of Commerce Foundation, and the ideas coming from Stuart Sutton. The application to LOM, schema.org, DCAT+LRMI came about from a small piece of work I did for DCC at the University of Edinburgh as input to the FAIRsFAIR project.

The post Harmonizing Learning Resource Metadata (even LOM) appeared first on Sharing and learning.

Mapping learning resources to curricula in RDF⤴

from @ Sharing and learning

Some personal reflections on relating educational content to curriculum frameworks prompted by some conversation about the Oak National Academy (a broad curriculum of online material available to schools, based on the English national curriculum), and OEH-Linked-Frameworks (an RDF tool for visualizing German educational frameworks). It draws heavily on the BBC curriculum ontology (by Zoe Rose, I think). I’m thinking about these with respect to work I have been involved in such as K12-OCX and LRMI.

If you want to know why you would do this, you might want to skip ahead and read the “so what?” section first. But in brief: representing curriculum frameworks in a standard, machine-readable way, and mapping curriculum materials to that, would help when sharing learning resources.

Curriculum?

But first: curriculum. What does it mean to say  “a broad curriculum of online material available to schools, based on the English national curriculum”? The word curriculum is used in several different ways (there are 71 definitions in the IGI Global dictionary). ranging from “the comprehensive multitude of learning experiences provided by school to its students” (source) to “the set of standards, objectives, and concepts required to be taught and learned in a given course or school year” (source).  So curriculum in one sense is the teaching, in the other all that should be learnt. Those are different: the Oak National Academy provides teaching materials and activities (for learning experiences); the English National Curriculum specifies what should be learnt. Because very few people are interested in one but not the other, these two meanings often get conflated, which is normally fine but here I want to treat them separately and show how they relate to each other. Lets call them Curriculum Content and Materials, and Curriulum Frameworks respectively, think about how to represent the framework, and then how to relate to content and materials to that framework.

Curriculum Frameworks

This is where the BBC curriculum ontology comes in. It has a nice three-dimensional structure, creating the framework on the axes of Field of Study, Level and Topic.

The three dimensions of the BBC Curriculum Onology model. From https://www.bbc.co.uk/ontologies/curriculum

The levels are those that are defined by the national curriculum for progression English schools (KS = Key Stage, children aged 5 to 7 are normally at Key Stage 1; GCSE is the exam typically taken at 16, so represents the end of compulsory education, though students may stay on to study A-levels or similar after that). The levels used in curriculum frameworks tend to be very contextual, normally relating to the grade levels and examinations used in the school system for which the framework is written. It may be useful to relate them to more neutral (or at least, less heavily contextualised) schemes such as the levels of the EQF, or the levels of the Connecting Credentials framework.

The field of study may be called the “educational subject” (though I don’t like to writing RDF statements with Subject as the object) or, especialy in HE, “discipline”. Topics are the subjects studied within a field or discipline. I don’t much like the examples given here because the topics do just look like mini fields of study. I would wonder where to put “biology”–is it a topic within science or a field of study in its own right. A couple of points about field of study and one about topic may help clarify. In higher education a field of study if often called a discipline, which highlights that it is not just the thing being studied, but a community with a common interest and agreed norms on the tools and techniques used to study the subject. Most HE disciplines have an adjectival form that relates to people (I am a Physicists, she is a Humanist). In schools, fields of study are sometimes artifacts of the curriculum design process with no real equilavent outside of school. These artifacts often seem to have names that are initialisms that you won’t come across outside of specific school settings, for example RMPS ( Religious, Moral and Philosophical Studies), PE (Physical Education), PSHE (personal, social, health and economic education), ESL (English as a Second Language) / ESOL (English for Speakers of Other Languages), ICT (Information and Computer Techonolgy) DT (Design and Technology) — but very often the fields of study will have the same names as the top levels of a topic taxonomy (math/s, english, science). Most fields of study will have someone in a school who is a teacher of that field or leader of its teaching for the school. Topics are more neutral of context, less personal, more like the subjects of the Dewey Decimal System (at least more like they are supposed to be). It’s important to note that the same topic may be covered in different fields of study / disciplines in different ways. For example statistics may be a discipline itself (part of maths), with a very theoretical approach taken to studying the topics, but those topics may also be studied in biology, physics and economics. Crucially when it comes to facilitating discovery of suitable content materials for the curriculum, the approach taken and examples used will probably mean a resource aimed at teaching a statistics topic for economics is not very useful for teaching the same topic as part of physics or mathematics.

On to these axes get mapped the what are variously called learning objectives, intended learning outcomes, learning standards, and so on: the competences you want the students to acheive. They exist in the framework as statements of what  knowledge, skills, abilities a student is expected to be able to demonstrate. Let’s call them competences because that is a term that has wides currency beyond education, for example a competence can link educational outcomes to job requirements. There is a lot written about competences. There’s lots about how to write competence statements, including the form the descriptions should take (“you will be able to …”; how to form them as objectives (specific, mearsurable, …); how they relate to context (“able to … under supervision”); how they relate to each other (“you must learn to walk before you learn to run”); what tools should be used (“able to use a calculator to …”). And, of course, there are the specifications, standards and RDF vocabularies for representing all these aspects of competences, e.g. ASN, IMS CASE, ESCO. Let’s not go into that except to say that a curriculum framework will describe these competences as learning objectives and map them to the Field of study, topic and level schemes used by the framework. The same terms described below for mapping content to frameworks can be useful in doing this.

Mapping Curriculum Content to Curriculum Frameworks

So we have some curriculum content material; how do we map it to the curriculum framework?

It may help to model the content material in the way K12-OCX did, following oerschema, as a hierarchy of course, module, unit, lesson, activity, with associated materials and assessments:

Shows a hierarchy of course, module, unit, lesson, activity, with associated materials and assessments
The content model used by K12-OCX, based on oerschema.org

(Aside: any given course may not have modules or units, or either.)

Breaking curriculum materials down from monolithic courses to their constituent parts (while keeping the logical and pedagogical relationships between those parts) creates finer grained resources more easily accomodated into existing contexts.

At the Course level, oerschema.org gives us the property syllabus which can be used to relate the course to the framework as a whole, called by oerschema a CourseSyllabus, (“syllabus” is another word used in various ways, so lets not worry about any difference between a syllabus and a curriculum framework). This may also be useful at finer-grained levels, e.g. Module and Unit.

@prefix oer: <http://oerschema.org/> .
@prefix sdo: <http://schema.org/> .
@base <http://example.org/> .
<myCurriculumFramework> a oer:CourseSyllabus .
<myCourse> a oer:Course, sdo:Course ;
    oer:syllabus <myCurriculumFramework> .

[example code in tutle, there’s a JSON-LD version of it all below]

We can use the schema.org educationalLevel property to relate the resource to the educational level of the framework:

<myCourse> sdo:educationalLevel <myCurriculumFramework/Levels/KS4> .

Lets say our course deals with Mathematics and has a Unit on Statistics (no modules). We can use the schema.org AlignmentObject to say that there is an educationAlignment between my Course and my Unit to the field of study (that is, in the language of the alignment object, the educational subject). We can use the schema.org about property to say what the topic is:

<myCourse> sdo:hasPart <myUnit> ;
    sdo:educationalAlignment [
        a sdo:AlignmentObject ;
        sdo:alignmentType "educationalSubject";
        sdo:targetUrl <myCurriculumFramework/FieldsOfStudy/Mathematics>
    ] .

<myUnit> a oer:Unit, sdo:LearningResource ;
    sdo:educationalAlignment [
        a sdo:AlignmentObject ;
        sdo:alignmentType "educationalSubject";
        sdo:targetUrl <myCurriculumFramework/FieldsOfStudy/Mathematics>
    ] ;
    sdo:about <myCurriculumFramework/Topic/Statistics> .

For lessons, and especially for activities, we can relate to competences as individual learning objectives. The schema.org teaches property is designed for this:

<myUnit> sdo:hasPart <myLesson> .
<myLesson> a oer:Lesson, sdo:LearningResource ;
    sdo:hasPart <myActivity> .

<myActivity> a oer:Activity, sdo:LearningResource ;
   sdo:teaches <myCurriculumFramework/Objective/Competence0123> .

Whether you repeat about and educationalAlignment statements linking to “Field of Study” and “Topic” in the descriptions of Lessons and Activities depends on how much you want to rely on inferencing that something which is a part of a course has the same Fields of Study, something which is a part of Unit has the same topic, and so on. If your parts might get scattered, or used by systems that don’t do RDF inferencing, then you’ll want to repeat them (they will, you should). I haven’t done so here just to avoid repetition.

Finally, let’s link the competence statement to the framework (the framework here represented in a fairly crude way, not wanting to get into the intricacies of competence frameworks):

<myCurriculumFramework> a oer:CourseSyllabus, sdo:DefinedTermSet ;
    sdo:hasDefinedTerm <myCurriculumFramework/Objective/Competence0123> .

<myCurriculumFramework/Objective/Competence0123> a sdo:DefinedTerm,  
                                                   sdo:LearningResource ;
    sdo:educationalAlignment [ 
        a sdo:AlignmentObject ; 
        sdo:alignmentType "educationalSubject"; 
        sdo:targetUrl <myCurriculumFramework/FieldsOfStudy/Mathematics> 
    ] ;
    sdo:about <myCurriculumFramework/Topic/Statistics> ;
    sdo:educationalLevel <myCurriculumFramework/Levels/KS4> ;
    sdo:description "You will be able to use a calculator to find the mean..." ;
    sdo:name "Calculate the arithmetic mean" .

(Aside: Modelling a learning objective / competence as a defined term and a LearningResource is probably the most  controversial thing here, but I think it works for illustration.)

So What?

Well this shows several things I think would be useful:

  • Having metadata for a curriculum (whatever it is) will help others find it and use it, if suitable tools for using the metadata exist.
  • Tools are more likely to exist if the metadata is nicely machine readable (RDF, not PDF) and standardised (widely used vocabularies like schema.org).
  • A common model for curriculum frameworks will make mapping from one to another easier. For example. it’s easier to map from UK to US educational levels if they are clearly and separately defined.
  • Breaking curriculum materials down from monolithic courses to their constituent parts (while keeping the logical and pedagogical relationships between those parts) creates finer grained resources more easily accomodated into existing contexts.
  • Mapping curriculum materials to learning objectives in a given framework makes it easier to find resources for that curriculum, which is great, but the world is bigger than one curriculum.
  • Mapping both learning objectives and curriculum materials to the axes of the curriculum framework model makes it easier to find resources appropriate accross different curricula.

Finally, if you prefer your RDF as JSON-LD:

{
  "@context": {
    "oer": "http://oerschema.org/",
    "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
    "rdfs": "http://www.w3.org/2000/01/rdf-schema#",
    "schema": "http://schema.org/",
    "sdo": "http://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#"
  },
  "@graph": [
    {
      "@id": "http://example.org/myCurriculumFramework",
      "@type": [
        "oer:CourseSyllabus",
        "schema:DefinedTermSet"
      ],
      "schema:hasDefinedTerm": {
        "@id": "http://example.org/myCurriculumFramework/Objective/Competence0123"
      }
    },
    {
      "@id": "http://example.org/myActivity",
      "@type": [
        "oer:Activity",
        "schema:LearningResource"
      ],
      "schema:teaches": {
        "@id": "http://example.org/myCurriculumFramework/Objective/Competence0123"
      }
    },
    {
      "@id": "http://example.org/myCourse",
      "@type": [
        "schema:Course",
        "oer:Course"
      ],
      "oer:syllabus": {
        "@id": "http://example.org/myCurriculumFramework"
      },
      "schema:educationalAlignment": {
        "@id": "_:ub132bL12C30"
      },
      "schema:educationalLevel": {
        "@id": "http://example.org/myCurriculumFramework/Levels/KS4"
      },
      "schema:hasPart": {
        "@id": "http://example.org/myUnit"
      }
    },
    {
      "@id": "http://example.org/myLesson",
      "@type": [
        "schema:LearningResource",
        "oer:Lesson"
      ],
      "schema:hasPart": {
        "@id": "http://example.org/myActivity"
      }
    },
    {
      "@id": "http://example.org/myUnit",
      "@type": [ 
        "oer:Unit",
        "schema:LearningResource"
       ],
       "schema:about": {
        "@id": "http://example.org/myCurriculumFramework/Topic/Statistics"
      },
      "schema:educationalAlignment": {
        "@id": "_:ub132bL21C30"
      },
      "schema:hasPart": {
        "@id": "http://example.org/myLesson"
      }
    },
    {
      "@id": "_:ub132bL12C30",
      "@type": "schema:AlignmentObject",
      "schema:alignmentType": "educationalSubject",
      "schema:targetUrl": {
        "@id": "http://example.org/myCurriculumFramework/FieldsOfStudy/Mathematics"
      }
    },
    {
      "@id": "_:ub132bL40C30",
      "@type": "schema:AlignmentObject",
      "schema:alignmentType": "educationalSubject",
      "schema:targetUrl": {
        "@id": "http://example.org/myCurriculumFramework/FieldsOfStudy/Mathematics"
      }
    },
    {
      "@id": "http://example.org/myCurriculumFramework/Objective/Competence0123",
      "@type": [
        "schema:LearningResource",
        "schema:DefinedTerm"
      ],
      "schema:about": {
        "@id": "http://example.org/myCurriculumFramework/Topic/Statistics"
      },
      "schema:description": "You will be able to use a calculator to find the mean ...",
      "schema:educationalAlignment": {
        "@id": "_:ub132bL40C30"
      },
      "schema:educationalLevel": {
        "@id": "http://example.org/myCurriculumFramework/Levels/KS4"
      },
      "schema:name": "Calculate the arithmetic mean"
    },
    {
      "@id": "_:ub132bL21C30",
      "@type": "schema:AlignmentObject",
      "schema:alignmentType": "educationalSubject",
      "schema:targetUrl": {
        "@id": "http://example.org/myCurriculumFramework/FieldsOfStudy/Mathematics"
      }
    }
  ]
}

 

The post Mapping learning resources to curricula in RDF appeared first on Sharing and learning.

K12 Open Content Exchange⤴

from @ Sharing and learning

I’ve been intending to write about the K12 Open Content Exchange project, and its metadata, but for various reasons haven’t got round to it. As I have just submitted a use case to the DCMI Application Profile Interest Group based on the projects requirements I’ll post that.

The project is being run by Learning Tapestry in the US, I am contracted to build the metadata specification in an iterative fashion based on experiences of content exchange between the partners (currently we are at iteration 1). I want to stress that this isn’t an authoritative description of all the project’s intents and purposes, or even all the metadata requirements, it’s a use case based on them, but I hope it gives a flavour of the work. The requirements section is more relevant if you’re interested in how to specify application profiles than for the OCX spec per se.

Problem statement

We wish to share relatively large amounts of content and curriculum materials relating to educational courses, for example: all the activities, student learning resources, teacher and parent curriculum guides, formative assessments, etc relating to one school-year of study in a subject such as mathematics.

We wish for the metadata to facilitate the editing, adaptation and reuse of the resources. For example teachers should be able to substitute resources/activities provided with other resources addressing the same objective as they see fit. Or course designers should be able pull out all the resources of a particular type (say activity plans), about a given topic, or addressing a specific learning outcome and use them in a new course. In some cases alternate equivalent content may be provided, for example online Vs offline content or to provide accessible provision for people with disabilities.

We wish for these to be discoverable on the open web at both broad and fine levels of granularity, i.e. whole courses and the individual parts should be discoverable via search engines.

We have decided to use the following vocabularies to describe the structure and content of the material: schema.org + LRMI, OERSchema and local extensions where necessary.

Stakeholders

  • Original content providers who create and publish curriculum and course materials using existing systems and already have (local) terminology for many aspects of resource description.
  • Content processors take the original content and offer it through their own systems. They also have (different) terminology for many aspects of resource description
  • Content purchasers wish to discover and buy content that meets their requirements
  • Course designers and Teachers use the content that has been purchased and wish to adapt it for their students
  • Parents wish to understand what and how their students are being taught
  • Learners want a seamless experience using high quality materials and ideas, in which all the work above is invisible.

Requirements

The application profile must reference evolving specifications: schema.org, OERSchema, various controlled vocabularies/concept schemes/encoding schemes and local extensions. If a local extension is adopted by one of the more widely recognised specifications it should be easy to modify the application profile to reflect this.

The application profile must include a content model that meets the following requirements for describing the structure of content:

  • identify the distinct types of entity involved (Course, Unit, Lesson, Supporting Material, Audience, Learning Objectives, Assessments etc)
  • show the hierarchy of the content (i.e. the Course comprises Units, the Units comprise Lessons, the Lessons comprise Activities)
  • show related content that is not part of the hierarchy but is related to (e.g. information about Units for teachers and parents, content to be used in the Activities)
  • show the ordering of sequential content
  • show options for alternative equivalent content

The application profile must specify optional (may), desired (should) and required (must) descriptive metadata as appropriate for each type of entity. For example

  • Activities must have a learning Time
  • an Activity should have a name
  • any resource may be associated with an Audience

The application profile must specify cardinality. for example:

  • Courses must have one and only one title
  • Units must have one or more Lesson
  • Units may have one or more Assessment

There may be alternative ways of satisfying a requirement

  • Courses must associated with either one or more Lesson or one or more Unit
  • If there is more than one Lesson in a Unit or Course, the Lessons must be ordered

The application profile must specify the expected type or value space for any property

  • this may be more restrictive than the base specification
  • this may extent the base specification
  • this may include alternatives (e.g. free text or reference concept from controlled scheme)

 

The post K12 Open Content Exchange appeared first on Sharing and learning.

Progress report for Educational and Occupational Credentials in schema.org⤴

from @ Sharing and learning

[This is cross-posted from the Educational and Occupational Credentials in schema.org W3C community group, if you interested please direct your comments there.]

Over the past few months we have been working systematically through the 30-or-so outline use cases for describing Educational and Occupational Credentials in schema.org, suggesting how they can be met with existing schema.org terms, or failing that working on proposals for new terms to add. Here I want to summarize the progress against these use cases, inviting review of our solutions and closure of any outstanding issues.

Use cases enabled

The list below summarizes information from the community group wiki for those use cases that we have addressed, with links to the outline use case description, the wiki page showing how we met the requirements arising from that use case, and proposed new terms on a test instance of schema.org (may be slow to load). I tried to be inclusive / exhaustive in what I have called out as an issue.

1.1 Identify subtypes of credential

1.2 Name search for credential

1.3 Identify the educational level of a credential

1.4 Desired/required competencies

1.6 Name search for credentialing organization

1.8 Labor market value

1.11 Recognize current competencies

1.13 Language of Credential

2.1 Coverage

2.2 Quality assurance

2.5 Renewal/maintenance requirements

2.6 Cost

3.1 Find related courses, assessments or learning materials

3.3 Relate credentials to competencies

3.4 Find credentialing organization

4.2 Compare credentials

  • Credentials can be compared in terms of any of the factors above, notably cost, compentencies required, recognition and validity.

4.3 Build directories

1.5 Industry and occupation analysis

1.7 Career and education goal

1.10 Job vacancy

3.2 Job seeking

Use cases that have been ‘parked’

The following use cases have not been addressed; either they were identified as low priority or there was insufficient consensus as to how to enable them:

1.9 Assessment (see issue 5, no way to represent assessments in schema.org)

1.12 Transfer value: recognizing current credentials (a complex issue, relating to “stackable” credentials, recognition, and learning pathways)

2.3 Onward transfer value (as previous)

2.4 Eligibility requirements (discussed, but no consensus)

3.5 Find a service to verify a credential (not discussed, low priority)

4.1 Awarding a Credential to a Person  (not discussed, solution may be related to personal self-promotion)

4.4 Personal Self-promotion (pending discussion)

4.5 Replace and retire credentials (not discussed, low priority)

Summary of issues

As well as the unaddressed use cases above, there are some caveats about the way other use cases have been addressed. I have tried to be inclusive / exhaustive in what I have called out as an issue,–I hope many of them can be acknowledged and left for future contributions to schema.org, we just need to clarify that they have been.

  • Issue 1: whether EducationalOccupationalCredential is a subtype of CreativeWork or Intangible.
  • Issue 2: competenceRequired only addresses the simplest case of individual required competencies.
  • Issue 3: whether accreditation is a form of recognition.
  • Issue 4: the actual renewal / maintenance requirements aren’t specified.
  • Issue 5: there is no way represent Assessments in schema.org
  • Issue 6: there is no explicit guidance on how to show required learning materials for a Course in schema.org.

There is an issues page on the wiki for tracking progress in disposing of these issues.

Summary of proposed changes to schema.org

Many of the use cases were addressed using terms that already exist in schema.org. The changes we currently propose are

Addition of a new type EducationalOccupationalCredential

Addition of four properties with domain EducationalOccupationalCredential:

Addition of EducationalOccupationalCredential to the domain of two existing properties (with changes to their definition to reflect this):

Addition of EducationalOccupationalCredential to the range of three existing properties:

The post Progress report for Educational and Occupational Credentials in schema.org appeared first on Sharing and learning.

Educational and occupational credentials in schema.org⤴

from @ Sharing and learning

Since the summer I have been working with the Credential Engine, which is based at Southern Illinois University, Carbondale, on a project to facilitate the description of educational and occupational credentials in schema.org. We have just reached the milestone of setting up a W3C Community Group to carry out that work.  If you would like to contribute to the work of the group (or even just lurk and follow what we do) please join it.

Educational and occupational credentials

By educational and occupational credentials I mean diplomas, academic degrees, certifications, qualifications, badges, etc., that a person can obtain by passing some test or examination of their abilities. (See also the Connecting Credentials project’s glossary of credentialing terms.)  These are already alluded to in some schema.org properties that are pending, for example an Occupation or JobPosting’s qualification or a Course’s educationalCredentialAwarded. These illustrate how educational and occupational credentials are useful for linking career aspirations with discovery of educational opportunities. The other entity type to which educational and occupational credentials link is Competence, i.e. the skills, knowledge and abilities that the credential attests. We have been discussing some work on how to describe competences with schema.org in recent LRMI meetings, more on that later.

Not surprisingly there is already a large amount of relevant work done in the area of educational and occupational credentials. The Credential Engine has developed the Credential Transparency Description Language (CTDL) which has a lot of detail, albeit with a US focus and far more detail that would be appropriate for schema.org. The Badge Alliance has a model for open badges metadata that is applicable more generally. There is a W3C Verifiable Claims working group which is looking at credentials more widely, and the claim to hold one. Also, there are many frameworks which describe credentials in terms of the level and extent of the knowledge and competencies they attest, in the US Connecting Credentials cover this domain, while in the EU there are many national qualification frameworks and a Framework for Qualifications of the European Higher Education Area.

Potential issues

One potential issue is collision with existing work. We’ll have to make sure that we know where the work of the educational and occupational credential working group ends, i.e what work would best be left to those other initiatives, and how we can link to the products of their work. Related to that is scope creep. I don’t want to get involved in describing credentials more widely, e.g. issues of identification, authentication, authorization; hence the rather verbose formula of ‘educational and occupational credential. That formula also encapsulates another issue, a tension I sense between the educational world and the work place: does a degree certificate qualify someone to do anything, or does it just relate to knowledge?  Is an exam certificate a qualification?

The planned approach

I plan to approach this work in the same way that the schema course extension community group worked. We’ll use brief outline use cases to define the scope, and from these define a set of requirements, i.e. what we need to describe in order to facilitate the discovery of educational and occupational credentials. We’ll work through these to define how to encode the information with existing schema.org terms, or if necessary, propose new terms. While doing this we’ll use a set of examples to provide evidence that the information required is actually available from existing credentialling organizations.

Get involved

If you want to help with this, please join the community group. You’ll need a W3C account, and you’ll need to sign an assurance that you are not contributing any intellectual property that cannot be openly and freely licensed.

The post Educational and occupational credentials in schema.org appeared first on Sharing and learning.