Thing > Action

An action performed by a direct agent and indirect participants upon a direct object. Optionally happens at a location with the help of an inanimate instrument. The execution of the action may produce a result. Specific action sub-type documentation specifies the exact expectation of each argument/role.

See also blog post and Actions overview document.

Usage: Between 100 and 1000 domains
[more...]
PropertyExpected TypeDescription
Properties from Action
actionStatus ActionStatusType Indicates the current disposition of the Action.
agent Person  or
Organization 
The direct performer or driver of the action (animate or inanimate). e.g. *John* wrote a book.
endTime DateTime The endTime of something. For a reserved event or service (e.g. FoodEstablishmentReservation), the time that it is expected to end. For actions that span a period of time, when the action was performed. e.g. John wrote a book from January to *December*. Note that Event uses startDate/endDate instead of startTime/endTime, even when describing dates with times. This situation may be clarified in future revisions.
error Thing For failed actions, more information on the cause of the failure.
instrument Thing The object that helped the agent perform the action. e.g. John wrote a book with *a pen*.
location Place  or
PostalAddress 
The location of the event, organization or action.
object Thing The object upon the action is carried out, whose state is kept intact or changed. Also known as the semantic roles patient, affected or undergoer (which change their state) or theme (which doesn't). e.g. John read *a book*.
participant Person  or
Organization 
Other co-agents that participated in the action indirectly. e.g. John wrote a book with *Steve*.
result Thing The result produced in the action. e.g. John wrote *a book*.
startTime DateTime The startTime of something. For a reserved event or service (e.g. FoodEstablishmentReservation), the time that it is expected to start. For actions that span a period of time, when the action was performed. e.g. John wrote a book from *January* to December. Note that Event uses startDate/endDate instead of startTime/endTime, even when describing dates with times. This situation may be clarified in future revisions.
target EntryPoint Indicates a target EntryPoint for an Action.
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 
An image of the item. This can be a URL or a fully described ImageObject.
mainEntityOfPage CreativeWork  or
URL 
Indicates a page (or other CreativeWork) for which this thing is the main entity being described.

Many (but not all) pages have a fairly clear primary topic, some entity or thing that the page describes. For example a restaurant's home page might be primarily about that Restaurant, or an event listing page might represent a single event. The mainEntity and mainEntityOfPage properties allow you to explicitly express the relationship between the page and the primary entity.

Related properties include sameAs, about, and url.

The sameAs and url properties are both similar to mainEntityOfPage. The url property should be reserved to refer to more official or authoritative web pages, such as the item’s official website. The sameAs property also relates a thing to a page that indirectly identifies it. Whereas sameAs emphasises well known pages, the mainEntityOfPage property serves more to clarify which of several entities is the main one for that page.

mainEntityOfPage can be used for any page, including those not recognized as authoritative for that entity. For example, for a product, sameAs might refer to a page on the manufacturer’s official site with specs for the product, while mainEntityOfPage might be used on pages within various retailers’ sites giving details for the same product.

about is similar to mainEntity, with two key differences. First, about can refer to multiple entities/topics, while mainEntity should be used for only the primary one. Second, some pages have a primary entity that itself describes some other entity. For example, one web page may display a news article about a particular person. Another page may display a product review for a particular product. In these cases, mainEntity for the pages should refer to the news article or review, respectively, while about would more properly refer to the person or product.
Inverse property: mainEntity.
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.


Instances of Action may appear as values for the following properties
PropertyOn TypesDescription
potentialAction Thing Indicates a potential Action, which describes an idealized action in which this thing would play an 'object' role.

More specific Types
  • AchieveAction
  • AssessAction
  • ConsumeAction
  • ControlAction
  • CreateAction
  • FindAction
  • InteractAction
  • MoveAction
  • OrganizeAction
  • PlayAction
  • SearchAction
  • TradeAction
  • TransferAction
  • UpdateAction

    Acknowledgements

    The schema.org Actions mechanism benefited from extensive discussions across the Web standards community around W3C, in particular from the Hydra project's community group.


    Examples

    John listened to Pink with Steve at Anna's apartment on his iPod.
    
    This example is JSON only.
    
    This example is JSON only.
    
    <!--  John listened to Pink with Steve at Anna's apartment on his iPod. -->
    <script type="application/ld+json">
    {
      "@context": "http://schema.org",
      "@type": "ListenAction",
      "agent": {
        "@type": "Person",
        "name": "John"
      },
      "object": {
        "@type": "MusicGroup",
        "name": "Pink!"
      },
      "participant": {
        "@type": "Person",
        "name": "Steve"
      },
      "location": {
        "@type": "Residence",
        "name": "Ann's apartment"
      },
      "instrument": {
        "@type": "Product",
        "name": "iPod"
      }
    }
    </script>
    
    John created an exercise plan with Steve.
    
    This example is JSON only.
    
    This example is JSON only.
    
    <!--  John created an exercise plan with Steve. -->
    <script type="application/ld+json">
    {
      "@context": "http://schema.org",
      "@type": "CreateAction",
      "agent": {
        "@type": "Person",
        "name": "John"
      },
      "result": {
        "@type": "ExercisePlan",
        "name": "John's weight loss plan"
      },
      "participant": {
        "@type": "Person",
        "name": "Steve"
      }
    }
    </script>
    

    Schema Version 2.0