This dataset was created as part of the JISC course data programme.

The courses dataset contains metadata about graduate training opportunities from various providers within the University. The list of systems from which course data is exposed can be found using this SPARQL query.

Data are stored within the system as RDF, but can be requested as XCRI-CAP. All of the standard APIs are also available for use with the courses dataset.


All data within the courses dataset (and sub-datasets) is released under the terms of the Open Government License.

XCRI-CAP feeds

There are XCRI-CAP feeds for each provider, and a couple of amalgamated feeds at

The XCRI-CAP specification can be found at

The simple XCRI-CAP feeds contain just one <provider/> element, to comply with the requirements of the course data programme. In these cases the provider is the publisher of the feed. For example, as Daisy is a system maintained by the Social Sciences Division they are listed as its publisher, and the University is the publisher of the amalgamated feed.

The ‘full’ feeds have multiple <provider/> elements, each containing the courses offered by that provider. Unless you are constrained by the course data programme specification, it is recommended that you use these feeds in preference to the simple feeds.

Search API

There is a simple course search available at For more complicated searching, it is recommended that you use the ElasticSearch endpoint.

RDF Modelling

The RDF modelling follows the structure of the XCRI-CAP XML specification. Here are the classes:

Class name Description
xcri:catalog A collection of courses.
xcri:provider An organization providing courses. You shouldn’t need to rely on the presence of this class, rather something is a provider if it mlo:offers one or more xcri:course resources.
xcri:course The “concept” of a course, divorced from the concept of an instance of it being delivered.
xcri:presentation An instance of a course being delivered as a whole unit of learning. A presentation may take place over several sessions.
oxcap:Session An Oxford-specific class for a session within a presentation. Not all presentations have sesion information.

And here are the relevant predicates:

Predicate name Description
skos:member Used to say that a course is within a catalog, or that a catalog includes all courses from another catalog. Thus, to find all courses in a catalog one should use the pattern ?catalog skos:member* ?course . ?course a xcri:course.
mlo:offers Relates a provider to a course it offers.
mlo:specifies Relates a course to one of its presentations.
mlo:consistsOf Relates a presentation to one of its sessions.
dcterms:title The title of a course or presentation. Note that we use the dcterms: namespace, not the dc: namespace used by the XCRI-CAP XML specification.
dcterms:description The description of a course or presentation
dcterms:subject Relates a course to a concept in some classification scheme, such as the Oxford version of the Researcher Development Framework, JACS, or whether the course develops quantitative or qualitative research skills. For more information, see Categorizations below.


Courses are categorized — using dcterms:subject properties — in zero or more of the schemes described below. Each is modelled using SKOS, the Simple Knowledge Organization System.

Each skos:ConceptScheme has one or more skos:hasTopConcept properties, pointing at skos:Concept resources. skos:Concept resources may have skos:narrower properties, pointing at more specific concepts. Every concept within a scheme is linked to that scheme using a skos:inScheme property. For more information on SKOS relations, see §8 of the SKOS Reference.

Each concept has a skos:notation property containing an identifier. The datatype of that property effectively provides a namespace for that notation scheme. You can read more about SKOS notations in §6 of the SKOS Reference.

The Oxford version Researcher Development Framework

Concept scheme:
Example concept:
Notation datatype:

This is a simplified, aligned version of the Researcher Development Framework maintained and controlled by Vitae. It is maintained in GitHub.

Oxford Research Methods Classification

Concept scheme:
Example concept:
Notation datatype:

This contains just two concepts, one for qualitative research methods, and one for quantitative. It is maintained in GitHub.

Joint Academic Coding System (JACS)

Concept scheme:
Example concept:
Notation datatype:

The JACS article on Wikipedia provides plentiful information about JACS.

Since it is no longer hosted by the Data Incubator, we create an RDF version from the HESA JACS CSV file, which is stored in GitHub.

The Researcher Development Framework

Concept scheme:
Example concept:
Notation datatype:

We maintain an RDF version of Vitae‘s Researcher Development Framework, generated from a spreadsheet in GitHub.

Although not used to directly annotate courses, we have aligned it with the Oxford simplified version, so it can still be used in queries.

Data sources

The Open Data Service pulls data from the following upstream sources:

Provider Type URL
IT Learning Programme XCRI-CAP
Continuing Education XCRI-CAP
Careers Service Spreadsheet

One or more of these may be restricted access.

Metadata and XSL transforms may be found in GitHub.

Example resources