Thing > Intangible > Role

Represents additional information about a relationship or property. For example a Role can be used to say that a 'member' role linking some SportsTeam to a player occurred during a particular time period. Or that a Person's 'actor' role in a Movie was for some particular characterName. Such properties can be attached to a Role entity, which is then associated with the main entities using ordinary properties like 'member' or 'actor'.
PropertyExpected TypeDescription
Properties from Role
endDate Date The end date and time of the role, event or item (in ISO 8601 date format).
startDate Date The start date and time of the event, role or item (in ISO 8601 date format).
Properties from Thing
additionalType URL An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the 'typeof' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.
alternateName Text An alias for the item.
description Text A short description of the item.
image URL  or
ImageObject 
URL of an image of the item.
name Text The name of the item.
potentialAction Action Indicates a potential Action, which describes an idealized action in which this thing would play an 'object' role.
sameAs URL URL of a reference Web page that unambiguously indicates the item's identity. E.g. the URL of the item's Wikipedia page, Freebase page, or official website.
url URL URL of the item.

More specific Types
  • OrganizationRole
  • PerformanceRole

    Examples

    A basic Role example in JSON that
    shows how to qualify the 'member' property
    by adding an intermediate Role entity.
    
    <div itemscope itemtype="http://schema.org/Organization">
      <span itemprop="name">Cryptography Users</span>
      <div itemprop="member" itemscope
            itemtype="http://schema.org/OrganizationRole">
        <div itemprop="member" itemscope
                itemtype="http://schema.org/Person">
          <span itemprop="name">Alice</span>
        </div>
        <span itemprop="startDate">1977</span>
      </div>
    </div>
    
    <div vocab="http://schema.org/" typeof="Organization">
      <span property="name">Cryptography Users</span>
      <div property="member" typeof="OrganizationRole">
        <div property="member" typeof="Person">
          <span property="name">Alice</span>
        </div>
        <span property="startDate">1977</span>
      </div>
    </div>
    
    <script type="application/ld+json">
    {
      "@context": "http://schema.org",
      "@type": "Organization",
      "name": "Cryptography Users",
      "member": {
        "@type": "OrganizationRole",
        "member": {
        "@type": "Person",
        "name": "Alice"
        },
        "startDate": "1977"
      }
    }
    </script>
    
    A JSON example of an OrganizationRole being used to qualify
    the 'alumni' property. Note that we use startDate to indicate
    when the alumni situation began, which was the date of leaving
    the organization.
    
    <div itemscope itemtype="http://schema.org/CollegeOrUniversity">
      <span itemprop="name">University of Cambridge</span>
      <link itemprop="sameAs" href="http://en.wikipedia.org/wiki/University_of_Cambridge"/>
      <div itemprop="alumni" itemscope
            itemtype="http://schema.org/OrganizationRole">
        <div itemprop="alumni" itemscope
                itemtype="http://schema.org/Person">
          <span itemprop="name">Delia Derbyshire</span>
          <link itemprop="sameAs" href="http://en.wikipedia.org/wiki/Delia_Derbyshire"/>
        </div>
        <span itemprop="startDate">1959</span>
    </div>
    
    <div vocab="http://schema.org/" typeof="CollegeOrUniversity">
        <span property="name">University of Cambridge</span>
      <link property="sameAs" href="http://en.wikipedia.org/wiki/University_of_Cambridge"/>
      <div property="alumni" typeof="OrganizationRole">
        <div property="alumni" typeof="Person">
          <span property="name">Delia Derbyshire</span>
          <link property="sameAs" href="http://en.wikipedia.org/wiki/Delia_Derbyshire"/>
        </div>
        <span property="startDate">1959</span>
    </div>
    
    <script type="application/ld+json">
    {
      "@context": "http://schema.org",
      "@type": "CollegeOrUniversity",
      "name": "University of Cambridge",
      "sameAs": "http://en.wikipedia.org/wiki/University_of_Cambridge",
      "alumni": {
        "@type": "OrganizationRole",
        "alumni": {
          "@type": "Person",
           "name": "Delia Derbyshire",
          "sameAs": "http://en.wikipedia.org/wiki/Delia_Derbyshire"
        },
        "startDate": "1959"
      }
    }
    </script>
    
    A JSON example of an OrganizationRole being used to qualify
    the 'alumniOf' property (which is inverseOf 'alumni').
    Note that we use startDate to indicate when the alumniOf
    situation began, which was the date of leaving the organization.
    
    <div itemscope itemtype="http://schema.org/Person">
      <span itemprop="name">Delia Derbyshire</span>
      <link itemprop="sameAs" href="http://en.wikipedia.org/wiki/Delia_Derbyshire"/>
      <div itemprop="alumniOf" itemscope
            itemtype="http://schema.org/OrganizationRole">
        <div itemprop="alumniOf" itemscope
                itemtype="http://schema.org/CollegeOrUniversity">
          <span itemprop="name">University of Cambridge</span>
          <link itemprop="sameAs" href="http://en.wikipedia.org/wiki/University_of_Cambridge"/>
        </div>
        <span itemprop="startDate">1959</span>
    </div>
    
    <div vocab="http://schema.org/" typeof="Person">
      <span property="name">Delia Derbyshire</span>
      <link property="sameAs" href="http://en.wikipedia.org/wiki/Delia_Derbyshire"/>
      <div property="alumniOf" typeof="OrganizationRole">
        <div property="alumniOf" typeof="CollegeOrUniversity">
          <span property="name">University of Cambridge</span>
          <link property="sameAs" href="http://en.wikipedia.org/wiki/University_of_Cambridge"/>
        </div>
        <span property="startDate">1959</span>
    </div>
    
    <script type="application/ld+json">
    {
      "@context": "http://schema.org",
      "@type": "Person",
       "name": "Delia Derbyshire",
       "sameAs": "http://en.wikipedia.org/wiki/Delia_Derbyshire",
       "alumniOf": {
         "@type": "OrganizationRole",
         "alumniOf": {
           "@type": "CollegeOrUniversity",
           "name": "University of Cambridge",
           "sameAs": "http://en.wikipedia.org/wiki/University_of_Cambridge"
        },
        "startDate": "1959"
      }
    }
    </script>
    
    A JSON example of a PerformanceRole, in which
    the Role represents the acting contribution made by
    Bill Murray in the film Ghostbusters. The Role entity
    allows us to additional information, such as the
    character's name that he played in the film.
    
    <div itemscope itemtype="http://schema.org/Movie">
      <span itemprop="name">Ghostbusters</span>
      <link itemprop="sameAs" href="http://en.wikipedia.org/wiki/Ghostbusters"/>
      <div itemprop="actor" itemscope
            itemtype="http://schema.org/PerformanceRole">
        <div itemprop="actor" itemscope
                itemtype="http://schema.org/Person">
          <span itemprop="name">Bill Murray</span>
        </div>
        <span itemprop="characterName">Dr. Peter Venkman</span>
    </div>
    
    <div vocab="http://schema.org/" typeof="Movie">
      <span property="name">Ghostbusters</span>
      <link property="sameAs" href="http://en.wikipedia.org/wiki/Ghostbusters"/>
      <div property="actor" typeof="PerformanceRole">
        <div property="actor" typeof="Person">
          <span property="name">Bill Murray</span>
        </div>
        <span property="characterName">Dr. Peter Venkman</span>
    </div>
    
    <script type="application/ld+json">
    {
      "@context": "http://schema.org",
      "@type": "Movie",
      "name": "Ghostbusters",
      "sameAs": "http://en.wikipedia.org/wiki/Ghostbusters",
      "actor": {
        "@type": "PerformanceRole",
        "actor": {
          "@type": "Person",
          "name": "Bill Murray"
        },
        "characterName": "Dr. Peter Venkman"
      }
    }
    </script>
    
    A JSON example of an OrganizationRole, showing information
    about a 'member' of a 'SportsTeam', including time qualfiers
    (when he began and ended that role).
    
    <div itemscope itemtype="http://schema.org/SportsTeam">
      <span itemprop="name">San Francisco 49ers</span>
      <div itemprop="member" itemscope
            itemtype="http://schema.org/OrganizationRole">
        <div itemprop="member" itemscope
                itemtype="http://schema.org/Person">
          <span itemprop="name">Joe Montana</span>
        </div>
        <span itemprop="startDate">1979</span>
        <span itemprop="endDate">1992</span>
        <span itemprop="namedPosition">Quarterback</span>
    </div>
    
    <div vocab="http://schema.org/" typeof="SportsTeam">
      <span property="name">San Francisco 49ers</span>
      <div property="member" typeof="OrganizationRole">
        <div property="member" typeof="http://schema.org/Person">
          <span property="name">Joe Montana</span>
        </div>
        <span property="startDate">1979</span>
        <span property="endDate">1992</span>
        <span property="namedPosition">Quarterback</span>
    </div>
    
    <script type="application/ld+json">
    {
      "@context": "http://schema.org",
      "@type": "SportsTeam",
      "name": "San Francisco 49ers",
      "member": {
        "@type": "OrganizationRole",
        "member": {
          "@type": "Person",
          "name": "Joe Montana"
        },
        "startDate": "1979",
        "endDate": "1992",
        "namedPosition": "Quarterback"
      }
    }
    </script>
    

    Schema Version 1.9