Referring skills requirements to competency definitions

From Talent Marketplace Signaling Community Group
Talent Signal
Wiki Navigation
Main Page
Issues, use cases and requirements
Examples
Other useful links
Community group home page
email list for group
relevant work elsewhere

Issue Description: there should be examples of how to refer skills requirements to competency definitions in a standard framework and encoding such as CTDL-ASN in the Credential Engine or CASE in CASE Registry

Discussion: see maillist for June 2019, thread on Example of how to refer skills requirements to competency definitions (continues in July and August).

  • Use schema.org skills property for competencies (i.e. do not distinguish knowledge and abilities or other attributes from skills)
  • Base example on use of definedTerm to provide minimal information and link to complete definition of competency.
  • Identifies framework and competency but doesn't attempt to deal with encoding.
  • Does not attempt to distinguish skills that are required on hiring from those that can be developed on the job, nor to distinguish required and desirable skills.

Proposal

Status: Done in schema.org release 5 Nov 2019 (see issue 2322, pull request 2354)

Added DefinedTerm to the expect values of skills.

Refine the defintion of skills:

A statement of knowledge, skill, ability, task or any other assertion expressing a competency that is desired or required to fulfill this role or in this occupation.

It is possible to treat a competence in a framework as a schema.org definedTerm in a schema.org definedTermSet.

  • Use the definedTerm name for the name or label of the competency (if any).
  • Use the definedTerm termCode to provide the identifier code for the competency within its framework (if any).
  • Use the definedTerm description for the definition of the competency.
  • Use the definedTerm url to link to the source for the competency definition.
  • Use the definedTerm inTermSet to identify and describe the competency framework as a separate definedTermSet object.
  • Use the definedTermSet name for the name of the competency framework.
  • Use the definedTermSet url to link to the source of the framework.

Other properties such as publisher, datePublished and version may be useful to describe some frameworks.

If the competency framework is in a linked data format it will be possible to use the JSON-LD @id property to provide URIs for the competency and the framework.

Example 1: computer science job skill refer to NICE Cybersecurity Workforce Framework

Based loosely on the Junior software developer example, but does not attempt to represent all the competencies required.

{
  "@context": "http://schema.org/",
  "@type": "JobPosting",
  "title": "Junior software developer",
  "skills": {
    "@type": "Definedterm",
    "termCode": "K0016",
    "description": "Knowledge of computer programming principles",
    "inDefinedTermSet": {
      "@type": "DefinedTermSet",
      "name": "National Initiative for Cybersecurity Education (NICE) Cybersecurity Workforce Framework",
      "url": "https://doi.org/10.6028/NIST.SP.800-181",
      "publisher": {
        "@type": "Organization",
        "name": "U.S. Department of Commerce National Institute of Standards and Technology (NIST)"
      },
      "datePublished": "2017-08"
    }
  }
}

Example 2: reference to competency as linked data

This is essemtially the same as Ex.1, but refers to the competency published as linked data by the Credential Engine Registry (CER).

A minimal approach of:

{
  "@context": "http://schema.org/",
  "@type": "JobPosting",
  "title": "Junior software developer",
  "skills": "https://credentialengineregistry.org/resources/ce-e6e963ba-7a14-437f-bbcb-e25c40b4ea0f"
}

is suffient for applications that are able to retrieve relevant data from the Credential Engine Repository, however in case the application cannot do that it is safer to provide some minimal extra data that may be useful when displaying the job posting.

{
  "@context": "http://schema.org/",
  "@type": "JobPosting",
  "title": "Junior software developer",
  "skills": {
    "@id": "https://credentialengineregistry.org/resources/ce-e6e963ba-7a14-437f-bbcb-e25c40b4ea0f",
    "@type": "DefinedTerm",
    "termCode": "K0016",
    "description": "Knowledge of computer programming principles",
    "inDefinedTermSet": {
      "@type": "DefinedTermSet",
      "@id": "https://credentialengineregistry.org/resources/ce-ae88ce1f-7642-47b3-93d3-dfb95b4c4764",
      "name": "Cybersecurity Workforce Framework: Knowledge (NICE)",
      "publisher": {
        "@type": "Organization",
        "@id": "https://credentialengineregistry.org/resources/ce-e3ead9e0-c299-47fc-ab6a-54ca8ee47643",
        "name": "U.S. Department of Commerce National Institute of Standards and Technology (NIST)"
      }
    }
  }
}

Note: in general, care should be taken when referring to different representations of the same resource. The PDF and the linked data for the framework are different representations the same thing; they represent the same conceptual content but in ways that have different properties. It might be misleading to use the same @id and url for both; a better approach would be to use schema:sameAs schema:workExample to link the linked data to the webpage or the PDF.