Abstract

Educational videos represent one of the most popular formats in online education, but they can also suffer of several limitations. They can for instance be lengthy and thus hard to navigate when you need to recall concepts; besides, they generally lack explicit tables of contents or other indexing systems for exploring the video content.

To solve this problem, the first step is to have an effective representation of the content of the video, with a data model which is able to encode both concepts which are explained in it and evolving relations between them, relating concepts with their prerequisite (weak or strong).

The Edurell Data Model describes a structured model to annotate video resources with the concepts which are explained and with prerequisite relationships between those concepts. This data model is mainly based on the use of the Web Annotation Ontology [annotation-ontology], extended with some classes and properties belonging to the newly-developed Edurell Ontology [edu-ontology].

Status of This Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document.

This document is a working draft.

1. Introduction

This section is non-normative.

The specification is divided into two major sections: the terms defined in the Edurell Ontology, and terms from other ontologies used in the model.

Each class lists the recommendations from the model for the REQUIRED, RECOMMENDED and OPTIONAL object and data properties for instances of the class. Instances may, of course, be the subject of any other triples that implementers find useful, however there is no expectation of interoperability in these cases.

1.1 Namespaces

Prefix Namespace Description
oa http://www.w3.org/ns/oa# [annotation-ontology]
as http://www.w3.org/ns/activitystreams# [activitystreams-vocabulary]
dc http://purl.org/dc/elements/1.1/ [DC11]
dcterms http://purl.org/dc/terms/ [DC-TERMS]
dctypes http://purl.org/dc/dcmitype/ [DC-TERMS]
foaf http://xmlns.com/foaf/0.1/ [FOAF]
rdf http://www.w3.org/1999/02/22-rdf-syntax-ns# [rdf-schema]
rdfs http://www.w3.org/2000/01/rdf-schema# [rdf-schema]
schema http://schema.org/ schema.org
skos http://www.w3.org/2004/02/skos/core# [skos-reference]
xsd http://www.w3.org/2001/XMLSchema# [xmlschema-2]

1.2 Diagrams and Examples

The examples throughout the document are serialized as [Turtle] with the prefixes taken from the namespace declarations given in Section 1.1. The examples are informative only.

The diagrams use the following style

1.3 Conformance

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key words MAY, MUST, MUST NOT, OPTIONAL, RECOMMENDED, REQUIRED, and SHOULD are to be interpreted as described in [RFC2119].

1.4 Terminology

IRI
An IRI, or Internationalized Resource Identifier, is an extension to the URI specification to allow characters from Unicode, whereas URIs must be made up of a subset of ASCII characters. There is a mapping algorithm for translating between IRIs and the equivalent encoded URI form. IRIs are defined by [rfc3987].
Resource
An item of interest that MAY be identified by an IRI.
Web Resource
A Resource that MUST be identified by an IRI, as described in the Web Architecture [webarch]. Web Resources MAY be dereferencable via their IRI.
External Web Resource
A Web Resource which is not part of the representation of the Annotation, such as a web page, image, or video. External Web Resources are dereferencable from their IRI.
Property
A feature of a Resource, that often has a particular data type. In the model sections, the term "Property" is used to refer to only those features which are not Relationships and instead have a literal value such as a string, integer or date. The valid values for a Property are thus any data type other than object, or an array containing members of that data type if more than one is allowed.
Relationship
In the model sections, the term "Relationship" is used to distinguish those features that refer to other Resources, either by reference to the Resource's IRI or by including a description of the Resource in the Annotation's representation. The valid values for a Relationship are: a quoted string containing an IRI, an object that has the "id" property, or an array containing either of these if more than one is allowed.
Class
Resources may be divided, conceptually, into groups called "classes"; members of a class are known as Instances of the class. Resources are associated with a particular class through typing. Classes are identified by IRIs, i.e., they are also Web Resources themselves.
Type
A special Relationship that associates an Instance of a class to the Class it belongs to.
Instance
An element of a group of Resources represented by a particular Class.
Note
RDF [rdf-concepts] is fully internationalized and permits the use of IRIs for identifying resources. This specification uses the term IRI to make it clear that this is the case.

2. Edurell Annotations

The Edurell model is based on a set of annotations made accordingly to the Web Annotation Ontology specification [annotation-ontology]. Three types of annotations are possible, each marked by a different Motivation (oa:motivatedBy property).

The Edurell knowledge graph is made up of a series of videos. Each of them MAY be associated with 0 or 1 ConLL file through the usage of a ConLL Annotation.

Segments of the video, identified by a RangeSelector, may be annotated to specify the concept(s) that are explained in such segments through a Concept Annotation.

A specific instant of the video, identified through an InstantSelector, may be annotated to specify a prerequisite relation with another concept existing from that time by using a Prerequisite Annotation.

2.1 ConLL Annotation

Each video resource MAY be associated with at most one ConLL file, used to describe the words of the video transcription.

conll annotation

Model

Property Value or Range Description
rdf:type oa:Annotation Each annotation MUST be of class oa:Annotation according to the Web Annotation specification [annotation-ontology].
Properties other than those expressed here MAY be added according to the original documentation.
oa:motivatedBy edu:linkingConll A ConLL Annotation MUST have exactly 1 motivation corresponding to edu:linkingConll, which extends the original oa:linking motivation from [annotation-ontology].
oa:hasBody dctypes:Text A video MAY have a single ConLL file associated, thus a ConLL Annotation MUST a have a single Body representing a ConLL file. Its type SHOULD be dctypes:Text. If an associated ConLL file does not exist, no ConLL annotations for that video should exist.
oa:hasTarget dctypes:MovingImage Each ConLL file represents the transscription of a single video, thus a ConLL Annotation MUST have a single Target representing a ConLL file. Its type SHOULD be dctypes:MovingImage. If an associated ConLL file does not exist, no ConLL annotations for that video should exist.

Complete example

concept annotation
Example 1: ConLL Annotation
<http://example.org/anno1> a oa:Annotation ;
    oa:motivatedBy edu:linkingConll ;
    oa:hasBody <http://example.org/conll1> ;
    oa:hasTarget <http://example.org/video1> ;
    dcterms:creator <http://example.org/person1> ;
    dcterms:created "2021-01-24T18:17:03Z" .

<http://example.org/video1> a dctypes:MovingImage ;

<http://example.org/conll1> a dctypes:Text ;

<http://example.org/person1> a foaf:Person ;

2.2 Concept Annotation

A video lesson, but more in general every long-form informative content, may be about different concepts, which are developed along the content. Concepts may intertwine with one another, so that some parts of the resource may be about more than one concept at a time.

The Concept Annotation is used to annotate a portion of the video with the concept it's about. It is possible to specify whether a segment of video contains a definition of a concept or an expansion of it, for example when adding details to a previously introduced one. The combination of all annotations of this type provides a complete map of all concepts which are explained, with the possibility for concepts to be repeated throughout the video.

concept annotation

Model

Property Value or Range Description
rdf:type oa:Annotation Each annotation MUST be of class oa:Annotation according to the Web Annotation specification [annotation-ontology].
Properties other than those expressed here MAY be added according to the original documentation.
oa:motivatedBy oa:describing A Concept Annotation MUST have exactly 1 motivation corresponding to oa:describing, which is used because this kind of annotation has the goal of describing the concept explained in the selected section.
oa:hasBody skos:Concept The concept which is the topic of the annotated segment. Each portion of the video MAY be associated with 1 or more concepts.
oa:hasTarget oa:SpecificResource The segment of the video (and, optionally, the associated portion of text) of which the annotation states the topic. Check out 2.2.1 Target
skos:note "conceptDefinition" or "conceptExpansion" A literal expressing whether the annotated segment is defining the specified concept (conceptDefinition) or is adding details to a concept which (presumably) has been already introduced (conceptExpansion).

2.2.1 Target

Each Concept Annotation MUST have 1 or more Targets of type oa:SpecificResource. Multiple targets are to be intended as multiple segments of one ore more resources that are associated with the same concept. If this is the case, multiple annotations can also be used instead.

The Target is used to identify both the video resource which is being annotated and the specific portion of the video.

target part of concept annotation

Model

Term Value or Range Description
rdf:type oa:SpecificResource The class of the Target. Each Concept Annotation MUST have exactly 1 Target of type oa:SpecificResource, according to the Web Annotation specification [annotation-ontology].
Properties other than those expressed here MAY be added according to the original documentation.
oa:hasSource dctypes:MovingImage The original video resource the annotated segment is part of. Each Concept Annotation Target MUST have exactly 1 video resource as Source. A ConLL file describing the video transcription MAY be associated to the video using a ConLL Annotation.
oa:hasSelector oa:RangeSelector A RangeSelector is used to select the beginning and end instants of the segment this annotation refers to. A more accurate description of how to use this selector within this ontology is provided at 3.2 RangeSelector. See also the original documentation [annotation-ontology].

Complete example

concept annotation
Example 2: Concept Annotation
<http://example.org/anno1> a oa:Annotation ;
    oa:motivatedBy oa:describing ;
    oa:hasBody <http://example.org/sexual_dimorphism> ;
    oa:hasTarget [
        a oa:SpecificResource ;
        oa:hasSource <http://example.org/video1> ;
        oa:hasSelector [
            a oa:RangeSelector ;
            oa:hasStartSelector [
                a edu:InstantSelector ;
                rdf:value "00:08:28^^xsd:dateTime" ;
                edu:conllSentId 3 ;
                edu:conllWordId 7 ] ;
            oa:hasEndSelector [
                a edu:InstantSelector ;
                rdf:value "00:08:45^^xsd:dateTime" ;
                edu:conllSentId 5 ;
                edu:conllWordId 2 ] ] ] ;
    skos:note "conceptDefinition" ;
    dcterms:creator <http://example.org/person1> ;
    dcterms:created "2021-04-18T12:10:04Z" .

<http://example.org/sexual_dimorphism> [
    a oa:CssSelector ;
    skos:prefLabel "sexual dimorphism" ] .

<http://example.org/video1> a dctypes:MovingImage ;

<http://example.org/person1> a foaf:Person ;

2.3 Prerequisite Annotation

A video lesson, but more in general every long-form informative content, is made up of different concepts evolving over time, which may be linked by relationships of prerequisite, so that one or more concepts may be needed to understand another. These relationships may evolve over time as well, so that a concept might gain new prerequisites along the explanation, or a prerequisite may change strength, for example when a concept is first introduced in a general way, then explained in more detail.

The Prerequisite Annotation allows to state a prerequisite relationship existing at a specific point in the video, with an indication of its strength (either strong or weak). The specific term which is being annotated (i.e. the concept the prerequisite is associated with) may also be directly linked with a specific word in the transcription of the video by using the appropriate conll properties of InstantSelector. Check 3.2.1 InstantSelector for more information.

conll annotation

Model

Property Value or Range Description
rdf:type oa:Annotation Each annotation MUST be of class oa:Annotation according to the Web Annotation specification [annotation-ontology].
Properties other than those expressed here MAY be added according to the original documentation.
oa:motivatedBy edu:linkingPrerequisite A Prerequisite Annotation MUST have exactly 1 motivation corresponding to edu:linkingPrerequisite, which extends the original oa:linking motivation from [annotation-ontology].
oa:hasBody skos:Concept The concept which is a prerequisite of the Target. Each Concept Annotation MAY have 1 or more bodies, if the target concept (as selected by the InstantSelector of the Target) has multiple prerequisite relationships of same strength at the same time.
oa:hasTarget oa:SpecificResource The concept the prerequisite is associated with. Also used to state the instant in the video (and, optionally, the specific word in the associated ConLL file) where the relationship is intantiated. Check out 2.3.1 Target
skos:note "strongPrerequisite" or "weakPrerequisite" A literal expressing the strength of the prerequisite relationship for the target concept at the time of the video selected by the InstantSelector. Since a prerequisite relationship, once instantiated at a point of the video, is intended to remain valid until the end, a "weakPrerequisite" SHOULD NOT be stated between the same concepts previously linked by a "strongPrerequisite" relationships.
Note
A prerequiste relationship stated at a certain point of the video is intended to be valid until the end. That is, if a concept acquires a prerequisite, it cannot lose it later. The same prerequisite relationship, however, may be stated again in a different instant of the video to indicate that the strength of the relationship has changed or to underline the fact that the same prerequisite relationship is particularly relevant at that point of the video.

2.3.1 Target

Each Prerequisite Annotation MUST have 1 or more Targets of type oa:SpecificResource. Multiple targets are to be intended as multiple segments of one ore more resources that are associated with the same prerequisite. If this is the case, multiple annotations can also be used instead.

The Target is used to identify both the concept which is being annotated, i.e., the concept for which the annotation states a prerequisite, and its position within the video resource (and, optionally, the linked ConLL file).

target part of prerequisite annotation

Model

Term Value or Range Description
rdf:type oa:SpecificResource The class of the Target. Each Prerequisite Annotation MUST have exactly 1 Target of type oa:SpecificResource, according to the Web Annotation specification [annotation-ontology].
Properties other than those expressed here MAY be added according to the original documentation.
dcterms:subject skos:Concept The concept which is being annotated, i.e., the concept for which the annotation states a prerequisite. Each Prerequisite Annotation Target MUST annotate exactly 1 concept.
oa:hasSource dctypes:MovingImage The original video resource the annotated concept is part of. Each Prerequisite Annotation Target MUST have exactly 1 video resource as Source. A ConLL file describing the video transcription MAY be associated to the video using a ConLL Annotation.
oa:hasSelector oa:RangeSelector An InstantSelector is used to select the specific instant in the video (and, optionally, the specific word in the associated ConLL file) this annotation refers to. The annotated instant must correspond to a point in the video where the target concept, i.e., the concept for which the annotation states a prerequisite, is present, either visually or in the audio track.

Complete example

concept annotation
Example 3: Prerequisite Annotation
<http://example.org/anno2> a oa:Annotation ;
    oa:motivatedBy oa:linkingPrerequisite ;
    oa:hasBody <http://example.org/functional_morphology> ;
    oa:hasTarget [
        a oa:SpecificResource ;
        dcterms:subject <http://example.org/sexual_dimorphism> ;
        oa:hasSource <http://example.org/video1> ;
        oa:hasSelector [
            a edu:InstantSelector ;
            rdf:value "00:06:42^^xsd:dateTime" ;
            edu:conllSentId 11 ;
            edu:conllWordId 2 ;
            edu:hasMediaFrag "xywh=50,50,640,480" ] ] ;
    skos:note "strongPrerequisite" ;
    dcterms:creator <http://example.org/person1> ;
    dcterms:created "2021-01-24T18:17:03Z" .

<http://example.org/functional_morphology> [
    a oa:CssSelector ;
    skos:prefLabel "functional morphology" ] .

<http://example.org/sexual_dimorphism> [
    a oa:CssSelector ;
    skos:prefLabel "sexual dimorphism" ] .

<http://example.org/video1> a dctypes:MovingImage ;

<http://example.org/person1> a foaf:Person ;

2.4 Additional lifecycle properties

It is suggested to associate each annotation with appropriate Lifecycle Information, according to the original Web Annotation Data Model [annotation-model].

additional lifecycle information for annotations

3. Selectors

The Edurell Data Model makes use of two Selectors: edu:InstantSelector, declared by the Edurell Ontology, which is used to select a specific instant in the video (and, optionally, a specific word in the associated ConLL file and a region in a video frame), and oa:RangeSelector, which combines two InstantSelectors to identify a segment of the video.

3.1 InstantSelector

The Edurell Ontology declares a custom edu:InstantSelector to select a specific instant in the video. The custom selector also has additional optional properties that may be used to link a time instant of the video with the corresponding word in a ConLL file associated to the video resource through a ConLL Annotation.


conll annotation

3.1.1 rdf:type

An InstantSelector has type edu:InstantSelector.

3.1.2 rdf:value

The timestamp of the selected time instant in the video. An InstantSelector MUST have exactly 1 rdf:value property. The timestamp MUST be expressed with only the time-of-day part of xsd:dateTime, with no date nor timezone expressed.

3.1.3 edu:conllSentId

Optional property. When a ConLL file is associated to the video resource through a ConLL Annotation, this property is used together with edu:conllWordId to associate a specific word in the ConLL file with the selected time instant of the video. This property MUST NOT be present if no ConLL Annotation exists for the current video.

This property corresponds to the sent_id value of the ConLL file, identifying the sentence the selected word is part of. If the edu:conllWordId property is present, then edu:conllSentId MUST be present as well, and vice-versa.

3.1.4 edu:conllWordId

Optional property. When a ConLL file is associated to the video resource through a ConLL Annotation, this property is used together with edu:conllSentId to associate a specific word in the ConLL file with the selected time instant of the video. This property MUST NOT be present if no ConLL Annotation exists for the current video.

This property corresponds to the ID value of a word in the ConLL file, inside of the sentence identified by the edu:conllSentId property. If the edu:conllSentId property is present, then edu:conllWordId MUST be present as well, and vice-versa.

3.1.5 edu:hasMediaFrag

Optional property. This property MAY be used only when the InstantSelector is used for a Prerequisite Annotation and MUST NOT be used when its used as part of a RangeSelector for a Concept Annotation.

This property is used to indicate a rectangular portion of the frame of the video at the selected timestamp ehere the annotated concept is present. It MUST use only the spatial dimension of the media-frag specification.

3.2 RangeSelector

The Edurell Data Model makes use of oa:RangeSelector from Web Annotation Ontology [annotation-ontology] to select a segment of video and, optionally, a segment of associated text transcription trough an associated ConLL file. Within the Edurell Data Model, startSelector and endSelector both use InstantSelector.

conll annotation

Model

Property Value or Range Description
rdf:type oa:Annotation RangeSelector is part of the Web Annotation Ontology [annotation-ontology].
Properties other than those expressed here MAY be added according to the original documentation.
oa:hasStartSelector edu:InstantSelector The initial instant of the selected interval.
oa:hasEndSelector edu:InstantSelector The final instant of the selected interval.

4. Motivations

The Edurell Data Model has 3 types of Annotations (see 2. Edurell Annotations), distinguished by the Motivation associated with each one of them.

The Edurell Ontology uses the oa:describing Motivation from the Web Annotation Ontology [annotation-ontology] an extends the original oa:linking ontology with two newly declared Motivations, edu:linkingConll and edu:linkingPrerequisite.

4.1 LinkingConll

Motivation used for a ConLL Annotation. Extends the original oa:linking Motivation.

4.2 LinkingPrerequisite

Motivation used for a Prerequisite Annotation. Extends the original oa:linking Motivation.

4.3 describing

Motivation used for a Concept Annotation. Part of the original Web Annotation Ontology [annotation-ontology].

H. References

H.1 Normative references

[annotation-ontology]
Web Annotation Ontology. Robert Sanderson; Paolo Ciccarese; Benjamin Young. W3C. W3C Recommendation. URL: https://www.w3.org/ns/oa
[edu-ontology]
Edu Ontology. Torre Ilaria. Cassissa Federico. April 2021. URL: https://raw.githubusercontent.com/frcassi/edurell/main/edu.owl
[BCP47]
Tags for Identifying Languages. A. Phillips; M. Davis. IETF. September 2009. IETF Best Current Practice. URL: https://tools.ietf.org/html/bcp47
[DC-TERMS]
Dublin Core Metadata Initiative Terms, version 1.1. 11 October 2010. DCMI Recommendation. URL: http://dublincore.org/documents/2010/10/11/dcmi-terms/
[DC11]
Dublin Core Metadata Element Set, Version 1.1. Dublin Core metadata initiative.14 June 2012. DCMI recommendation. URL: http://dublincore.org/documents/2012/06/14/dces/
[FOAF]
FOAF Vocabulary Specification 0.99 (Paddington Edition). Dan Brickley; Libby Miller. FOAF project. 14 January 2014. URL: http://xmlns.com/foaf/spec
[JSON-LD]
JSON-LD 1.0. Manu Sporny; Gregg Kellogg; Markus Lanthaler. W3C. 16 January 2014. W3C Recommendation. URL: https://www.w3.org/TR/json-ld/
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119
[Turtle]
RDF 1.1 Turtle. Eric Prud'hommeaux; Gavin Carothers. W3C. 25 February 2014. W3C Recommendation. URL: https://www.w3.org/TR/turtle/
[activitystreams-core]
Activity Streams 2.0. James Snell; Evan Prodromou. W3C. 15 December 2016. W3C Candidate Recommendation. URL: https://www.w3.org/TR/activitystreams-core/
[activitystreams-vocabulary]
Activity Vocabulary. James Snell; Evan Prodromou. W3C. 15 December 2016. W3C Candidate Recommendation. URL: https://www.w3.org/TR/activitystreams-vocabulary/
[annotation-model]
Web Annotation Data Model. Robert Sanderson; Paolo Ciccarese; Benjamin Young. W3C. W3C Recommendation. URL: http://www.w3.org/TR/annotation-model/
[annotation-protocol]
Web Annotation Protocol. Robert Sanderson. W3C. W3C Recommendation. URL: http://www.w3.org/TR/annotation-protocol/
[rdf-schema]
RDF Schema 1.1. Dan Brickley; Ramanathan Guha. W3C. 25 February 2014. W3C Recommendation. URL: https://www.w3.org/TR/rdf-schema/
[rfc3987]
Internationalized Resource Identifiers (IRIs). M. Duerst; M. Suignard. IETF. January 2005. Proposed Standard. URL: https://tools.ietf.org/html/rfc3987
[rfc5988]
Web Linking. M. Nottingham. IETF. October 2010. Proposed Standard. URL: https://tools.ietf.org/html/rfc5988
[skos-reference]
SKOS Simple Knowledge Organization System Reference. Alistair Miles; Sean Bechhofer. W3C. 18 August 2009. W3C Recommendation. URL: https://www.w3.org/TR/skos-reference
[xmlschema-2]
XML Schema Part 2: Datatypes Second Edition. Paul V. Biron; Ashok Malhotra. W3C. 28 October 2004. W3C Recommendation. URL: https://www.w3.org/TR/xmlschema-2/

H.2 Informative references

[exif]
Exif Vocabulary Workspace - RDF Schema. W3C. URL: https://www.w3.org/2003/12/exif/
[json-ld-framing]
JSON-LD Framing 1.0. W3C JSON-LD Community Group. URL: http://json-ld.org/spec/latest/json-ld-framing/
[rdf-concepts]
Resource Description Framework (RDF): Concepts and Abstract Syntax. Graham Klyne; Jeremy Carroll. W3C. 10 February 2004. W3C Recommendation. URL: https://www.w3.org/TR/rdf-concepts/