Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a "LearningResource" type that can indicate learning-oriented educational content (and events, products...) #1401

Closed
danbri opened this issue Oct 13, 2016 · 29 comments
Labels
schema.org vocab

Comments

@danbri
Copy link
Contributor

danbri commented Oct 13, 2016

In LRMI and related circles there has been much discussion of whether we should have a "learning resource" type. There are good arguments for this and against this, but here we capture the idea sufficiently to surface this debate (a) within our schema.org issue tracker and (b) in the "pending" section of schema.org.

An argument against LearningResource is that anything can be used to learn from. A counter-argument is that, while this is the case, there are still many events (c.f. existing EducationEvent) and pieces of content (e.g. textbooks, course materials, c.f. Course and CourseInstance) which are quite explicitly oriented towards learning.

Another argument against is that, with "learning-oriented-ness" being somewhat vague, such a term would be particularly prone to abuse or incorrect usage. Would it be wrong for every http://schema.org/NewsArticle on a site being also described as a LearningResource?

I (danbri@) propose we continue the discussion in the context of a specific "pending" proposal here.

@danbri danbri added the schema.org vocab label Oct 13, 2016
danbri added a commit that referenced this issue Oct 13, 2016
The actual definitions are commented out to give LRMI folk a chance to review
rather than be surprised with this showing up in the Web.

/cc #1401
@danbri
Copy link
Contributor Author

danbri commented Apr 22, 2020

Ping @philbarker - any thoughts on resurrecting this?

I feel like many many cases are dealt with nicely by applying learning-oriented properties to existing types, but there are some cases where materials (e.g. tests, quizzes) which are most naturally seen through the lens of "learning". /cc @vholland

@philbarker
Copy link
Contributor

philbarker commented Apr 22, 2020

I have seen use cases where people want to identify stuff that people think is a learning resource. Approaches that rely on looking at whether properties like learningResourceType or educationalAlignment or (which?) other learning related properties are present are not perfect because of that question about which other properties.

We have an LRMI call in a couple of weeks, will discuss it then. It fits with some other stuff we're discussing.

@mandrasch
Copy link

mandrasch commented Apr 29, 2020

As sidenote and for other readers here - practical problem / use case I had:

Identifying educational resources while crawling a web page

https://www.hoou.de/ is a platform website for open education, but there are also news posted on the page and other description texts.

I want to crawl for open educational resources, therefore I would like to exclude
https://www.hoou.de/footer-items/ea4bff0d-c09a-4764-a3eb-c4b881b0136d , but identify every page in their materials collection: https://www.hoou.de/discover?types=material

("license" helps, but what is the key identifier for an educational resource? What should the admins of hoou.de use to mark their educational materials?)

Discussed this on twitter as well, thanks for replying @philbarker! https://twitter.com/m_andrasch/status/1194000783475433477 (sorry, first part only in german)

@peepkungas
Copy link

peepkungas commented May 8, 2020

I have seen use cases where people want to identify stuff that people think is a learning resource. Approaches that rely on looking at whether properties like learningResourceType or educationalAlignment or (which?) other learning related properties are present are not perfect because of that question about which other properties.

We have an LRMI call in a couple of weeks, will discuss it then. It fits with some other stuff we're discussing.

Hello @philbarker, could you share the insights of the call here? We have adopted LRMI/Schema.org vocabulary at https://e-koolikott.ee and are looking to understand how to make the best of learningResourceType element. Are there scenarios, which would exemplify the usage of the element in practical settings?

@philbarker
Copy link
Contributor

philbarker commented May 15, 2020

@peepkungas Hiya. Not much to share from the call except we agree the idea has value in principle. We'll explore the detail through the DCMI LRMI Task Group. Contact me direct (phil.barker [at] pjjk.co.uk) or send a message to the LRMI google grou if you want to discuss how to use learningResourceType in more detail.

@danbri
Copy link
Contributor Author

danbri commented Jun 22, 2020

Here's my proposal from 2016, which I expect to move forward with (/cc @lucy-kind):

@prefix dc: <http://purl.org/dc/terms/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema: <http://schema.org/> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# to discuss later:

schema:Course a rdfs:Class ;
   rdfs:subClassOf schema:LearningResource.


# schema:CourseInstance a rdfs:Class ;
#    rdfs:subClassOf schema:LearningResource.
# 
# schema:EducationEvent a rdfs:Class ;
#   rdfs:subClassOf schema:LearningResource .

# todo: add LRMI properties?

schema:LearningResource a rdfs:Class ;
    rdfs:label "LearningResource" ;
    dc:source <https://github.com/schemaorg/schemaorg/issues/1401> ;
    schema:category "issue-1401" ;
    schema:isPartOf <http://pending.schema.org> ;

    rdfs:subClassOf schema:CreativeWork ; 

    rdfs:comment """The LearningResource type can be used to indicate things (e.g. a [[CreativeWork]], [[Event]], [[Product]] etc.) that have
a particular and explicit orientation towards learning, education, skill acquisition and other educational purposes.

[[LearningResource]] is expected to be used as an addition to a primary type such as [[Book]], [[Video]] etc.

Every [[EducationEvent]] is a [[LearningResource]], and the various outcomes from such events might or might not be usefully considered to also be [[LearningResource]]s.
For example, an [[EducationEvent]] might have associated [[CreativeWork]]s that are [[recordedIn]] the event or are a [[workFeatured]] or [[workPerformed]] of the event.
Similarly, the (proposed) [[CourseInstance]] type represents as an [[Event]] an occurrence of a [[Course]]; we consider anything that is one of these types to
by definition be a [[LearningResource]]. """ ;

@stuartasutton
Copy link

stuartasutton commented Jun 22, 2020

The phrase "explicit orientation " is key to avoiding the old saw that everything can be an educational resource. While everything can be, they nevertheless are not absent an "explicit orientation" (what some call educational intention or educational purpose). Educational intention or explicit orientation can be recognized through the presence of LRMI properties that signal that intention:

sdo:audienceType
sdo:educationalLevel
sdo:educationalRole
sdo:educationalUse

@danbri
Copy link
Contributor Author

danbri commented Jun 22, 2020

@philbarker
Copy link
Contributor

philbarker commented Jun 23, 2020

sdo:educationalRole is a property of an EducationalAudience and should not be added to LearningResource. As well as the other properties @stuartasutton mentions it would be useful to add sdo:teaches sdo:assesses and sdo:educationalAlignment.

I prefer LearningResource as a subclass of CreativeWork in parallel to EducationEvent as a subclass of Event rather than over the top of it. Multiple typing instance data for some physical learning resources as a Product as a LearningResource seems useful. Also Educational Trips exist, they would make sense typed as an EducationEvent and a Trip.

I think that multiple typing of instance data would be better than multiple inheritance. We just added several education-relevant properties to EducationEvent, so making it a subclass of LearningResource will just add them again (and if LearningResource is a subclass CreativeWork it will add the gorilla and jungle as well).

In your proposal, it's a little confusing to talk about how the "various outcomes" of EducationEvents might be LearningResources as lots of us in education would think of those outcomes as being learning outcomes, but I think you mean "products" or "outputs".

I am not keen on CourseInstances being a subtype of Course, again I think that instances can be multiply typed if publishers want to mix data about both aspects.

The Course/CourseInstance distinction is important because the data for the former tends to be more time-sensitive than for the latter, and so they tend to be managed very differently. You don't want a timetable in your prospectus. Course descriptions don't vary quickly over time, but the details of the Instances do--and sometimes unexpectedly, for example Courses that have previously been as offered face-to-face CourseInstance can suddenly be offered Online only.

@stuartasutton
Copy link

stuartasutton commented Jun 23, 2020

+1 on LearningResource as subclass of CreativeWork. Also +1 on addition of sdo:teaches sdo:assesses and sdo:educationalAlignment.

@danbri
Copy link
Contributor Author

danbri commented Jun 23, 2020

@philbarker
Copy link
Contributor

philbarker commented Jun 23, 2020

treat it as a convenient entry point into the various education related terms that are otherwise scattered

Yes! that would be excellent.

@philbarker
Copy link
Contributor

philbarker commented Jun 25, 2020

How about:

schema:LearningResource a rdfs:Class ;
    rdfs:label "LearningResource" ;
    dc:source <https://github.com/schemaorg/schemaorg/issues/1401> ;
    schema:category "issue-1401" ;
    schema:isPartOf <http://pending.schema.org> ;

    rdfs:subClassOf schema:CreativeWork ; 

    rdfs:comment """A persistent resource that has one or more physical or digital representations, and that has a particular and explicit purpose towards learning, education, training, skill acquisition or other educational aim.

[[LearningResource]] is expected to be used as an addition to a primary type such as [[Book]], [[Video]], [[Product]] etc. 

[[EducationEvent]] serves a similar purpose for event-like things (e.g. a [[Trip]]). A [[LearningResource]] may created as a result of an [[EducationEvent]], for example by recording one.""" .

schema:Course a rdfs:Class ;
   rdfs:subClassOf schema:LearningResource.

And add the following to the relevant property definitions:

:educationalAlignment  :domainIncludes :LearningResource ;
:teaches  :domainIncludes :LearningResource ;
:assesses  :domainIncludes :LearningResource ;
:educationalLevel  :domainIncludes :LearningResource ;
:educationalUse  :domainIncludes :LearningResource ;
:learningResourceType :domainIncludes :LearningResource ;

@danbri
Copy link
Contributor Author

danbri commented Jun 25, 2020

Thanks @philbarker !

Although "resource" is the edu-meta jargon here I wouldn't lead with it as it's an overloaded and awkward term (e.g. embroiled in https://en.wikipedia.org/wiki/HTTPRange-14). I'll try to combine our drafts...

@philbarker
Copy link
Contributor

philbarker commented Jul 31, 2020

@danbri I missed that learningResourceType wasn't added as a property of LearningResource in 232c3ae Any reason, or just an oversight?

@danbri
Copy link
Contributor Author

danbri commented Jul 31, 2020

@philbarker
Copy link
Contributor

philbarker commented Aug 5, 2020

@danbri here's a PR to fix the ommision ^^^

@ljgarcia
Copy link
Contributor

ljgarcia commented Sep 23, 2020

Hi @philbarker is there any news regarding sdo:requires "the skill, knowledge or competence a learner needs before using a learning resource", see Next Steps on your Sharing and Learning blog. I understand the issues around having a property sdo:requires, still, regardless the name, we need something like that for learning resources. Maybe adding a noun, e.g., sdo:requiresSkill or sdo:requiersKnowledge, could help? Thanks.

@philbarker
Copy link
Contributor

philbarker commented Sep 23, 2020

@ljgarcia No progress. Your suggestions for a name that isn't as open to misintpretation as "requires" are welcome. We found people interpreted "requires" as software/hardward requirements. Note that competencyRequired is already in schema.org, maybe we could extend its scope.

@ljgarcia
Copy link
Contributor

ljgarcia commented Sep 24, 2020

@philbarker indeed competencyRequired sounds like what we are looking for. I also found skills that could be an option as well but the name competencyRequired sounds better in terms of education and it is already used in a type related to education, so, +1 for competencyRequired.

None of them has CreativeWork or LearningResource as possible domain. Could we still use it with one of those? I guess it would be marked as an error by validators. What would be the process to follow in order to use competencyRequired with either CreativeWork or LearningResource?

@tobyhodges
Copy link

tobyhodges commented Oct 2, 2020

Adding a +1 to the suggestion of including a property, e.g. competencyRequired or similar, to describe required knowledge/skills for an learning resource. This would be very helpful for us to define dependencies for/between our lessons and represent possible pathways through collections of learning materials.

@philbarker
Copy link
Contributor

philbarker commented Oct 2, 2020

@tobyhodges I agree that a simplified approach similar to teaches and assesses is highly desirable, but you can currently meet this use case using some or all of:

"educationalAlignment": {
    "alignmentType": "requires",
   "targetUrl": "http://example.org/compentency/xyz",
   "targetName": "name of competency required",
   "targetDescription": "description of competency required",
   "educationalFramework": "http://example.org/competencyFramewok/"
}

@ljgarcia
Copy link
Contributor

ljgarcia commented Oct 2, 2020

@philbarker this workaround works but it is not ideal. Indeed something simpler as teaches would be better. What would be the way to move this forward?

@philbarker
Copy link
Contributor

philbarker commented Oct 2, 2020

@ljgarcia I wouldn't call it a workaround, it's the solution that was designed for this (and other) usecases. But we (LRMI Task Group) have been working on simpler solutions for the most common use cases.

I would like to discuss this issue through the DCMI LRMI Task Group as I know there are people there with opinions who represent important areas of training, education and learning. You're welcome to join us -- just join the Task Group mail list.

We have a call next Tuesday. I'll raise this suggestion then.

@tobyhodges
Copy link

tobyhodges commented Oct 2, 2020

@philbarker
Copy link
Contributor

philbarker commented Oct 6, 2020

@ljgarcia you can see the LRMI discussion here. I want to give people a chance to have they're say (it's a topic we've discussed before, some people have had opinions).

@ljgarcia
Copy link
Contributor

ljgarcia commented Oct 9, 2020

Hi @philbarker thanks for sharing the discussion you had at LRMI and sorry for not joining the meeting. I saw some positive feedback for adding LearningResource to the domain for competencyRequired. Looking good :-) Please do keep us post. Thanks.

@RichardWallis
Copy link
Contributor

RichardWallis commented Dec 3, 2020

Shipped in V11.0 release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
schema.org vocab
Projects
None yet
Development

No branches or pull requests

9 participants