Course, CourseInstance, EducationEvent etc. [ Schema.org Course Extension ] #195

Open
westurner opened this Issue Dec 11, 2014 · 83 comments

Projects

None yet
@westurner
Contributor
westurner commented Dec 11, 2014 edited

.

Goals:

  • schema.org/Course , schema.org/CourseSection , schema.org/EducationEvent

SCHEMA COURSE EXTENSION COMMUNITY GROUP

This mission of this group, initiated by LRMI, is to develop an extension for schema.org concerning the discovery of any type of educational course (online/offline, long/short, scheduled/on-demand). Educational course is defined as "some sequence of events and/or creative works which aims to build the 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).

-- https://www.w3.org/community/schema-course-extend/

Products:

  • DOC: "Schema.org: Online Courses" [Schema] (@vholland, et al.)
    https://goo.gl/2Sxxy3
    • Thing > Intangible > Course
    • Thing > Intangible > CourseSection
    • Thing > Event > EducationEvent
    • [UPDATE]
    • [{ }] Thing > Intangible > Course
    • [{ }] Thing > CreativeWork > Course
    • [{ }] Thing > Product > Course
  • DOC: "Schema for Courses" [Use Cases] (@philbarker, et al.)
    https://goo.gl/DnTTsb
  • ENH: data/ext/course/course.rdfa -- Course extension RDFa
  • ENH: data/ext/course/course-course-examples.txt -- course extension examples
  • TST: equiv of make test and make build
  • DOC: release notes
  • DOC: blog post: http://blog.schema.org/

Examples:

Discussion Mailing List Threads:

Use Cases / Potential Implementors (Culled from the Mailing List):

@westurner
Contributor

What is missing or could be added?

From http://lists.w3.org/Archives/Public/public-vocabs/2014Feb/0130.html :

Properties:

  • derivedFrom/previousIncantation property could also be helpful.
  • prerequisite/buildsUpon/suggestedPrerequisite properties would be great.

Types for these properties would need to be <Course >.

... This would then form a graph of Course s and/or OnlineCourse s.

@westurner
Contributor

Also from http://lists.w3.org/Archives/Public/public-vocabs/2014Feb/0130.html :

Classes:

  • CourseSection

Possible properties for a CourseSection:

@parklize

Now in the example, EducationEvent that already exist in schema.org (which has many properties like startDate, endDate)is being used for describing CourseSection.

It will be more clear by using new Type like CourseSection, but then we need to think more general type like Section.

@vholland
Contributor

I am trying to pull together the various threads and have put together a modified proposal that:

  • Supports Courses (online and off)
  • Supports sections of courses

Please take a look at https://docs.google.com/document/d/12YWjLzZC8FiTiOwSAETRIEozeqZdn6O8a4fgqK4t5Ss/edit?usp=sharing

@parklize

Thanks:)

@westurner westurner changed the title from Thing > CreativeWork > Course > OnlineCourse to Thing > CreativeWork > Course Dec 16, 2014
@westurner westurner referenced this issue in openbadges/openbadges-specification Dec 16, 2014
Open

RDF integration: schema.org/Certification and schema.org/BadgeCriteria #9

0 of 4 tasks complete
@danbri danbri added this to the 2015 Q1 milestone Jan 21, 2015
@vholland vholland self-assigned this Jan 22, 2015
@jgoodell2

Building on Vicki's work I suggested changes to the Google doc (1) based on what seems to be areas of consensus on the discussion threads and comments within the doc.

I'm afraid that there are different threads/communities with definitions that may work fine within a narrow purpose, but have conceptual errors when trying to apply the vocabulary more universally. The approach discussed in the group seems to be headed in the right direction. How can we bring the different communities together on this?

For example, moocontology (2) has "instructor" and "event" as properties of Course rather than defining a CourseSection. This can create ambiguity when multiple Course Sections are offered at the same or different times. e.g. This month EdX started a Section of "Introduction to Computational Thinking and Data Science" (course number 6.00.2x). This is not the first time the course was offered. The course content/description is the same for each instance, but the start and end dates change, and the instructors may change over time. There could be Sections going on concurrently with different instructors, but the same course number, learning objectives, description.

I know there are discussions about Course as an extension to schema.org, rather than core; even so, I think we should try to get the different communities together so Course isn't defined as different things by different communities.

-jim

(1) https://docs.google.com/document/d/12YWjLzZC8FiTiOwSAETRIEozeqZdn6O8a4fgqK4t5Ss/edit?usp=sharing
(2) https://sites.google.com/site/moocontology/

@westurner westurner changed the title from Thing > CreativeWork > Course to Thing > Intangible > Course Mar 5, 2015
@westurner
Contributor

Is it CourseSession or CourseSection?

(It was CourseSession, but was changed without discussion to CourseSection).

  • I vote for "CourseSession". To me, Section implies a physical partitioning; which does not fit.
@parklize
parklize commented Mar 6, 2015

+1 to "CourseSession", Coursera and Stanford MOOC use "session".

Coursera API: https://tech.coursera.org/app-platform/catalog/
Stanford Online: http://online.stanford.edu/courses/all

On Fri, Mar 6, 2015 at 12:00 AM, Wes Turner notifications@github.com
wrote:

Is it CourseSession or CourseSection?

(It was CourseSession, but was changed without discussion to
CourseSection).

  • I vote for "CourseSession". To me, Section implies a physical
    partitioning; which does not fit.


Reply to this email directly or view it on GitHub
#195 (comment).


To be Sharer^^

A man is not old as long as he is seeking something.
A man is not old until regrets take the place of dreams.

Email: parklize@gmail.com

@stuartasutton

CourseSession and CourseSection are totally different beasts. A Course may have many CourseSections and CourseSections may have many CourseSessions. For example, at the Univ. of Washington (Seattle) there is a course in the University inventory (catalog) called "Metadata Design Studio". This spring quarter, there are two CourseSections of this Course (SLN 15343 and SLN 15344). This week, (the section I teach) SLN 15344 is in the second CourseSession of the spring quarter. I am less concerned about what Coursera and the Stanfod MOOC call things than with the pattern that holds in the nomenclature of thousands of colleges and universities--at least in the U.S.

@philbarker
Contributor

hello. I have been thinking about the scope and use cases for this proposal. The discussion above starts with a bullet point referring to "online courses" but I think we have gone beyond that. Also I can see lots of potential implementers above, but nothing about use cases that relate to what a user might want to do.
My initial ideas are at http://goo.gl/DnTTsb I would welcome comments/corrections. Apologies if they are sketchy, I wanted to share early rather than make unwarranted assumptions.

@danbri danbri modified the milestone: 2015 Q1, 2015 Q2 Apr 17, 2015
@philbarker
Contributor

hello. I have fleshed out the ideas I mentioned before for more specific scope and use cases, still in google doc at http://goo.gl/DnTTsb . Any comments? I think it would be useful to compare the proposals to these use cases and some examples, but it'ls also be good to have some agreement that the use cases are valid and nothing major is missing before doing that.

Is a google doc the best place to do this, would you rather have it on github somewhere?

@westurner
Contributor

@philbarker I've updated the ticket description w/ the link to your google doc containing use cases for these vocabulary extensions.

I think it would be great to build the tests for these use cases (in JSON-LD, RDFa, or just RDF TTL/N3). (the JSON-LD test suite http://json-ld.org/test-suite/reports/ uses earl for similar reports: http://www.w3.org/TR/EARL10-Schema/ )

@philbarker
Contributor

Thanks @westurner . I do intend to cross check the use cases against some of the example courses listed above and in the scoping part of the google doc and against the current proposal. I'm not sure that my technical skills extend to building tests along the lines you point to, or what data there is to test (none yet, or maybe I am misunderstanding?)

@westurner
Contributor

Thanks! Really just JSON-LD and RDFa examples that demonstrably (and
recordedly) evaluate to valid RDFa.

To be clear, I opened this ticket but by no means should this be construed
to indicate leadership on this issue. (It may be helpful to start reaching
out for more input from e.g. a registrar's office: I believe we're
currently missing a way to represent prerequisite edges)
On Jun 1, 2015 4:09 AM, "Phil Barker" notifications@github.com wrote:

Thanks @westurner https://github.com/westurner . I do intend to cross
check the use cases against some of the example courses listed above and in
the scoping part of the google doc and against the current proposal. I'm
not sure that my technical skills extend to building tests along the lines
you point to, or what data there is to test (none yet, or maybe I am
misunderstanding?)


Reply to this email directly or view it on GitHub
#195 (comment)
.

@danbri
Contributor
danbri commented Dec 14, 2015

@westurner - Phil and I had a quick chat about prerequisites last week. He pointed out that we should try to have a mechanism for this which is compatible with our approach to representing learning outcomes. Doing so will make it easier to chain together learning opportunities from a larger pool...

@danbri
Contributor
danbri commented Dec 14, 2015

BTW please note that we now have a new W3C Community Group devoted to Course description: https://www.w3.org/community/schema-course-extend/

From schema.org's point of view this issue #195 is probably the best interface between schema.org in general and Course-specific issues, so let's try to keep this issue up to date with any major progress or discussion points, even if more activity moves into the new and more specific Community Group.

@westurner westurner changed the title from Thing > Intangible > Course to schema.org/Course schema.org/CourseSection schema.org/EducationEvent Jan 5, 2016
@westurner westurner changed the title from schema.org/Course schema.org/CourseSection schema.org/EducationEvent to schema.org/Course , schema.org/CourseSection , schema.org/EducationEvent Jan 6, 2016
@westurner
Contributor

From schema.org's point of view this issue #195 is probably the best interface between schema.org in general and Course-specific issues, so let's try to keep this issue up to date with any major progress or discussion points, even if more activity moves into the new and more specific Community Group

@westurner westurner added a commit to westurner/schemaorg that referenced this issue Jan 20, 2016
@westurner westurner DOC: data/ext/course/README.md: refs #195 3ee2637
@westurner westurner referenced this issue Jan 20, 2016
Open

Schema.org Course Extension RDFa & Examples #972

2 of 4 tasks complete
@westurner westurner changed the title from schema.org/Course , schema.org/CourseSection , schema.org/EducationEvent to schema.org/Course , schema.org/CourseSection , schema.org/EducationEvent [ Schema.org Course Extension ] Jan 20, 2016
@danbri danbri removed the type:enhancement label Mar 7, 2016
@westurner westurner changed the title from schema.org/Course , schema.org/CourseSection , schema.org/EducationEvent [ Schema.org Course Extension ] to schema.org/Course , schema.org/CourseInstance , schema.org/EducationEvent [ Schema.org Course Extension ] Apr 11, 2016
@westurner westurner referenced this issue in twamarc/ScheMed Apr 22, 2016
Closed

Expand the definition of medicalSpecialty #34

@danbri danbri pushed a commit that referenced this issue Apr 28, 2016
Dan Brickley Added a first snapshot of the ongoing courses work.
See #195

I didn't add the examples yet as they seemed rather large.

Source: @philbarker and @westurner's version
https://github.com/philbarker/schemaorg-1/tree/feature/ext-course/data/ext/course

Their test build is at http://course.schema-course-extend.appspot.com/Course
62086c8
@danbri danbri pushed a commit that referenced this issue Apr 28, 2016
Dan Brickley Linked Courses snapshot in pending, including pointer to the CG.
See #195
a131ac6
@danbri
Contributor
danbri commented Apr 28, 2016

I've posted a snapshot of the current community group design in the pending extension, http://webschemas.org/docs/releases.html#g195 ... at this stage without examples. The source was https://github.com/philbarker/schemaorg-1/tree/feature/ext-course/data/ext/course

For more about "pending" (a new development) see http://webschemas.org/docs/howwework.html#pending

@danbri
Contributor
danbri commented May 20, 2016

I've updated the version in pending so that grantsCredential does not reference a non-existent "Credential" type (and we have updated our unit tests to run against the extension schemas so bugs like that won't slip past in future). However I would encourage use of other terms here, as talk of granting credentials may sound like a crypto protocol to non-educationalists.

@westurner
Contributor

Why not add
Intangible > Credential
CreativeWork > Credential
Credential > Certificate > Diploma
?

There is a need for a base Credential type in schemed, as well:
twamarc/ScheMed#34 (comment)

At a later time, it may make perfectly good sense to add as subclasses of
Credential:

  • ...
  • SSLCertificate
  • GPGKey
  • SSHKey
  • WebID
  • ...

On Friday, May 20, 2016, Dan Brickley <notifications@github.com
javascript:_e(%7B%7D,'cvml','notifications@github.com');> wrote:

I've updated the version in pending so that grantsCredential does not
reference a non-existent "Credential" type (and we have updated our unit
tests to run against the extension schemas so bugs like that won't slip
past in future). However I would encourage use of other terms here, as talk
of granting credentials may sound like a crypto protocol to
non-educationalists.


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
#195 (comment)

@westurner
Contributor

To focus more on modeling Offers for Services and a Product, IDK how to do:

  • Credential > Degree
  • Credential > Diploma

On Friday, May 20, 2016, Wes Turner wes.turner@gmail.com wrote:

Why not add
Intangible > Credential
CreativeWork > Credential
Credential > Certificate > Diploma
?

There is a need for a base Credential type in schemed, as well:
twamarc/ScheMed#34 (comment)

At a later time, it may make perfectly good sense to add as subclasses of
Credential:

  • ...
  • SSLCertificate
  • GPGKey
  • SSHKey
  • WebID
  • ...

On Friday, May 20, 2016, Dan Brickley notifications@github.com wrote:

I've updated the version in pending so that grantsCredential does not
reference a non-existent "Credential" type (and we have updated our unit
tests to run against the extension schemas so bugs like that won't slip
past in future). However I would encourage use of other terms here, as talk
of granting credentials may sound like a crypto protocol to
non-educationalists.


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
#195 (comment)

@danbri
Contributor
danbri commented May 21, 2016

I don't see SSLCertificate, GPGKey etc and Degree, Diploma having a lot in common. I have a degree from the University of Bristol, and numerous SSLCertificates from various sources, but they do not have much in common. Let's please not mix anything crypto-related casually into other topics. I don't often express strong opinions on schema design here but on this issue I'm pretty sure we would quickly come to regret such an entangling of issues.

@Dataliberate
Contributor

+1

However the raising of this highlights the need to choose term names with care to avoid future confusion and wrong assumptions.

~Richard

On 21 May 2016, at 08:15, Dan Brickley notifications@github.com wrote:

I don't see SSLCertificate, GPGKey etc and Degree, Diploma having a lot in common. I have a degree from the University of Bristol, and numerous SSLCertificates from various sources, but they do not have much in common. Let's please not mix anything crypto-related casually into other topics. I don't often express strong opinions on schema design here but on this issue I'm pretty sure we would quickly come to regret such an entangling of issues.


You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub

@stuartasutton

Yes, please, I am with Dan in regards to not doing this kind of
mixing/polluting. There is a huge, loosely related set of global verticals
made up of for-profit and non-profit credentialing organizations with
products as well as millions of people who have earned credentials publicly
denoting success in some endeavor.

There is work well underway on development RDF-based, rich description of
credentials of these more formal sorts [1]-[2] as well as W3C work on
credentials and verifiable claims regarding them [3]-[4]. Let's do keep
these more formal (and widely) used notion of credential distinct from
"anything crypto-related". There are hopes within CTI that a light-weight
version of the work at [1]-[2] will form the basis for a Credential type
within schema.org.

Stuart

[1] http://www.credentialtransparencyinitiative.org/
[2] http://www.credreg.net/
[3] https://www.w3.org/community/credentials/
[4]
https://www.w3.org/Payments/IG/wiki/Main_Page/ProposalsQ42015/VerifiableClaimsTaskForce

On Sat, May 21, 2016 at 12:15 AM, Dan Brickley notifications@github.com
wrote:

I don't see SSLCertificate, GPGKey etc and Degree, Diploma having a lot in
common. I have a degree from the University of Bristol, and numerous
SSLCertificates from various sources, but they do not have much in common.
Let's please not mix anything crypto-related casually into other topics. I
don't often express strong opinions on schema design here but on this issue
I'm pretty sure we would quickly come to regret such an entangling of
issues.


You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
#195 (comment)

@westurner
Contributor
westurner commented May 21, 2016 edited

@danbri

I don't see SSLCertificate, GPGKey etc and Degree, Diploma having a lot in common.

These are all types of credentials.

  • A Key is a Credential.
  • A Certificate is a Credential.
  • A Diploma is a certificate (which references a Degree)
  • A Degree is a Credential.

At this time, we have no Creative-Commons schema.org way to define Credential > {Certificate, Degree}.

Use Cases ( @philbarker ) :

  • (Online) Course providers can list Credentials {Certificates, } which can be earned by satisfactorily passing an Offered Course.
  • Educational Organizations can list Degrees which they Offer.

...

(Out of scope, but still logically deriving from a base Credential class):

  • A Credential may be cryptographically signed (e.g. by a PKI)
    • In which case, there must be:
      • a field for the hash
      • a field for a fingerprint
      • a field for the signingAuthority Person/Organization
      • schema.org/Person / schema.org/Organization URL (schema.org/url // rdf:subject)
        and/or denormalized metadata for signing
    • OpenBadges works today.

I believe a preliminarily defined Credential > Degree is in scope for this effort in order to define a rdfs:range of grantsCredential.

Blocking objectives for Schema.org Course Extension

  • It doesn't make sense to release Course until we can also describe the Credential which can be earned from a given Course.
  • It doesn't make sense to release Course until we can also describe physicalAccessibilityFeature (edit: accessibilityPhysicalFeature #254 ) for Courses (as well as Events, Places, and -- arguably -- CreativeWorks)
  • (Implementers aren't going to want to go back and re-work this into the public-facing HTML RDFa templates for Courses (and Degrees) which can be generated from a student/course information system)

...

@stuartasutton

Credential
[...]
Questions for researching potential/ideal implementations of schema.org/Credential and e.g. schema.org/Degree:

  • Are you open to Creative Commons as a license [hard schema.org requirement]?
  • Are you open / friendly to other application implementations?
  • Is the/your application open source? (link to source: ________; early and often)
  • Do you [already] solve for DegreeProgram?

(DegreeProgram will/would require conditionals)

@stuartasutton

On Sat, May 21, 2016 at 5:54 AM, Wes Turner notifications@github.com
wrote:

I believe a preliminarily defined Credential > Degree is in scope for
this effort in order to define a rdfs:range of grantsCredential.

I believe the rdfs:range (schema:rangeIncludes) of grantsCredential should
remain Credential. Degree is one subclass of Credential that could be
applicable in the context of an instance of Course; but, not the only one.
See
https://github.com/CredentialTransparencyInitiative/vocabularies/blob/master/credentialType.ttl.
A number of these subclasses could be applicable to Course.

@stuartasutton https://github.com/stuartasutton

If you mean by "you" the CTI initiative (which is not me), the following
responses hold:

Credential
[...]
Questions for researching potential/ideal implementations of
schema.org/Credential and e.g. schema.org/Degree:

  • Are you open to Creative Commons as a license [hard schema.org
    requirement]?

Creative Commons licensing is not a "hard requirement". The CTI
specifications under development will all have open licenses (e.g.,
https://creativecommons.org/licenses/by/4.0/).

  • Are you open / friendly to other application implementations?

Absolutely. There are a number of 3rd party implementers advising the CTI
work because they know that that work is open from the start and is
intended to spur a marketplace of applications. While CTI, under its grant
funding, is developing a Credential Registry (also to be openly licensed)
and a set of applications for interacting with it (also open), there are no
illusions that it will be the only credential registry or the only set of
applications developed that will act on data based on the Credential
Transparency Description Language (CTDL). So, it is very open to the
developer community as part of its strategy for long-term sustainability.

  • Is the/your application open source? (link to source: ________;
    early and often)

Not yet. But it will be (on GitHub) when there is something to put in
front of people. The applications and the Credential Registry are in early
stages of development. It's too early to know whether CTI will maintain an
actual open source community (not easy to do); but, it is not too early to
know that the code base for the apps CTI is developing under its grant
funding will be openly available through GitHub.

  • Do you [already] solve for DegreeProgram?

(DegreeProgram will/would require conditionals)

If you mean that an instance of Credential (or one of its subclasses) stems
from a degree program (obviously, not all do), then the conditions for
granting the degree are within scope.


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
#195 (comment)

@westurner
Contributor
westurner commented May 22, 2016 edited
  • Can we define Credential and Degree today? Or, are we blocked pending a partial third-party implementation?

  • IIUC, CC-By-SA [3.0,] is a hard (viral) requirement for schema.org and contributions
    From https://schema.org/docs/terms.html :

    Scope of Terms of Services; License
    These Terms of Service govern your use of the Website, which contains a schema specifying a vocabulary you can use. The Sponsors' copyrights in the schema are licensed to website publishers and other third parties under the Creative Commons Attribution-ShareAlike License (version 3.0). To view a copy of this license, please visit http://creativecommons.org/licenses/by-sa/3.0/. The Sponsors have applied the W3C Patent Policy to the schemas published by Schema.org as follows: each Sponsor, by itself and on behalf of its affiliates, agrees to make available under W3C RF licensing requirements its Essential Claims (if any) in the schemas published by Schema.org as if the schemas were W3C Recommendations. In some cases, this website may indicate that some but not all of the Sponsors have recognized a particular extension to the Schema; in those cases, as to that extension, the above rights are granted by only those recognizing Sponsors.

  • From https://wiki.creativecommons.org/wiki/4.0_upgrade_guidelines :

    Existing content:

    • Who owns the rights?
      • If the publisher, then can relicense under 4.0 as specified above.
      • If the contributors, then need permission to relicense. Without permission (via terms of use or otherwise), then that content remains under prior version. [If this is the case, see the section below about dealing with mixed-version content.]
        • A couple of options for obtaining permission to relicense:
        • upon upload by contributors, have a prompt box to obtain agreement to relicense previous uploads;
        • general outreach to contributors seeking agreement to upgrade. [Note that this is easier to do with discrete artifacts (an article, a photo) as opposed to other contributions such as comments on wikis and similar, where one person's contribution is intermixed with others.]
@westurner
Contributor

I believe the rdfs:range (schema:rangeIncludes) of grantsCredential should
remain Credential. Degree is one subclass of Credential that could be
applicable in the context of an instance of Course; but, not the only one.

@danbri

@westurner
Contributor
westurner commented May 22, 2016 edited

(IDK how to maintain the revision log when git mv'ing files around in a git repository)

If you include either a complete URL to a revision when copy-pasting OR just a shortrev, GitHub will include the link in the commit message (in order to maintain traceability between PR branches, commits, etc)

Two ways to print the shortrev (to keep commit messages usable and minimal):

git log --abbrev-commit
git rev-parse --short HEAD
  • URL: https://github.com/schemaorg/schemaorg/commit/62086c8d6658e7e7ebed8993930ad1ba8ea2b4df
  • URL: 62086c8
  • shortrev: 62086c8 (first 7 characters)

So GitHub would linkify a commit message like:

Added a first snapshot of the ongoing courses work. (from 62086c8 )

Edit:

... Because now IDK which of these PR commits need to be merged over

@philbarker
Contributor

Personally I am quite happy with the term name Credential. It doesn't immediately suggest anything crypto to me (I think the wikipedia article gets the coverage about right[1])

I also think that any meaningful alternative I can think of has similar problems. The best I can think of is grantsAward -- is anyone happier with that?

I also don't think that the course extension work is a good place to try to pin down a controlled vocabulary of all the possible Awards.

  1. https://en.wikipedia.org/wiki/Credential
@westurner
Contributor
  1. https://en.wikipedia.org/wiki/Credential

Minimally, should this initial Credential RDFS class be derivative of Intangible or of CreativeWork?:

  • OR
    • Thing > Intangible > Credential
    • Thing > CreativeWork > Credential

Are there any base properties which are specific to Credential?
I would think that there would then, eventually, from a different schema.org extension group, be a CryptographicCredential (where x.509 attributes may cover for most other formats: https://en.wikipedia.org/wiki/X.509#Structure_of_a_certificate (though, again, this is not yet in scope for academic credentialing, pending the recommendations of the CTI and credreg))

Brainstorming eventual Credential types:

  • Credential
    • Certificate
    • Certification
    • Degree
    • Diploma (Degree)
    • MedicalSpecialty / MedicalCredential (twamarc/ScheMed#34)
@ottonomy

Excited to see some work on this. Came over from openbadges/openbadges-specification#9 as I was doing a little pruning.

Would be worth paying attention to the VCTF discussion of denoting their class proposal as "WebCredential" or "DigitalCredential" to make it more specific and differentiate from more general approaches to "Credential", like schema.org is likely to take.

I'd probably lean toward grouping Credential under CreativeWork.

@stuartasutton may know more on proposed types for credentials. The CTI meeting from a week ago previewed the first snippet of a list of proposed types, but I wasn't able to find the list on GitHub as was hinted.

@stuartasutton

@ottonomy, my sense of this is that schema.org/Credential is correct since it aligns with the CTI definition as the CreativeWork that describes the thing created by a credentialing entity (of any sort) with the intention that it be awarded. The VCTF context uses the (class name still under consideration) "TBD Credential" as a verifiable set of claims. A somewhat subtle but very significant difference.

CTI has a (unstable) set of subclasses for Credential as well as an (equally unstable) enumeration of credential types of concern to CTI at https://github.com/CredentialTransparencyInitiative/vocabularies/blob/master/credentialType.ttl

+1 for Credential as CreativeWork.

@westurner
Contributor
westurner commented May 29, 2016 edited

https://github.com/CredentialTransparencyInitiative/vocabularies/blob/master/credentialType.ttl

Thanks! Looking forward to learning more here.
It would be great if we could get this together for Universities to catalog and implement
(probably with spreadsheets)
by this fall.

rdf:type ('a', 'is a', 'hasType') || rdf:Property ('hasProperty')

  • OR (hasProperty credType || hasType CredType) ?
    • With schema org RDFS, IIUC, these credType:credential skos:concepts (linked with skos:broader and skos:narrower) would be TitleCased rdfs:Class subclasses of e.g schema:CreativeWork
      • Thing
        • CreativeWork
          • Credential
            • Degree
              • AssociateDegree
              • BachelorDegree
              • GraduateDegree
              • DoctoralDegree
    • Credential.credType is an rdfs:Property (attribute, predicate) with an rdfs:range of Credential and an rdfs:domain of credType (r: Credential, d: credType)
      • Modeling with "hasProperty [IRI]" is less flexible than "hasType [IRI]" because hasProperty assumes that all Credential types have the same attributes.
        • Here that may not be true?
          • e.g. .thesis/.dissertation may be a property of certain degrees
            (d:{GraduateDegree, DoctoralDegree} r:CreativeWork)
      • Modeling with hasProperty is more flexible than hasType because
        sometimes it doesn't make sense for things to be subclasses of
        multiple intersecting types.
        • Thing > CreativeWork > Credential > Degree > BachelorDegree
        • Thing > CreativeWork > Credential > Degree > BachelorDegreeInstance

Concept / Instance differentiation

  • How to differentiate between an offered Credential and an earned instance of a Credential?
    It would seem that here, as well, we'll need such a distinction?
    • A University Offers Degrees and focusAreas
    • An Indivdual has a Degree with focusAreas
      • DegreeInstance? (REQ: terminology)
        • credType [Degree Enumeration URI]

Degree-specific terminology

- academicDiscipline

  • REQ: proper terminology
  • NOTE: Wikipedia URLs (and dbpedia URIs) make good (human-readable) concept URIs; but are not necessarily stable (because disambiguation)

an example

Thing > CreativeWork > Credential > Degree > BachelorDegree

  • credType: bachelorDegree / BachelorDegree *
  • ?: Bachelor of Science (BSc, B.Sc., ...)
  • ?: Management Information Systems (MIS)
  • focusArea: Quantitative Analysis
  • focusArea: Entrepreneurship

.

@westurner
Contributor

Does there need to be another layer here between
Credential [... > ...] Degree
?

Because:

  • Are there other systems of academic credentials?
  • WebCredential / DigitalCredential ?
@danbri
Contributor
danbri commented May 30, 2016

Aside, http://blockchain.open.ac.uk/ is worth keeping an eye on.

@westurner
Contributor

Aside, http://blockchain.open.ac.uk/ is worth keeping an eye on.

From https://en.wikipedia.org/wiki/Merkle_tree (oldid=720708959) :

Suggestions have been made to use hash trees in trusted computing systems.[4] Hash trees are used in the IPFS and ZFS file systems,[5] BitTorrent protocol, Apache Wave protocol,[6] Git distributed revision control system, the Tahoe-LAFS backup system, the Bitcoin peer-to-peer network, the Ethereum peer-to-peer network,[7] the Certificate Transparency framework, and a number of NoSQL systems like Apache Cassandra and Riak

@philbarker
Contributor

@westurner "Are there other systems of academic credentials?"

Yes, there are.See https://en.wikipedia.org/wiki/National_Qualifications_Framework#England.2C_Wales_and_Northern_Ireland for a list of Baccs, Certs, BTECs, Diplomas, Awards, PGCerts etc. in England, Wales and Northern Ireland (Scotland is different)

There is also the whole world of industry awards, e.g. CISCO/Microsoft Certifications but not limited to IT.

Phil

@danbri
Contributor
danbri commented May 30, 2016

yes, it would be unfortunate if we could only express academic but not
vocational qualifications. Also driving licences (for trucking etc.),
acting and other fields this can be seen in terms of organisational
membership (eg http://www.equity.org.uk/about-us/join-us/how-can-i-join/
http://fia-actors.com/no_cache/about-fia/fia-members/ ). see also
https://pending.schema.org/WorkersUnion but also other professional
membership structures.
On 30 May 2016 1:28 am, "Phil Barker" notifications@github.com wrote:

@westurner https://github.com/westurner "Are there other systems of
academic credentials?"

Yes, there are.See
https://en.wikipedia.org/wiki/National_Qualifications_Framework#England.2C_Wales_and_Northern_Ireland
for a list of Baccs, Certs, BTECs, Diplomas, Awards, PGCerts etc. in
England, Wales and Northern Ireland (Scotland is different)

There is also the whole world of industry awards, e.g. CISCO/Microsoft
Certifications but not limited to IT.

Phil


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#195 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/AAKZGRrNYI3NjxuXM8E6s_j6Iq4WkCynks5qGp-0gaJpZM4DHZMZ
.

@danbri
Contributor
danbri commented Jun 3, 2016

re credentials, take a look at https://www.google.com/trends/explore#q=credentials

related searches (at google):

windows credentials
user credentials
login credentials
network credentials
invalid credentials
credential
what is credentials

@westurner
Contributor

On Thursday, June 2, 2016, Dan Brickley notifications@github.com wrote:

re credentials, take a look at
https://www.google.com/trends/explore#q=credentials

There are different results for the @en singular form ("credentials" /
"credential")
https://www.google.com/trends/explore#q=credential

Minimally,
C: CreativeWork > Credential

  • P: issuer R: Person/Organization

C: CreativeWork > Credential > CredentialInstance

  • P: issuer R: Person/Organization
  • P: issuee R: Person/Organization

Or,
P: CredentialInstance.credential R: Credential

Are there more appropriate terms than issuer/issuee?

@westurner
Contributor

And/Or,
P: issuerCredential R: Credential D: {Credential, CredentialInstance}

On Friday, June 3, 2016, Wes Turner wes.turner@gmail.com wrote:

On Thursday, June 2, 2016, Dan Brickley <notifications@github.com
javascript:_e(%7B%7D,'cvml','notifications@github.com');> wrote:

re credentials, take a look at
https://www.google.com/trends/explore#q=credentials

There are different results for the @en singular form ("credentials" /
"credential")
https://www.google.com/trends/explore#q=credential

Minimally,
C: CreativeWork > Credential

  • P: issuer R: Person/Organization

C: CreativeWork > Credential > CredentialInstance

  • P: issuer R: Person/Organization
  • P: issuee R: Person/Organization

Or,
P: CredentialInstance.credential R: Credential

Are there more appropriate terms than issuer/issuee?

@parklize
parklize commented Jun 3, 2016

How about issue as a more specific "CreateAction" ?

@stuartasutton

@danbri and @philbarker, Is this discussion of defining a schema.org Credential best placed here under an issue focused on Course? There are many who have vested interests in how schema.org might ultimately handle a definition of Credential who aren't necessarily watching Course issues.

@westurner
Contributor

On Friday, June 3, 2016, Stuart Sutton notifications@github.com wrote:

@danbri https://github.com/danbri and @philbarker
https://github.com/philbarker, Is this discussion of defining a
schema.org Credential best placed here under an issue focused on Course?
There are many who have vested interests in how schema.org might
ultimately handle a definition of Credential who aren't necessarily
watching Course issues.

Degree, Certificate, and Diploma are all blocked on a Credential base class.

Thing > CreativeWork > Credential > Degree
Thing > CreativeWork > Credential > Diploma
Thing > CreativeWork > Credential > CredentialInstance > Certificate >
Diploma
Thing > CreativeWork > Credential > Certification

There are many potential implementations of DigitalCredential /
CryptoCredential / _Credential.
When those rdfs:classes are defined in terms of schema.org RDFS, it should
be possible to describe types of Credentials and CredentialInstances
through subclassing and/or composition.

Can we agree to work with 'issuer' and 'issuee' with domains of
{Credential, CredentialInstance}?

Degree [> BachelorDegree]

  • [credType: cti:bachelorDegree]
  • ?: Bachelor of Science
  • name: Management Information Systems
  • issuer: Organization(name="University of Nebraska Omaha") #orgX

So that a record can be signed, eventually there must be a way to do:

Diploma (or "DegreeInstance", or {Degree, CredentialInstance})

  • issuerCredential: orgX.credential[n]
  • issuerCredential: CredentialInstance(issuee=orgX)
  • [generic signed signature term]

Again, OpenBadges JWS works today and KeyBase.io proofs work today.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#195 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/AADGywrjWwCSqMy96B4uUZdi9xTx4ZRRks5qIEBBgaJpZM4DHZMZ
.

@westurner
Contributor

On Friday, June 3, 2016, Guangyuan Piao notifications@github.com wrote:

How about issue as a more specific "CreateAction"
https://schema.org/CreateAction?

Maybe ConferAction?

Action > CreateAction > ConferAction

ConferAction

  • agent: Organization orgX (CredentialInstance orgX.credential[n]
  • result: CredentialInstance credX
  • participant: Person personX
  • startTime: DateTime iso8601datetimeX

DegreeInstance (or {Degree, CredentialInstance}) credX

  • dateCreated: DateTime iso8601datetimeX
  • issuee: Person personX


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#195 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/AADGy6c5jPE2U8C-HwNLZeHH4h-COkQcks5qICA7gaJpZM4DHZMZ
.

@stuartasutton

The CTI project is uses subclasses of schema.org/Action with key actions
between agents (People/Organizations) and credentials and other
agents--chiefly in the context of quality assurance; e.g.,

AccreditAction
ApproveAction
ConferAction
EndorseAction
RecognizeAction
RenewAction
RevokeAction

CTI is deliberately focused on description of Credential as a work
(CreativeWork) and not on the credential awarded (or on related
transactions on such awarded artifacts (verifiable claims etc.)).

On Fri, Jun 3, 2016 at 12:22 PM, Wes Turner notifications@github.com
wrote:

On Friday, June 3, 2016, Guangyuan Piao notifications@github.com wrote:

How about issue as a more specific "CreateAction"
https://schema.org/CreateAction?

Maybe ConferAction?

Action > CreateAction > ConferAction

ConferAction

  • agent: Organization orgX (CredentialInstance orgX.credential[n]
  • result: CredentialInstance credX
  • participant: Person personX
  • startTime: DateTime iso8601datetimeX

DegreeInstance (or {Degree, CredentialInstance}) credX

  • dateCreated: DateTime iso8601datetimeX
  • issuee: Person personX


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<
https://github.com/schemaorg/schemaorg/issues/195#issuecomment-223567680>,
or mute the thread
<
https://github.com/notifications/unsubscribe/AADGy6c5jPE2U8C-HwNLZeHH4h-COkQcks5qICA7gaJpZM4DHZMZ

.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#195 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/ACzYpo4cGm6GYIaCPqLONpaUK43EYY_Nks5qIH7egaJpZM4DHZMZ
.

@CTITechPlanning

Hi everyone. This is Jeanne with the Credential Transparency Initiative (CTI). We've been following the progress with Course schema. In regards to the recent comments here on "Credential", the CTI defines this as, "A qualification or achievement of an agent." As an additional comment, for CTI, only credentials issued to people, and credentials for quality issued to organizations for related programs, courses, tasks and/or assessments are in scope. As Stuart noted, CTI metadata modeling takes into account the work of Schema.org. The editor's draft classes, properties, and enumerations and other information is available from the CTI tech planning site http://credreg.net.

@westurner
Contributor

CTI is deliberately focused on description of Credential as a work
(CreativeWork) and not on the credential awarded (or on related
transactions on such awarded artifacts (verifiable claims etc.)).

... In terms of set logic (preferably as one or more Venn diagrams, if possible and you have the time), how can we support multiple Credentials?

  • There may be (namespace-ignorant) Class name collision between e.g. schema:Credential, schema:CredentialInstance (?) and more complete, [blockchain-]verifiable schema like OpenBadges, cert-schema, and CTI
@westurner westurner added a commit to westurner/schemaorg that referenced this issue Jun 22, 2016
@westurner westurner SCH: course.fda, schema.rdf: Credential[Instance], CredentialType (Ac…
…ademicDegree[Type], ...), valid[_] domainIncludes

- #195
d4779e1
@westurner westurner added a commit to westurner/schemaorg that referenced this issue Jun 22, 2016
@westurner westurner SCH: course.fda, schema.rdf: Credential[Instance], CredentialType (Ac…
…ademicDegree[Type], ...), valid[_] domainIncludes

- #195
9b227c5
@westurner
Contributor
westurner commented Jun 22, 2016 edited

I've defined Credential, CredentialInstance, CredentialType, etc here: westurner@1f268fc

.

git diff HEAD^1 | grep '^\+' | grep 'resource=' | pyline -r '(.*)resource="(.*)"' 'rgx and ("- %s" % rgx.groups()[1])' | pbcopy
@westurner
Contributor
westurner commented Jun 22, 2016 edited

These snippets made it much easier to define these schema.org classes and properties; they're probably reusable: https://github.com/westurner/dotvim/blob/master/snippets-ulti/html.snippets

@westurner westurner added a commit to westurner/schemaorg that referenced this issue Jun 22, 2016
@westurner westurner SCH: course.fda, schema.rdf: Credential[Instance], CredentialType (Ac…
…ademicDegree[Type], ...), valid[_] domainIncludes {+Credential, CredentialInstance}

- #195
1f268fc
@westurner
Contributor

(I did git commit --amend; git push -f'ed in order to keep a clean patch (after adding {Credential, CredentialInstance} to the domainIncludes of the valid[_] properties:

I've updated the link to the commit in this #195 (comment) (which has probably already been emailed out.):

@philbarker
Contributor

@westurner I think trying to define the different types of credential is very problematic. To take just one example: If you look at https://en.wikipedia.org/wiki/Diploma you will see the range of different things that is covered by just one of these terms.

@pmika
Collaborator
pmika commented Jun 23, 2016

This is an automatically generated message.

pmika@yahoo-inc.com is no longer with Yahoo! Inc.

Your message will not be forwarded.

If you have a sales inquiry, please email yahoosales@yahoo-inc.com and someone will follow up with you shortly.

If you require assistance with a legal matter, please send a message to legal-notices@yahoo-inc.com

Thank you!

@westurner
Contributor

@philbarker re: Diploma:

  • westurner@1f268fc#diff-d54dcb303dfa33fefe39415f7106623fR345
  • A Diploma is a CredentialInstance (linking between a Person and an AcademicDegree)
    • CredentialInstance > Diploma
  • Is a Diploma a Certificate?
    • Credential > Certificate > Diploma ?
  • What additional properties beyond those defined as properties of Credential does/would a Diploma have?
  • create a JSONLD example of Diploma
    • create a JSOND example of Credential
      • push a commit full of examples (hopefully later this afternoon)
@westurner
Contributor
westurner commented Jun 23, 2016 edited

@CTITechPlanning : schemaorg / SKOS

@danbri
Contributor
danbri commented Aug 1, 2016

(Bookmarking a link)

I believe we need to sync the version in data/ext/pending/issue-195.rdfa with https://github.com/philbarker/schemaorg-1/commits/feature/ext-course (or the last few commits at least). /cc @westurner @philbarker

@westurner
Contributor

On Aug 1, 2016 8:08 AM, "Dan Brickley" notifications@github.com wrote:

(Bookmarking a link)

I believe we need to sync the version in data/ext/pending/issue-195.rdfa
with https://github.com/philbarker/schemaorg-1/commits/feature/ext-course
(or the last few commits at least). /cc @westurner @philbarker

Is there a way to leave the filename path for the schema (SCH) and example
(DAT) the same so that the rev history isnt broken?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@westurner
Contributor

re: subjectOfStudy
should it be
educationalAlignmentPrimary?

  • educationalAlignment r: EducationalAlignment
  • educationalAlignmentPrimary

Should it be r: [URL] or r: [URL, Text](or r: EducationalAlignment) ?

On Aug 1, 2016 11:07 AM, "Wes Turner" wes.turner@gmail.com wrote:

On Aug 1, 2016 8:08 AM, "Dan Brickley" notifications@github.com wrote:

(Bookmarking a link)

I believe we need to sync the version in data/ext/pending/issue-195.rdfa
with https://github.com/philbarker/schemaorg-1/commits/feature/ext-course
(or the last few commits at least). /cc @westurner @philbarker

Is there a way to leave the filename path for the schema (SCH) and example
(DAT) the same so that the rev history isnt broken?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@philbarker
Contributor

@westurner there's a summary of how we propose to deal with describing the subject of a course at https://www.w3.org/community/schema-course-extend/wiki/Subject_of_Course along with a link to the discussion. The consensus was that existing properties in CreativeWork had it covered.

On the question file names and revision history: I haven't changed any filenames. I don't know what the best approach to merging the final version in schema will be.

@danbri danbri changed the title from schema.org/Course , schema.org/CourseInstance , schema.org/EducationEvent [ Schema.org Course Extension ] to Course, CourseInstance, EducationEvent etc. [ Schema.org Course Extension ] Aug 10, 2016
@westurner
Contributor
westurner commented Aug 12, 2016 edited

Thanks @philbarker!

The about property should be used where a single word or short phrase is used, the description property should be used for an unstructured sentence or paragraph of subject information. educationalAlignment may be used to supplement this with more precise reference to educational outcomes.

.

IIUC, If one wanted to categorize courses with e.g. Wikipedia/dbpedia, Wikidata URIs, they could:

Course
name: Schema.org Course Metadata I
description: "Course Description"
about:
   name: "Schema.org"
   url: http://schema.org
   url: https://en.wikipedia.org/wiki/Schema.org
about:
   name: "RDFa"
   url: https://en.wikipedia.org/wiki/RDFa

educationalAlignment
   alignmentType: "teaches"
   targetName: "Schema.org Course Metadata"
   targetUrl: http://schema.org/Course
   targetUrl: http://schema.org
   targetUrl: https://schema.org
   targetUrl: https://en.wikipedia.org/wiki/Schema.org

IIUC, one use case for educationalAlignment is searching for course materials which teach a subject

One use case for about is searching for Things which are about something
So, a search query might want to search {about, description, and educationalAlignment} (or just fulltext query the whole JSONLD record)?

With consistent URIs/URLs in educationalFramework, it would be easier to present a faceted search for educationalFramework-specific learning resources

We could create a wiki page for Enumerating these EducationalFramework(s) with at least:

@danbri danbri pushed a commit that referenced this issue Aug 18, 2016
Dan Brickley Updated Course-related definitions and examples.
Based on @philbarker 's advice that these are approaching stability.
Definitions taken from
https://raw.githubusercontent.com/philbarker/schemaorg-1/feature/ext-course/data/ext/course/course.rdfa

Apart from educationalCredentialAwarded these are all approaching candidacy for inclusion in core schema.org.

Ongoing discussion needed on educationalCredentialAwarded - it might stay in pending status longer, or evolve/rename.

See #195
ef7f07b
@danbri
Contributor
danbri commented Aug 18, 2016 edited

Update on Courses status w.r.t. schema.org core.

I asked @philbarker (as chair of https://www.w3.org/community/schema-course-extend/ ) yesterday for a list of the most basic Course-related terms that are approaching stability. It is important to show tangible progress and to stabilize the building blocks that we will need later.

We agreed that

  • Course + properties: courseCode, coursePrerequisites, hasCourseInstance
  • CourseInstance + properties: courseMode, instructor

... are at a stage where it is useful to ask the Course schemas CG to double-check the definitions, examples and details before moving to final review by the wider schema.org community and its steering group.

In addition I've included the educationalCredentialAwarded property in the draft implementation which you can see staged on our work-in-progress webschemas.org site in the pending area. I understand that educationalCredentialAwarded is currently more actively still under discussion compared to the other 7 terms (i.e.
Course, courseCode, coursePrerequisites, hasCourseInstance, CourseInstance, courseMode, instructor). As of today all 8 definitions are in schema.org's "pending" area (see howwework for details). Hopefully we could move all 8 into core, if the community group agrees on a stable definition for educationalCredentialAwarded; otherwise we could move the initial 7 into schema.org's core and leave educationalCredentialAwarded in "pending" status while we refine it.

Regarding mechanics (which we could discuss in a separate Github issue if needed) I have copy/pasted manually from https://github.com/philbarker/schemaorg-1/tree/feature/ext-course/data/ext/course into https://github.com/schemaorg/schemaorg/blob/sdo-callisto/data/ext/pending/issue-195.rdfa for two reasons: 1.) it makes me read the definitions 2.) currently our implementation of the pending extension requires custom declarations per-term. This could be improved in the future, e.g. by moving the required declarations into a separate block of RDFa.

Are we ready to propose that the definitions for Course, courseCode, coursePrerequisites, hasCourseInstance, courseMode, instructor be moved into schema.org's next core release?

@danbri danbri pushed a commit that referenced this issue Aug 18, 2016
Dan Brickley Moved pending-related boilerplate out into optional boilerplate-195.r…
…dfa file.

This makes issue-195.rdfa closer to generic schema.org RDFa declarations,
such as those used in /data/schema.rdfa core definitions. For some forms
of collaboration this may be more useful but it adds burden of having to
keep the two files coordinated.

/cc @philbarker

See #195
59a5fdf
@danbri
Contributor
danbri commented Aug 18, 2016

An implementation detail, of the kind I was hoping not to bore you all with:

I have moved the "pending" declarations of the Course terms out into a separate file. This means that https://github.com/schemaorg/schemaorg/blob/sdo-callisto/data/ext/pending/issue-195.rdfa has less stuff in it that relates to the (hopefully transient) status of these terms w.r.t. pending.schema.org / pending.webschemas.org. Those details are kept in
https://github.com/schemaorg/schemaorg/blob/sdo-callisto/data/ext/pending/boilerplate-195.rdfa instead.

@danbri danbri pushed a commit that referenced this issue Aug 19, 2016
Dan Brickley Changed 'Thing' to 'URL' as discussed with CG and @philbarker
This is schema.org's idiom for an under-constrained property.
See #195
de0358c
@danbri danbri pushed a commit that referenced this issue Sep 7, 2016
Dan Brickley to core:Course,courseCode,coursePrerequisites,hasCourseInstance;Cours…
…eInstance,courseMode,instructor

See #195
1621f79
@Gloyns
Gloyns commented Sep 21, 2016 edited

Apologies for the noob question, however I'm looking to implement the course markup on a page where multiple courses are listed and, having scoured multiple sources, I can't find examples of this and hoping somebody can please help.

Google's example search experience here...

https://developers.google.com/search/docs/guides/search-gallery#courses

...shows a user searching by a broader course category, E.g. 'Android Courses' with 3 courses listed from various providers.

The example code provided however only lists a single course.

Can anybody please point me towards example markup for a category page where multiple courses are listed?

@danbri
Contributor
danbri commented Sep 21, 2016

@Gloyns - just repeat for each course. This following markup seems OK, although there might be some other JSON-LD idiom that allows the context declaration to appear just once at the top. Anyway:

<script type="application/ld+json">
[{
  "@context": "http://schema.org",
  "@type": "Course",
  "name": "Introduction to Computer Science and Programming",
  "description": "Introductory CS course laying out the basics.",
  "provider": {
    "@type": "Organization",
    "name": "University of Technology - Eureka",
    "sameAs": "http://www.ut-eureka.edu"
  }
},
{
  "@context": "http://schema.org",
  "@type": "Course",
  "name": "Postconstructivist desituationism and neomaterialist discourse",
  "description": "In the works of Joyce, a predominant concept is the distinction between
     masculine and feminine. Thus, if the conceptual paradigm of reality holds, we
     have to choose between neomaterialist discourse and neodialectic materialism.",
  "provider": {
    "@type": "Organization",
    "name": "DEPARTMENT OF LITERATURE, CARNEGIE-MELLON UNIVERSITY",
    "sameAs": "http://example.org/cmu/"
  }
}]
</script>
@Gloyns
Gloyns commented Sep 21, 2016

@danbri Many thanks, apologies - simply my lack of understanding of the correct syntax :) Thank you

@karindpowell
karindpowell commented Oct 14, 2016 edited

@Gloyns

MULTIPLE COURSE EXAMPLE

<script type="application/ld+json">
{
 "@context": "http://schema.org",
 "@type": "ItemList",
 "itemListElement" : [
 {
 "@type": "ListItem",
 "position": 1,
 "url" : "http://www2.sdhc.k12.fl.us/LYNX/HiTecIFrameKDP.asp?CourseID=208&ProgramID=10",
 "item": 
{
 "@type": "Course",
 "name": "H170690 NURSING ASSISTANT (CNA)",
"courseCode" : "H170690",
"image" : "http://www2.sdhc.k12.fl.us/assets/img/logo_lamp.png",
"grantsCredential" : "Certified Nursing Assistant (CNA)",
"previewUrl" :  "http://www2.sdhc.k12.fl.us/LYNX/HiTecIFrameKDP.asp?CourseID=208&ProgramID=10",
 "description": "This program prepares students for employment in a variety of health care settings including doctor’s offices, walk-in clinics, outpatient facilities, hospitals, and urgent care centers. The content includes, but is not limited to, interpersonal skills, medical terminology, legal and ethical responsibilities, safe and efficient work, gerontology, nutrition, pet-facilitated therapy, health and safety including Cardio-pulmonary Resuscitation (CPR) – heart saver level, and employability skills.",
 "provider": {
   "@type": "Organization",
   "name": "School District of Hillsborough County Florida - Technical Programs",
   "sameAs": "http://www.sdhc.k12.fl.us/doc/list/hillsborough-technical-colleges/program-areas/103-823/"
 }
}
},
{
"@type": "ListItem",
"position": 2,
"url" : "http://www2.sdhc.k12.fl.us/LYNX/HiTecIFrameKDP.asp?CourseID=243&ProgramID=10",
"item":
{
 "@context": "http://schema.org",
 "@type": "Course",
"courseCode" : "H170605",
"image" : "http://www2.sdhc.k12.fl.us/assets/img/logo_lamp.png",
"grantsCredential" : ["Certified Nursing Assistant (CNA)", "Licensed Practical Nurse (LPN)"],
"previewUrl" : "http://www2.sdhc.k12.fl.us/LYNX/HiTecIFrameKDP.asp?CourseID=243&ProgramID=10",
 "name":"H170605 PRACTICAL NURSING (LPN)",
 "description": "The program is designed to enable individuals to achieve instructional objectives in the following content areas: nursing skills, life span, nutrition, anatomy and physiology, medical nursing, surgical nursing, pediatric nursing, geriatric nursing, personal and community health, pharmacology, employability skills, leadership and human relations skills. Fifty percent of the training is spent in the clinical areas and includes: maternal and newborn, pediatrics, medical/surgical, and experience in extended care facilities. Clinical placement is determined through the Coordinating Council, may begin as early as 6:30 am and include out of county facilities. Successful program completion prepares students for the National Council Licensure Examination for Florida (NCLEX). Students completing the program receive credits toward a Registered Nurse A.S. Degree at Hillsborough Community College or any community college in the statewide system. Please contact the colleges for additional information.",
 "provider": {
   "@type": "Organization",
   "name": "School District of Hillsborough County Florida - Technical Programs",
   "sameAs": "http://www.sdhc.k12.fl.us/doc/list/hillsborough-technical-colleges/program-areas/103-823/"
 }
}
}
]
} 
</script>
@kaishiro

Can I ask where the group netted out on the certification definition conversation that occurred upstream a bit? Couldn't find updates on any related issues but don't want to clog the queue if there is an active conversation ongoing. Lack of a certification schema seems like it should warrant an active effort.

@westurner
Contributor
  • Ctrl-F for "credential" in this issue thread
  • grantsCredential/credentialOffered implied a need for schema:Credential

westurner@1f268fc#diff-d54dcb303dfa33fefe39415f7106623fR147

  • This is CTI schemaorg-ified
    • We'd need to revisit the latest CTI specs
  • This patch is on file that's been moved
  • It was suggested that this patch is insufficient and there
    could/should/must be an additional Credential committee community group
    list wiki and git feature branch (and so at least one GitHub issue with a
    description to keep updated) as is the W3C way:
    • C: CreativeWork > Credential
    • C: CreativeWork > [Credential >?] CredentialInstance
      • There are possible Credentials, and there are instances of
        credentials held by Organizations and Persons
    • P: CredentialInstance.credential r: Credential

On Sunday, November 13, 2016, Matthew White notifications@github.com
wrote:

Can I ask where the group netted out on the certification definition
conversation that occurred upstream a bit? Couldn't find updates on any
related issues but don't want to clog the queue if there is an active
conversation ongoing. Lack of a certification schema seems like it should
warrant an active effort.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#195 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADGy7BdjqdwHYi2ihfdr2hCYY0BPrCpks5q9svOgaJpZM4DHZMZ
.

@thadguidry
thadguidry commented Nov 18, 2016 edited

@danbri @philbarker

I created the "online course" type on Wikidata https://www.wikidata.org/wiki/Q27885123 (and a subclass of course https://www.wikidata.org/wiki/Q600134 ) so far has 1 equivalent class linked to http://edamontology.org/data_3670

But reading through all the above and seeing what is in Pending...

  1. Will the "online" indicator of a course be equitable through the courseMode property https://pending.schema.org/courseMode with a value of "online" ?
  2. Or will "online" be designated by using the learningResourceType property https://pending.schema.org/learningResourceType with a value of "online" ?
  3. or can we just have additionally a simple subtype for "OnlineCourse" to make all the publishers lives easier still ?
  4. or a property on Course for holding the idea of "remote learning" or "online" somehow ?

The reason I ask is that many folks will want to skip using courseMode and just have a quick filter for "show me only online courses for Calculus" , "remote learning for Philosophy". These were a few sample queries I saw against Google Search.

@karindpowell

@thadguidry I've been dwelling on this and here's my thoughts -- throwing them out there for comments...

In reference to your question regarding "courseMode": It looks to me like courseMode is more for "where your body is located when you take the course". In that case: "online"; "classroom", "lab", "hybrid" (online but sometimes in classroom); "field" (outside of classroom). These seem like some of the possibilities...

In reference to your question regarding "learningResourceType": It looks to me like learningResourceType is more for "what sort of medium is used by the instructor to get the knowledge into you". In that case: "slideshow"; "video"; "handouts"; "mixed media"; "book";

That said, let's say you had an online course. You might want the courseMode to be "online" and the learningResourceType might be "video" AND "book" AND "downloadable content".

@philbarker
Contributor

@thadguidry as it is possible for a course to be delivered online/through distance learning and face to face (i.e. as two CourseInstances of the same Course), I think that 1 works anf that 2 and 4 don't (which I think is what @karindpowell is getting at). For Courses I think that learningResourceType would best be used to distinguish between short courses, modules, programs etc, but that hasn't been widely discussed.

@westurner
Contributor

I think we need Enumerations and/or a wiki page with URIs for common values
for courseMode and learningResourceType. (that'll make it much easier to
build e.g. faceted interfaces with having to lowercase and spell-check)

On Wednesday, November 23, 2016, Phil Barker notifications@github.com
wrote:

@thadguidry https://github.com/thadguidry as it is possible for a
course to be delivered online/through distance learning and face to face
(i.e. as two CourseInstances of the same Course), I think that 1 works anf
that 2 and 4 don't (which I think is what @karindpowell
https://github.com/karindpowell is getting at). For Courses I think
that learningResourceType would best be used to distinguish between short
courses, modules, programs etc, but that hasn't been widely discussed.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#195 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADGy5Sw9QHDBUq94TKi1FxGn44kiaMOks5rBFVkgaJpZM4DHZMZ
.

@vholland
Contributor

To @philbarker's question, yes, I've seen cases where the same CourseInstance was both in person and online for distance learners. This is part of why we avoided an OnlineCourse type; it is really hard to define what is and is not "online".

@inetbiz
inetbiz commented Feb 1, 2017

I'd definitely like to see CourseSection. The LMS software I'm hacking had the ability like most lms software to preview free course units. And, if the consumer actually shares that free course unit, I'd like it defined properly as a CourseSection unit related to its parent Course.

@philbarker
Contributor

@inetbiz in what way is CourseSection distinct from CourseInstance ( https://pending.schema.org/CourseInstance An instance of a Course offered at a specific time and place or through specific media or mode of study or to a specific section of students. )

@inetbiz
inetbiz commented Feb 1, 2017

@philbarker I akin CourseSection to an article in a section. The course section is content that could stand on it's own outside of the course. Right now, I'm creating course content for HTML5 Semantic Structures. The course title is "Semantic SEO For Website Structures Course" which also includes RDFa, Microdata vocabularies.

@philbarker
Contributor
philbarker commented Feb 1, 2017 edited

@inetbiz OK, I think I understand. There is scope for confusion because CourseSection can be defined as " A setting in which organized instruction of course content is provided to one or more students for a given period of time. " -- https://ceds.ed.gov/dataModelEntities.aspx

I think you mean that you want to say that some material (or a sequence of one or more educational events and/or creative works) is a part of a Course?

As it stands you can say that Courses are part of Courses. I agree that how we model the distinction between a Programme of Study, a Module, a Course Unit, a Track etc needs more attention, but they all fit the definition of Course. Currently it is possible to use the learningResourceType property to say which of these you would call your course, but you'll find definitions & understanding of terms like 'module' or 'programme' vary greatly.

@inetbiz
inetbiz commented Feb 1, 2017

For now, I will use article and section. It just would be nice to give distinction within the vocabulary of Course. Your first paragraph #195 (comment) seems more of an instance.

@fravarese

Hello everybody, I'm currently experimenting schema "courses" on my website, but I'm not sure about how should the google snippet look like .. In the official example page, it should look like a list: https://developers.google.com/search/docs/guides/search-gallery#courses , but in my pages this kind of list does not appear, so I wonder if I'm missing something.. even if actually that kind of list does not appear neither in the website used as example (coursera.com), when appear in the google results page, among other search results. So I ask you, should that kind of listing appear in the google snippet once you implement schema in the code of a website or the example is worng and the list is just not supposed to apear? thank you very much. Francesco

@philbarker
Contributor

@fravarese I'm not sure this is the best place to discuss individual cases, but if you send me a link to your pages I'll have a look. phil.barker [at] hw.ac.uk

However I suspect that how your pages look in Google search engine results depends more on Google than the schema.org Course spec, and that I cannot help with.

@fravarese

@philbarker
Ok thanks, I tought there was a specific connection beetwen google and schema. I saw that in schema "events" the list-kind snippet always appears, and I tought that in "courses" should appear too.. because the example page showed it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment