UPDATE: there is a new W3C community group schema course extend set up to progress these ideas. Please join if you are interested.
This is essentially an invite to get involved with building a schema extension for educational courses, by way of a description of work so far. If you want to reply it’s sent as an email schema.org mail list.
About a year ago there was a flurry of discussion about wanting to markup descriptions of courses in schema. Vicky Tardiff-Holland produced a proposal which we discussed in LRMI and elsewhere as a result of which various suggestions were and comments were added to that proposal.
I also led some work in LRMI around scope, use cases, requirements, existing data; which I hope will lead to validating/refining the proposal by some example data that could be used to demonstrate that it met the use cases.
I am up for another push on courses. I share the doc I was working on in the hope that it is good starting point. It’s a bit long, so here is an overview of what it contains:
- scope: concerning discovery of any type of educational course (online/offline, long/short, scheduled/on-demand) Educational course defined as “some sequence of events and/or creative works which aims to build knowledge, competence or ability of learners”. (out of scope: information about students and their progression etc; information needed internally for course management rather than discovery)
- comparators: a review of some established ways of sharing similar data
- use cases
- requirements arising from the use cases
- mapping to some existing examples. I used hypothes.is to annotate existing web pages that describe different types of course, e.g. from Coursera or a University, tagging the requirement that the data was relevant to. Here’s an example of a page as tagged (click on a yellow highlight to show the relevant requirement as a comment with a tag)
hypothes.is aggregates the selected information for each tag, to give a list of the information relevant to each use case, for example cost
I think the next step would be to review the use cases and requirements in light of some of the observations from the mapping, and to look again at the proposal to see how it reflects the data available/required. But first I want to try to get more people involved, see whether anyone has a better idea for how to progress, or if anyone wants to check the work so far and help move it forward.
Finally, I’m aware the docs and discussions so far around schema for courses are a scattered set of scraps and drafts. If there is enough interest it would be really useful to have it in one place.
This year, I noticed that Google search results were showing the course offering events automatically generated from our XCRI XML on individual course pages.
Our yearly cycle has removed almost all of our examples, but you can see a test instance if you search Google for:
https://www.google.co.uk/#q=harbour+dolphin+dialect
you might get a search result formatted as:
Title (of course)
URL (of course details page)
Description (of course)
From-To Mode Location
From-To Mode Location
from the HTML markup, where each table row represents an event:
2016-09-012017-05-20Full timePort Street, Picton
which is generated from the XCRI CAP XML with the XSLT:
http://www.kelpiecollege.org.uk/xml/xsl/t/courses/xcricap1p2toxhtmldetails.xslt
I imagine that you will wish to see similar but more developed result formats when your schema.org extensions are supported in search engines.
Hi Tavis, if it wasn’t for the current difficulties in crossing the Forth I would be tempted by a course to improve my Cetacean 🙂
Seriously, if you have the opportunity to join the W3C community group that would be fantastic, but even if you don’t it would be great to test what we develop with XSLT transforms of XCRI-CAP.
Thanks, Phil
Ah, the perennial problem of publishing test/dummy data on the web. I never quite understood how the semantic web was supposed to work that out unless you could declare it in some way, and the PROV initiative did not seem to help. So hopefully my content can be detected as ‘test/dummy’ by humans (and other sentients).
Thank you, Phil, I have put my name forward, and hopefully I can contribute as you say. It should be relatively trivial to apply a one-to-one mapping in the XSLT as described above.
And as I carelessly allowed my markup to be removed by the above post, the table row (with hcalendar attributes) looks like:
<tr class="vevent"><td class="dtstart" title="2016-09-01T00:00:00+01:00">2016-09-01</td><td class="dtend" title="2017-05-20T00:00:00+01:00">2017-05-20</td><td class="summary">Full time</td><td class="location">Port Street, Picton</td></tr>
I plan to change the transformation in future so that it puts your schema.org extensions in instead.