This progress update on the work to extend schema.org to support the discovery of any type of educational course is cross-posted from the Schema Course Extension W3C Community Group. If you are interested in this work please head over there.
What aspects of a course can we now describe?
As a result of work so far addressing the use cases that we outlined, we now have answers to the following questions about how to describe courses using schema.org:
- How to define something as being about a course or being about an instance of that course
- How to mark up the identifier used by providers to identify their courses
- How to identify a course by provider and name
- How to mark up the subject of a course
- How to identify the location where a course is offered
- How to identify the start and end of an instance of a course, and the times of events that are part of it
- Related to start and end dates of a course, how to specify the duration and amount of time typically required to complete a course
- How to identify the organizations providing and offering courses (and how these two roles may differ).
- How to identify the teacher / instructor of a course (who may or nay not be the creator of the course).
- How to mark up the mode of study or delivery.
- How to identify a course which is a prerequisite of the course being described or to link to or describe other prerequisites.
As with anything in schema.org, many of the answers proposed are not the final word on all the detail required in every case, but they form a solid basis that I think will be adequate in many instances.
What new properties are we proposing?
In short, remarkably few. Many of the aspects of a course can be described in the same way as for other creative works or events. However we did find that we needed to create two new types Course and CourseInstance to identify whether the description related to a course that could be offered at various times or a specific offering or section of that course. We also found the need for three new properties for Course: courseCode, coursePrerequisites and hasCourseInstance; and two new properties for CourseInstance: courseMode and instructor.
There are others under discussion, but I highlight these as proposed because they are being put forward for inclusion in the next release of the schema.org core vocabulary.