The Open Digital Rights Language (ODRL) provides a flexible and interoperable information model, vocabulary, and encoding mechanisms for describing statements about content usage. The ODRL Vocabulary and Expression describes the terms used in such statements and how to encode them.

This is a work in progress. No section should be considered final, and the absence of any content does not imply that such content is out of scope, or may not appear in the future. If you feel something should be covered, please tell us.

Introduction

The ODRL Vocabulary and Expression defines a set of concepts and terms (the vocabulary) and encoding mechanism (the expression) for permissions and obligations statements describing content usage based on the ODRL Information Model [[!odrl-model]].

Relationship to the W3C ODRL Community Group Reports

The basis for the deliverables for the Permissions & Obligations Expression Working Group are the reports created by the W3C ODRL Community Group. The ODRL Community Group has developed a family of specifications to support innovative expression of asset usage for the publication, distribution and consumption of content services. The final outputs of the ODRL Community Group were the Version 2.1 specifications that were a major update for ODRL and superseded the original ODRL Version 1.1 [[odrl]] (published as a W3C NOTE)

The following documents are part of the ODRL Community Group report series:

The ODRL Vocabulary and Expression was derived from the combination and merger of four of the ODRL Community Group's outcomes; ODRL V2.1 Common Vocabulary, ODRL V2.1 XML Encoding, ODRL V2.1 Ontology, and ODRL V2.1 JSON Encoding. Details of the differences between the W3C Working Group deliverables and the ODRL Community Group Reports are maintained in the Appendix. All new ODRL implementations are expected to use the deliverables of the W3C Permissions & Obligations Expression Working Group.

Vocabulary

The ODRL Vocabulary formally defines the semantics for the concepts and terms from the ODRL Information Model [[!odrl-model]] and the vocabulary terms that can be used for common use cases for ODRL Policy expressions.

The figure below shows the grouping of concepts and terms used in the ODRL Vocabulary. Each (dark blue) rounded box represents the core concepts from the Information Model, and each (yellow) rectangular box represents a vocabulary of applicable terms.

ODRL Vocabulary groups
ODRL Vocabulary Groups

The Namespace URI to identify the ODRL model and vocabulary terms is: http://www.w3.org/ns/odrl/2/

This section is normative, meaning that the concepts and terms presented are required by ODRL expression systems. However, a number of terms have yet to reach the level of implementation that warrants them to be deemed normative. As a result, some terms in this section are explicitly labelled with the status "non-normative".

The current terms that are marked normative are taken from the ODRL Implementors Survey in December 2016 (PDF document).

Future versions of the ODRL Vocabulary MAY update these terms to be normative based on more implementation experience, from community feedback, as well as determintion as to the core parts of the ODRL Information Model.

Policy Concepts

Policy

Definition: A Rule expressing what Action is allowed and/or disallowed over an Asset.
Label: Policy
Identifier: http://www.w3.org/ns/odrl/2/Policy
Note: A Policy may contain multiple Rules.
Parent class: Asset
Sub-classes: Agreement, Assertion, Offer, Privacy, Request, Set, Ticket
Properties: conflict, inheritAllowed, inheritFrom, permission, profile, prohibition, undefined
In range of: inheritFrom

Rule

Definition: A Permission, Prohibition or Duty that expresses an Action that may, must not, or must be performed (respectively)
Label: Rule
Identifier: http://www.w3.org/ns/odrl/2/Rule
Note: Rule is an abstract concept.
Sub-classes: Duty, Permission, Prohibition
Properties: action, constraint, function, output, relation, target

Profile

Definition: The identifier of an ODRL Profile that the Policy conforms to.
Label: Profile
Identifier: http://www.w3.org/ns/odrl/2/profile
Note: ODRL Profiles may be defined by community groups and express additional semantics.
Domain: Policy

Policy Types

Agreement

Definition: Policy expressions that are formal contracts (licenses) stipulating all the terms of usage and all the parties involved.
Label: Agreement
Identifier: http://www.w3.org/ns/odrl/2/Agreement
Note: An Agreement Policy Type MUST contain a target Asset, a Party with Assigner role, a Party with Assignee role, and at least one of a Permission or Prohibition rule. The Agreement Policy Type will grant the terms of the Policy from the Assigner to the Assignee.
Parent class: Policy
Inherited Properties: conflict, undefined, permission, prohibition, inheritAllowed, inheritFrom, profile

Assertion

Definition: Policy expressions that reflect terms that Parties claim to hold.
Label: Assertion
Identifier: http://www.w3.org/ns/odrl/2/Assertion
Note: For example, a party (an assignee or assigner) can claim what terms they have over an Asset. An Assertion policy type does not grant such permissions/prohibitions but only asserts the parties claims. An Assetion Policy Type MUST contain a target Asset, a Party with any role, and at least one of a Permission or Prohibition rule.
Parent class: Policy
Inherited Properties: conflict, undefined, permission, prohibition, inheritAllowed, inheritFrom, profile

Offer

Definition: Policy expression that proposes terms of usage from an Asset owner.
Label: Offer
Identifier: http://www.w3.org/ns/odrl/2/Offer
Note: A Offer Policy Type MUST contain a target Asset, a Party with Assigner role, and at least one of a Permission or Prohibition rule. The Offer Policy Type MAY contain a Party with Assignee role, but MUST not grant any privileges to that Party.
Parent class: Policy
Inherited Properties: conflict, undefined, permission, prohibition, inheritAllowed, inheritFrom, profile

Privacy

Definition: Policy expression that stipulates the terms of usage over personal information.
Label: Privacy
Identifier: http://www.w3.org/ns/odrl/2/Privacy
Note: A Privacy Policy Type MUST contain a target Asset, a Party with Assigner role, a Party with Assignee role, and at least one of a Permission or Prohibition rule that MUST include a Duty. The target Asset SHOULD contain or relate to personal information about the Assignee. The Duty MUST describe obligations on the Assigner about managing the Asset. The Assignee is being granted the terms of the Privacy policy from the Assigner.
Parent class: Policy
Inherited Properties: conflict, undefined, permission, prohibition, inheritAllowed, inheritFrom, profile
Status: Non-Normative

Request

Definition: Policy expression that proposes terms of usage to an Asset owner.
Label: Request
Identifier: http://www.w3.org/ns/odrl/2/Request
Note: A Request Policy Type MUST contain a target Asset, a Party with Assignee role, and at least one of a Permission or Prohibition rule. The Request MAY also contain the Party with Assigner role if this is known. No privileges are granted to any Party.
Parent class: Policy
Inherited Properties: conflict, undefined, permission, prohibition, inheritAllowed, inheritFrom, profile
Status: Non-Normative

Set

Definition: Policy expression that consists of entities from the complete model.
Label: Set
Identifier: http://www.w3.org/ns/odrl/2/Set
Note: A Set Policy Type MUST contain a target Asset, and at least one Rule. The Set is aimed at scenarios where there is an open criteria for the semantics of the policy expressions and typically refined by other systems/profiles that process the information at a later time. No privileges are granted to any Party (if defined).
Parent class: Policy
Inherited Properties: conflict, undefined, permission, prohibition, inheritAllowed, inheritFrom, profile

Ticket

Definition: Policy expression that stipulates the terms of usage and is redeemable by any Party who currently holds the Ticket in their possession.
Label: Ticket
Identifier: http://www.w3.org/ns/odrl/2/Ticket
Note: A Offer Policy Type MUST contain a target Asset and at least one of a Permission or Prohibition rule. The Offer MAY contain the Party with Assigner role and a Party with Assignee role. A Ticket (or Voucher) may be anonymous or personalised, where the holder of that Ticket may remain unknown or has to be identified. The holder, or if known, the Assignee, is being granted the terms of the Ticket from the Assigner (in known).
Parent class: Policy
Inherited Properties: conflict, undefined, permission, prohibition, inheritAllowed, inheritFrom, profile
Status: Non-Normative

Policy Conflict Strategy

Conflict Preference

Definition: Used to establish strategies to resolve conflicts that arise from the merging of Policies or conflicts between Permissions and Prohibitions in the same Policy.
Label: Conflict Preference
Identifier: http://www.w3.org/ns/odrl/2/ConflictTerm
Note: Instances of ConflictTerm describe strategies for resolving conflicts.
In range of: conflict
Instances: invalid, perm, prohibit
Status: Non-Normative

Handle Policy Conflicts

Definition: Relates a conflict-resolution mechansim to a Policy.
Label: Handle Policy Conflicts
Identifier: http://www.w3.org/ns/odrl/2/conflict
Note: If no mechanism is specified, the default is invalid.
Range: ConflictTerm
Domain: Policy
Status: Non-Normative

Prefer Permissions

Definition: Permissions take preference over prohibitions.
Label: Prefer Permissions
Identifier: http://www.w3.org/ns/odrl/2/perm
Note: Used to determine policy conflict outcomes.
Class: ConflictTerm
Status: Non-Normative

Prefer Prohibitions

Definition: Prohibitions take preference over permissions.
Label: Prefer Prohibitions
Identifier: http://www.w3.org/ns/odrl/2/prohibit
Note: Used to determine policy conflict outcomes.
Class: ConflictTerm
Status: Non-Normative

Undefined Policy Actions

Undefined Term

Definition: Is used to indicate how to support Actions that are not part of any vocabulary or profile in the policy expression system
Label: Undefined Term
Identifier: http://www.w3.org/ns/odrl/2/UndefinedTerm
Note: Instances of UndefinedTerm describe policies for processing unsupported actions.
In range of: undefined
Instances: ignore, invalid, support
Status: Non-Normative

Handle Undefined Term

Definition: Relates the mechanism used for handling undefined actions to a Policy.
Label: Handle Undefined Term
Identifier: http://www.w3.org/ns/odrl/2/undefined
Note: If no mechanism is specified, the default is invalid.
Range: UndefinedTerm
Domain: Policy
Status: Non-Normative

Ignore Undefined Actions

Definition: The Action is to be ignored and is not part of the policy – and the policy remains valid.
Label: Ignore Undefined Actions
Identifier: http://www.w3.org/ns/odrl/2/ignore
Note: Used to support actions not known to the policy system.
Class: UndefinedTerm
Status: Non-Normative

Support Undefined Actions

Definition: The Action is to be supported as part of the policy – and the policy remains valid.
Label: Support Undefined Actions
Identifier: http://www.w3.org/ns/odrl/2/support
Note: Used to support actions not known to the policy system.
Class: UndefinedTerm
Status: Non-Normative

Undefined and Policy Conflict

Invalidate Policy

Definition: The policy is invalid.
Label: Invalidate Policy
Identifier: http://www.w3.org/ns/odrl/2/invalid
Note: Used to indicate the policy is invalid for Conflict strategy and Undefined actions.
Class: ConflictTerm, UndefinedTerm
Status: Non-Normative

Policy Inheritance

Inheritance Allowed

Definition: Indicates if the Policy entity can be inherited.
Label: Inheritance Allowed
Identifier: http://www.w3.org/ns/odrl/2/inheritAllowed
Note: A boolean value.
Range: xsd:boolean
Domain: Policy
Status: Non-Normative

Inherits From

Definition: Relates a (child) policy to another (parent) policy from which terms are inherited.
Label: Inherits From
Identifier: http://www.w3.org/ns/odrl/2/inheritFrom
Note: The child policy will inherit from the parent policy
Range: Policy
Domain: Policy
Status: Non-Normative

Asset Concepts

Asset

Definition: An identifiable resource that is the subject of a Rule.
Label: Asset
Identifier: http://www.w3.org/ns/odrl/2/Asset
Note: The Asset entity can be any form of identifiable resource, such as data/information, content/media, applications, or services. Furthermore, it can be used to represent other Asset entities that are needed to undertake the Policy expression, such as with the Duty entity. To describe more details about the Asset, it is recommened to use Dublin Core [[dcterms]] elements or other content metadata.
Sub-classes: Policy
In range of: output, relation, target

Relation

Definition: Relation is an abstract property which creates an explicit link between an Action and an Asset.
Label: Relation
Identifier: http://www.w3.org/ns/odrl/2/relation
Note: Sub-properties of relation are used to define the nature of that link.
Sub-properties: output, target
Range: Asset
Domain: Rule

Asset Scope

Definition: Scopes for Asset Scope expressions.
Label: Asset Scope
Identifier: http://www.w3.org/ns/odrl/2/AssetScope
Note: Instances of the AssetScope class represent the terms for the scope property of Assets.
Parent class: owl:Thing

Asset Relations

Target

Definition: The target property specifies the Asset upon which the Action is performed.
Label: Target
Identifier: http://www.w3.org/ns/odrl/2/target
Note: Or not performed by Prohibitions.
Parent property: relation
Range: Asset
Domain: Rule

Output

Definition: The output property specifies the Asset which is created from the output of the Action.
Label: Output
Identifier: http://www.w3.org/ns/odrl/2/output
Parent property: relation
Range: Asset
Domain: Rule
Status: Non-Normative

Party Concepts

Party

Definition: An identifiable entity who may undertake a Role in a Policy.
Label: Party
Identifier: http://www.w3.org/ns/odrl/2/Party
Note: The Party entity could be a person, group of people, organisation, or agent. An agent is a person or thing that takes an active role or produces a specified effect. To describe more details about the Party, it is recommened to use W3C vCard Ontology [[vcard-rdf]] or FOAF [[foaf]] metadata.
In range of: assignee, assigner, function

Function

Definition: Function is an abstract property whose sub-properties define the roles which may be fulfilled by a party in relation to a Rule.
Label: Function
Identifier: http://www.w3.org/ns/odrl/2/function
Sub-properties: assignee, assigner, attributedParty, attributingParty, compensatedParty, compensatingParty, consentedParty, consentingParty, contractedParty, contractingParty, informedParty, informingParty, trackedParty, trackingParty
Range: Party
Domain: Rule

Party Scope

Definition: Scopes for Party Scope expressions.
Label: Party Scope
Identifier: http://www.w3.org/ns/odrl/2/PartyScope
Note: Instances of the PartyScope class represent the terms for the scope property of Parties.
Parent class: owl:Thing
Instances: All, All2ndConnections, AllConnections, AllGroups, Group, Individual

Party Functions

Assignee

Definition: The Party is the recipient of the policy statement.
Label: Assignee
Identifier: http://www.w3.org/ns/odrl/2/assignee
Note: Must be supported.
Parent property: function
Range: Party

Assigner

Definition: The Party is the issuer of the policy statement.
Label: Assigner
Identifier: http://www.w3.org/ns/odrl/2/assigner
Note: Must be supported.
Parent property: function
Range: Party

Attributed Party

Definition: The Party to be attributed.
Label: Attributed Party
Identifier: http://www.w3.org/ns/odrl/2/attributedParty
Note: Maybe specified as part of the attribute action.
Parent property: function

Attributing Party

Definition: The Party who undertakes the attribution.
Label: Attributing Party
Identifier: http://www.w3.org/ns/odrl/2/attributingParty
Note: Maybe specified as part of the attribute action.
Parent property: function
Status: Non-Normative

Compensated Party

Definition: The Party is the recipient of the compensation.
Label: Compensated Party
Identifier: http://www.w3.org/ns/odrl/2/compensatedParty
Note: Maybe specified as part of the compensate duty action.
Parent property: function
Status: Non-Normative

Compensating Party

Definition: The Party that is the provider of the compensation.
Label: Compensating Party
Identifier: http://www.w3.org/ns/odrl/2/compensatingParty
Note: Maybe specified as part of the compensate duty action.
Parent property: function
Status: Non-Normative

Consenting Party

Definition: The Party to obtain consent from.
Label: Consenting Party
Identifier: http://www.w3.org/ns/odrl/2/consentingParty
Note: Maybe specified as part of the obtainConsent action.
Parent property: function

Consented Party

Definition: The Party who obtains the consent.
Label: Consented Party
Identifier: http://www.w3.org/ns/odrl/2/consentedParty
Note: Maybe specified as part of the obtainConsent action.
Parent property: function
Status: Non-Normative

Contracting Party

Definition: The Party who is offering the contract.
Label: Contracting Party
Identifier: http://www.w3.org/ns/odrl/2/contractingParty
Parent property: function
Status: Non-Normative

Contracted Party

Definition: The Party who is being contracted.
Label: Contracted Party
Identifier: http://www.w3.org/ns/odrl/2/contractedParty
Parent property: function
Status: Non-Normative

Informed Party

Definition: The Party to be informed of all uses.
Label: Informed Party
Identifier: http://www.w3.org/ns/odrl/2/informedParty
Note: Maybe specified as part of the inform action.
Parent property: function
Status: Non-Normative

Informing Party

Definition: The Party who provides the inform use data.
Label: Informing Party
Identifier: http://www.w3.org/ns/odrl/2/informingParty
Note: Maybe specified as part of the inform action.
Parent property: function
Status: Non-Normative

Tracking Party

Definition: The Party who is tracking usage.
Label: Tracking Party
Identifier: http://www.w3.org/ns/odrl/2/trackingParty
Note: May be specified as part of the acceptTracking action.
Parent property: function

Tracked Party

Definition: The Party whose usage is being tracked.
Label: Tracked Party
Identifier: http://www.w3.org/ns/odrl/2/trackedParty
Note: May be specified as part of the acceptTracking action.
Parent property: function
Status: Non-Normative

Party Scopes

Group

Definition: Specifies that the scope of the relationship is the defined group with multiple individual members.
Label: Group
Identifier: http://www.w3.org/ns/odrl/2/Group
Note: Must be supported.
Class: PartyScope
Status: Non-Normative

Individual

Definition: Specifies that the scope of the relationship is the single Party individual.
Label: Individual
Identifier: http://www.w3.org/ns/odrl/2/Individual
Note: MUST be supported.
Class: PartyScope

All

Definition: Specifies that the scope of the relationship is all of the collective individuals within a context.
Label: All
Identifier: http://www.w3.org/ns/odrl/2/All
Note: For example, may be used to indicate all the users of a specific social network the party is a member of. Note that “group” scope is also assumed.
Class: PartyScope
Status: Non-Normative

All Connections

Definition: Specifies that the scope of the relationship is all of the first-level connections of the Party.
Label: All Connections
Identifier: http://www.w3.org/ns/odrl/2/AllConnections
Note: For example, may be used to indicate all “friends” of the Party. Note that “group” scope is also assumed.
Class: PartyScope
Status: Non-Normative

All Second-level Connections

Definition: Specifies that the scope of the relationship is all of the second-level connections to the Party.
Label: All Second-level Connections
Identifier: http://www.w3.org/ns/odrl/2/All2ndConnections
Note: For example, may be used to indicate all “friends of friends” of the Party. Note that “group” scope is also assumed.
Class: PartyScope
Status: Non-Normative

All Groups

Definition: Specifies that the scope of the relationship is all of the group connections of the Party.
Label: All Groups
Identifier: http://www.w3.org/ns/odrl/2/AllGroups
Note: For example, may be used to indicate all groups that the Party is a member of. Note that “group” scope is also assumed.
Class: PartyScope
Status: Non-Normative

Party and Asset Concepts

Scope

Definition: The identifier of a scope that provides context to the extent of the entity.
Label: Scope
Identifier: http://www.w3.org/ns/odrl/2/scope
Note: Used to define scopes for Assets and Parties.
Range: AssetScope, PartyScope

Permission Concepts

Permission

Definition: An Action that may be performed over an Asset.
Label: Permission
Identifier: http://www.w3.org/ns/odrl/2/Permission
Note: In other words, what the assigner (supplier) has granted to the assignee (consumer).
Parent class: Rule
Properties: duty
Inherited Properties: relation, output, target, function, action, constraint

Has Permission

Definition: Relates the description of an individual Permission to a Policy.
Label: Has Permission
Identifier: http://www.w3.org/ns/odrl/2/permission
Note: A permission can be specified either in terms of an Action alone, or an instance of Permission relating an Action and one or more other attributes.
Range: Action, Permission
Domain: Policy

Prohibition Concepts

Prohibition

Definition: An Action that must not be performed over an Asset.
Label: Prohibition
Identifier: http://www.w3.org/ns/odrl/2/Prohibition
Note: Prohibitions are issued by the supplier of the Asset – the Party with the Role assigner.
Parent class: Rule
Inherited Properties: relation, output, target, function, action, constraint

Has Prohibition

Definition: Relates the description of an individual Prohibition to a Policy.
Label: Has Prohibition
Identifier: http://www.w3.org/ns/odrl/2/prohibition
Note: A prohibition can be specified either in terms of an Action alone, or an instance of Prohibition relating an Action and one or more other attributes.
Range: Action, Prohibition
Domain: Policy

Action Concepts

Action

Definition: An operation that is applicable to an Asset.
Label: Action
Identifier: http://www.w3.org/ns/odrl/2/Action
Note: Actions may be allowed by Permissions, disalloed by Prohibitions, or made mandatory by Duties.
Parent class: Concept
In range of: action
Instances: acceptTracking, adHocShare, aggregate, annotate, anonymize, append, appendTo, archive, attachPolicy, attachSource, attribute, commercialize, compensate, concurrentUse, copy, delete, derive, digitize, display, distribute, ensureExclusivity, execute, export, extract, extractChar, extractPage, extractWord, give, grantUse, include, index, inform, install, lease, lend, license, modify, move, nextPolicy, obtainConsent, pay, play, present, preview, print, read, reproduce, reviewPolicy, secondaryUse, sell, share, shareAlike, stream, textToSpeech, transfer, transform, translate, uninstall, use, watermark, write, writeTo

Has Action

Definition: The operation relating to the asset for which the Rule is being subjected.
Label: Has Action
Identifier: http://www.w3.org/ns/odrl/2/action
Note: A permission must include exactly one action.
Range: Action
Domain: Rule

Actions for Permissions and Prohibitions

Use

Definition: The Assigner permits/prohibits the Assignee to use the Asset as agreed.
Label: Use
Identifier: http://www.w3.org/ns/odrl/2/use
Note: Use is the most generic action for all non-third-party usage. More details may be defined in the applicable agreements or under applicable commercial laws. Refined types of actions can be expressed by the narrower actions.
Narrower terms: aggregate, annotate, anonymize, archive, concurrentUse, derive, digitize, distribute, execute, grantUse, index, install, modify, move, present, read, reproduce, textToSpeech, transform, translate, writeTo
Class: Action

Grant Use

Definition: The Assigner permits/prohibits the Assignee to grant the use the Asset to third parties.
Label: Grant Use
Identifier: http://www.w3.org/ns/odrl/2/grantUse
Note: This action enables the Assignee to create policies for the use of the Asset for third parties. nextPolicy is recommended to be agreed with the third party. Use of temporal constraints is recommended.
Class: Action
Status: Non-Normative

Aggregate

Definition: The Assigner permits/prohibits the Assignees to use the Asset or parts of it as part of a composite collection.
Label: Aggregate
Identifier: http://www.w3.org/ns/odrl/2/aggregate
Class: Action
Status: Non-Normative

Annotate

Definition: The Assigner permits/prohibits the Assignees to add explanatory notations/commentaries to the Asset without modifying the Asset in any other way.
Label: Annotate
Identifier: http://www.w3.org/ns/odrl/2/annotate
Class: Action
Status: Non-Normative

Anonymize

Definition: The Assigner permits/prohibits the Assignees to anonymize all or parts of the Asset.
Label: Anonymize
Identifier: http://www.w3.org/ns/odrl/2/anonymize
Note: For example, to remove identifying particulars for statistical or for other comparable purposes, or to use the asset without stating the author/source.
Class: Action
Status: Non-Normative

Archive

Definition: The Assigner permits/prohibits the Assignees to store the Asset (in a non-transient form).
Label: Archive
Identifier: http://www.w3.org/ns/odrl/2/archive
Note: Constraints may be used for temporal conditions.
Class: Action
Status: Non-Normative

Concurrent Use

Definition: The Assigner permits/prohibits the Assignees to create multiple copies of the Asset that are being concurrently used.
Label: Concurrent Use
Identifier: http://www.w3.org/ns/odrl/2/concurrentUse
Class: Action
Status: Non-Normative

Derive

Definition: The Assigner permits/prohibits the Assignees to create a new derivative Asset from this Asset and to edit or modify the derivative.
Label: Derive
Identifier: http://www.w3.org/ns/odrl/2/derive
Note: A new asset is created and may have significant overlaps with the original Asset. (Note that the notion of whether or not the change is significant enough to qualify as a new asset is subjective). To the derived Asset a next policy may be applied.
Class: Action
Status: Non-Normative

Digitize

Definition: The Assigner permits/prohibits the Assignees to produce a digital copy of (or otherwise digitize) the Asset from its analogue form.
Label: Digitize
Identifier: http://www.w3.org/ns/odrl/2/digitize
Class: Action
Status: Non-Normative

Display

Definition: The Assigner permits/prohibits the Assignees to display the visual media Asset.
Label: Display
Identifier: http://www.w3.org/ns/odrl/2/display
Note: For example, displaying an image on a screen. If the action is to be performed to a wider audience than just the Assignees, then the Recipient constraint is recommened to be used.
Class: Action

Distribute

Definition: The Assigner permits/prohibits the Assignees to distribute the Asset.
Label: Distribute
Identifier: http://www.w3.org/ns/odrl/2/distribute
Class: Action

Execute

Definition: The Assigner permits/prohibits the Assignees to run the computer program Asset.
Label: Execute
Identifier: http://www.w3.org/ns/odrl/2/execute
Note: For example, machine executable code or Java such as a game or application.
Class: Action
Status: Non-Normative

Extract

Definition: The Assigner permits/prohibits the Assignees to extract parts of the Asset and to use it as a new Asset.
Label: Extract
Identifier: http://www.w3.org/ns/odrl/2/extract
Note: A new asset is created and may have very little in common with the original Asset. (Note that the notion of whether or not the change is significant enough to qualify as a new asset is subjective). To the extracted Asset a next policy may be applied.
Class: Action
Status: Non-Normative

Give

Definition: The Assigner permits/prohibits the Assignees to transfer the ownership of the Asset to a third party without compensation and while deleting the original asset.
Label: Give
Identifier: http://www.w3.org/ns/odrl/2/give
Class: Action
Status: Non-Normative

Index

Definition: The Assigner permits/prohibits the Assignees to record the Asset in an index.
Label: Index
Identifier: http://www.w3.org/ns/odrl/2/index
Note: For example, to include a link to the Asset in a search engine database.
Class: Action
Status: Non-Normative

Install

Definition: The Assigner permits/prohibits the Assignees to load the computer program Asset onto a storage device which allows operating or running the Asset.
Label: Install
Identifier: http://www.w3.org/ns/odrl/2/install
Class: Action
Status: Non-Normative

Modify

Definition: The Assigner permits/prohibits the Assignees to update existing content of the Asset. A new asset is not created by this action.
Label: Modify
Identifier: http://www.w3.org/ns/odrl/2/modify
Note: This action will modify an asset which is typically updated from time to time without creating a new asset like a database. If the result from modifying the asset should be a new asset the actions derive or extract should be used. (Note that the notion of whether or not the change is significant enough to qualify as a new asset is subjective).
Class: Action
Status: Non-Normative

Move

Definition: The Assigner permits/prohibits the Assignees to move the Asset from one digital location to another including deleting the original copy.
Label: Move
Identifier: http://www.w3.org/ns/odrl/2/move
Note: After the Asset has been moved, the original copy must be deleted.
Class: Action
Status: Non-Normative

Play

Definition: The Assigner permits/prohibits the Assignees to perform an audio Asset.
Label: Play
Identifier: http://www.w3.org/ns/odrl/2/play
Note: If the action is to be performed to a wider audience than just the Assignees, then the Recipient constraint is recommened to be used.
Class: Action
Status: Non-Normative

Present

Definition: The Assigner permits/prohibits the Assignees to perform or exhibit an Asset.
Label: Present
Identifier: http://www.w3.org/ns/odrl/2/present
Note: If the action is to be performed to a wider audience than just the Assignees, then the Recipient constraint is recommened to be used.
Narrower terms: display, play, print
Class: Action
Status: Non-Normative

Print

Definition: The Assigner permits/prohibits the Assignees to print an Asset onto paper or to create a hard copy.
Label: Print
Identifier: http://www.w3.org/ns/odrl/2/print
Note: For example, creating a permanent, fixed (static), and directly perceivable representation of the Asset.
Class: Action
Status: Non-Normative

Read

Definition: The Assigner permits/prohibits the Assignees to obtain data from the Asset.
Label: Read
Identifier: http://www.w3.org/ns/odrl/2/read
Note: For example, the ability to read a record from a database (the Asset).
Class: Action
Status: Non-Normative

Reproduce

Definition: The Assigner permits/prohibits the Assignee(s) to make (an) exact reproduction(s) of the Asset.
Label: Reproduce
Identifier: http://www.w3.org/ns/odrl/2/reproduce
Narrower terms: extract
Class: Action
Status: Non-Normative

Sell

Definition: The Assigner permits/prohibits the Assignees to transfer the ownership of the Asset to a third party with compensation and while deleting the original asset.
Label: Sell
Identifier: http://www.w3.org/ns/odrl/2/sell
Class: Action
Status: Non-Normative

Stream

Definition: The Assigner permits/prohibits the Assignees to deliver the Asset in real-time.
Label: Stream
Identifier: http://www.w3.org/ns/odrl/2/stream
Note: The Asset maybe utilised in real-time as it is being delivered. If the action is to be performed to a wider audience than just the Assignees, then the Recipient constraint is recommened to be used.
Class: Action
Status: Non-Normative

Text-to-speech

Definition: The Assigner permits/prohibits the Assignees to have a text Asset read out loud.
Label: Text-to-speech
Identifier: http://www.w3.org/ns/odrl/2/textToSpeech
Note: If the action is to be performed to a wider audience than just the Assignees, then the Recipient constraint is recommened to be used.
Class: Action
Status: Non-Normative

Transfer

Definition: The Assigner transfers/does not transfer the ownership in perpetuity to the Assignees.
Label: Transfer
Identifier: http://www.w3.org/ns/odrl/2/transfer
Narrower terms: give, sell
Class: Action
Status: Non-Normative

Transform

Definition: The Assigner permits/prohibits the Assignees to make a digital copy of the digital Asset in another digital format.
Label: Transform
Identifier: http://www.w3.org/ns/odrl/2/transform
Note: Typically used to convert the Asset into a different format for consumption on/transfer to a third party system.
Class: Action
Status: Non-Normative

Translate

Definition: The Assigner permits/prohibits the Assignees to translate the original natural language of an Asset into another natural language.
Label: Translate
Identifier: http://www.w3.org/ns/odrl/2/translate
Note: A new derivative Asset is created by that action.
Class: Action

Duty Concepts

Duty

Definition: An Action that has been agreed to be performed as a requirement for the applicable Permission to become valid.
Label: Duty
Identifier: http://www.w3.org/ns/odrl/2/Duty
Note: While implying different semantics, the Duty entity is similar to Permission in that it is an Action that must be undertaken.
Parent class: Rule
Inherited Properties: relation, output, target, function, action, constraint

Has Duty

Definition: The duty relating to the Permission.
Label: Has Duty
Identifier: http://www.w3.org/ns/odrl/2/duty
Note: A Duty indicates requirements which must be fulfilled in order to receive the permission.
Range: Action, Duty
Domain: Permission

Actions for Duties

Accept Tracking

Definition: The Assigner requires that the Assignees accepts that the use of the Asset may be tracked.
Label: Accept Tracking
Identifier: http://www.w3.org/ns/odrl/2/acceptTracking
Note: The collected information may be tracked by the Assigner, or may link to a Party with the role function “trackingParty”.
Class: Action
Status: Non-Normative

Attribute

Definition: The Assigner requires that the Assignees attributes the Asset to the Assigner or an attributed Party.
Label: Attribute
Identifier: http://www.w3.org/ns/odrl/2/attribute
Note: May link to an Asset with the attribution information. May link to a Party with the role function “attributedParty”.
Class: Action

Compensate

Definition: The Assigner requires that the Assignees compensates the Assigner (or other specified compensation Party) by some amount of value, if defined, for use of the Asset.
Label: Compensate
Identifier: http://www.w3.org/ns/odrl/2/compensate
Note: The compensation may use different types of things with a value: (i) the thing is expressed by the value (term) of the Constraint name; (b) the value is expressed by operator, rightOperand, dataType and unit
Class: Action

Delete

Definition: The Assigner requires that the Assignees permanently removes all copies of the Asset.
Label: Delete
Identifier: http://www.w3.org/ns/odrl/2/delete
Note: Use a constraint to define under which conditions the Asset should be deleted.
Class: Action
Status: Non-Normative

Ensure Exclusivity

Definition: The Assignee requires that the Assigners ensure that the permission on the Asset is exclusive to the Assignee.
Label: Ensure Exclusivity
Identifier: http://www.w3.org/ns/odrl/2/ensureExclusivity
Class: Action
Status: Non-Normative

Include

Definition: The Assigner requires that the Assignees include other related assets in the Asset.
Label: Include
Identifier: http://www.w3.org/ns/odrl/2/include
Note: For example: bio picture must be included in the attribution. Use of the Asset relation attribute is required.
Class: Action
Status: Non-Normative

Inform

Definition: The Assigner requires that the Assignees inform the Assigner or an informed Party that an action has been performed on or in relation to the Asset.
Label: Inform
Identifier: http://www.w3.org/ns/odrl/2/inform
Note: May link to a Party with the role function “informedParty”.
Class: Action
Status: Non-Normative

Next Policy

Definition: The Assigner requires that the Assignees grants the specified Policy to a third party for their use of the Asset.
Label: Next Policy
Identifier: http://www.w3.org/ns/odrl/2/nextPolicy
Note: Useful for downstream policies.
Class: Action

Obtain Consent

Definition: The Assigner requires that the Assignees obtains explicit consent from the Assigner or a consenting Party to perform the requested action in relation to the Asset.
Label: Obtain Consent
Identifier: http://www.w3.org/ns/odrl/2/obtainConsent
Note: Used as a Duty to ensure that the Assigner or a Party is authorized to approve such actions on a case-by-case basis. May link to a Party with the role function “consentingParty”.
Class: Action
Status: Non-Normative

Review Policy

Definition: The Assigner requires that the Assignee(s) has(ve) a person review the Policy applicable to the Asset.
Label: Review Policy
Identifier: http://www.w3.org/ns/odrl/2/reviewPolicy
Note: Used when human intervention is required to review the Policy. May link to an Asset which represents the full Policy information.
Class: Action
Status: Non-Normative

Uninstall

Definition: The Assigner requires that the Assignees unload and delete the computer program Asset from a storage device and disable its readiness for operation.
Label: Uninstall
Identifier: http://www.w3.org/ns/odrl/2/uninstall
Note: The Asset is no longer accessible to the Assignees.
Class: Action
Status: Non-Normative

Watermark

Definition: The Assigner requires that the Assignees apply a watermark as provided by the Assigner to the Asset.
Label: Watermark
Identifier: http://www.w3.org/ns/odrl/2/watermark
Note: It is recommended to embed a link to the watermark.
Class: Action
Status: Non-Normative

Constraint Concepts

Constraint

Definition: The context, such as limitations, restrictions, or interpretations, that must be applied to an Action.
Label: Constraint
Identifier: http://www.w3.org/ns/odrl/2/Constraint
Note: Parent class of all Constraints.
Parent class: owl:Thing
Properties: dataType, leftOperand, operator, rightOperand, rightOperandReference, status, unit
In range of: constraint

Has Constraint

Definition: The constraint relating to the Rule.
Label: Has Constraint
Identifier: http://www.w3.org/ns/odrl/2/constraint
Note: One or more constraints which affect the validity of the Rule; e.g. if the Action play is only permitted for a certain period of time.
Range: Constraint
Domain: Rule

Operator

Definition: Operators for constraint expressions.
Label: Operator
Identifier: http://www.w3.org/ns/odrl/2/Operator
Note: Instances of the Operator class represent boolean operators
Parent class: owl:Thing
In range of: operator
Instances: and, andSequence, eq, gt, gteq, hasPart, isA, isAllOf, isAnyOf, isNoneOf, isPartOf, lt, lteq, neq, or, xor

Has Operator

Definition: The logical operator function applied to a constraint and its operands.
Label: Has Operator
Identifier: http://www.w3.org/ns/odrl/2/operator
Range: Operator
Domain: Constraint

Right Operand

Definition: Right operands for constraint expressions.
Label: Right Operand
Identifier: http://www.w3.org/ns/odrl/2/RightOperand
Note: Instances of the RightOperand class represent the right term in a Constraint.
Parent class: owl:Thing
Instances: policyUsage

Has Right Operand

Definition: The right operand in a constraint expression.
Label: Has Right Operand
Identifier: http://www.w3.org/ns/odrl/2/rightOperand
Domain: Constraint

Has Right Operand Reference

Definition: A reference to the operand applied to an instance of a constraint.
Label: Has Right Operand Reference
Identifier: http://www.w3.org/ns/odrl/2/rightOperandReference
Note: Represents a URI that must be dereferenced to obtain the actual right operand value
Domain: Constraint
Status: Non-Normative

Left Operand

Definition: Left operands for constraint expressions.
Label: Left Operand
Identifier: http://www.w3.org/ns/odrl/2/LeftOperand
Note: Instances of the LeftOperand class represent the left term in a Constraint.
Parent class: owl:Thing
In range of: leftOperand
Instances: absolutePosition, absoluteSize, absoluteSpatialPosition, absoluteTemporalPosition, count, dateTime, delayPeriod, deliveryChannel, device, elapsedTime, event, fileFormat, industry, language, media, meteredTime, payAmount, percentage, product, purpose, recipient, relativePosition, relativeSize, relativeSpatialPosition, relativeTemporalPosition, resolution, spatial, spatialCoordinates, system, systemDevice, timeInterval, unitOfCount, version, virtualLocation

Has Left Operand

Definition: The left operand in a constraint expression.
Label: Has Left Operand
Identifier: http://www.w3.org/ns/odrl/2/leftOperand
Range: LeftOperand
Domain: Constraint

Unit

Definition: The unit of measurement used for the constraint value.
Label: Unit
Identifier: http://www.w3.org/ns/odrl/2/unit
Domain: Constraint

Datatype

Definition: The datatype used for the constraint value.
Label: Datatype
Identifier: http://www.w3.org/ns/odrl/2/dataType
Note: In RDF encodings, use of the rdf:datatype MAY be used.
Domain: Constraint

Status

Definition: the current value generated from the leftOperand action.
Label: Status
Identifier: http://www.w3.org/ns/odrl/2/status
Domain: Constraint
Status: Non-Normative

Constraint Left Operands

Absolute Asset Position

Definition: A point in space or time defined with absolute coordinates the positioning of the Asset has to comply with for excersing the Action.
Label: Absolute Asset Position
Identifier: http://www.w3.org/ns/odrl/2/absolutePosition
Note: Example: May be used with a natural language contract saying the the upper left corner of a picture may be constrainted to a specific position of the canvas rendiering it.
Narrower terms: absoluteSpatialPosition, absoluteTemporalPosition
Class: LeftOperand

Absolute Spatial Asset Position

Definition: The absolute spatial positions of four corners of a rectangle on a 2D-canvas or the eight corners of a cubiod in a 3D-space the Asset has to fit in after the Action.
Label: Absolute Spatial Asset Position
Identifier: http://www.w3.org/ns/odrl/2/absoluteSpatialPosition
Note: Example: May be used with a natural language contract saying the the upper left corner of a picture may be constrainted to a specific position of the canvas rendiering it. Note: see also the Left Operand Relative Spatial Asset Position.
Class: LeftOperand
Status: Non-Normative

Absolute Temporal Asset Position

Definition: The absolute temporal positions in a media stream the Asset has to fit in after the Action.
Label: Absolute Temporal Asset Position
Identifier: http://www.w3.org/ns/odrl/2/absoluteTemporalPosition
Note: Note: Use with Actions including the Asset in a larger media stream. The fragement part of a Media Fragement URI (https://www.w3.org/TR/media-frags/) may be used for the right operand. See the Left Operand realativeTemporalPosition. Example: The MP3 music file must be positioned between second 192 and 250 of the temporal length of a stream.
Class: LeftOperand
Status: Non-Normative

Absolute Asset Size

Definition: Measure(s) of one or two axes for 2D-objects or measure(s) of one to tree axes for 3D-objects of the Asset after the Action.
Label: Absolute Asset Size
Identifier: http://www.w3.org/ns/odrl/2/absoluteSize
Note: Example: The image can be resized in width to a maximum of 1000px.
Class: LeftOperand
Status: Non-Normative

Count

Definition: Numeric count of exercising the Action.
Label: Count
Identifier: http://www.w3.org/ns/odrl/2/count
Note: Should be a positive integer
Class: LeftOperand

Action Datetime or Period

Definition: The date (and optional time and timezone) to be compared to the time when the Action is exercised or a period to be compared with the duration of exercising the Action.
Label: Action Datetime or Period
Identifier: http://www.w3.org/ns/odrl/2/dateTime
Note: Right operand should be a xsd:date or a xsd:dateTime, Value must conform to [[iso8601]] as represented in [[xmlschema11-2]]. The use of Timezone information is strongly recommended.
Class: LeftOperand

Action Delay Period

Definition: The Action may be executed after the end of this period. The point in time triggering this period MAY be defined by another temporal constraint expressed by a Constrations Relation.
Label: Action Delay Period
Identifier: http://www.w3.org/ns/odrl/2/delayPeriod
Note: Value must conform to [[iso8601]] as represented in [[xmlschema11-2]] as a xsd:duration. This maybe used with the odrl:andSequence operator.
Class: LeftOperand
Status: Non-Normative

Delivery Channel

Definition: The delivery channel used for exercising the Action.
Label: Delivery Channel
Identifier: http://www.w3.org/ns/odrl/2/deliveryChannel
Note: Example: the asset may be distributed only on mobile networks.
Class: LeftOperand

Elapsed Time

Definition: A period of time for exercising the Action. The start of the period is trigged by exercising the Action for the first time.
Label: Elapsed Time
Identifier: http://www.w3.org/ns/odrl/2/elapsedTime
Note: Data type of the right operand must be xsd:duration, Note: The value of the Right Operand must conform to [[iso8601]] as represented in [[xmlschema11-2]].
Class: LeftOperand
Status: Non-Normative

Event Action

Definition: An identified event used for exercising the Action.
Label: Event Action
Identifier: http://www.w3.org/ns/odrl/2/event
Note: Events are temporal periods of time, and operators can be used to signal before, during or after the event. Example: Action may be taken during the “FIFA World Cup 2020” only.
Class: LeftOperand

File Format

Definition: The file format of the Asset after exercising the Action.
Label: File Format
Identifier: http://www.w3.org/ns/odrl/2/fileFormat
Note: Example: An asset may be transformed into JPEG format.
Class: LeftOperand
Status: Non-Normative

Industry Context

Definition: The defined industry sector in which the Action may be exercised.
Label: Industry Context
Identifier: http://www.w3.org/ns/odrl/2/industry
Note: Example: publishing or financial industry.
Class: LeftOperand

Language

Definition: The main natural language of the Asset after exercising the Action.
Label: Language
Identifier: http://www.w3.org/ns/odrl/2/language
Note: Example: the asset can only be translated into Greek. Must use [[bcp47]] codes for language values.
Class: LeftOperand

Media Context

Definition: Category of media setting the context for exercising the Action.
Label: Media Context
Identifier: http://www.w3.org/ns/odrl/2/media
Note: Example media types: electronic, print, advertising, marketing. Note: The used type should not be an IANA MediaType as they are focused on technical characteristics.
Class: LeftOperand
Status: Non-Normative

Metered Time

Definition: The period of metered time for exercising the Action.
Label: Metered Time
Identifier: http://www.w3.org/ns/odrl/2/meteredTime
Note: The value must conform to [[iso8601]] as represented in [[xmlschema11-2]] as an xsd:duration. Examples: The asset must be displayed only for max 30 minutes; the asset must be displayed for at least 3 weeks.
Class: LeftOperand
Status: Non-Normative

Payment Amount

Definition: The amount of a payment related to the Action of a Duty.
Label: Payment Amount
Identifier: http://www.w3.org/ns/odrl/2/payAmount
Note: The datatype of the right operand must be xsd:decimal. Note: Can be used for compensation duties. The data type property of the Right Operand may be used to indicate the type of the value (eg decimal) and the unit property to indicate the currency.
Class: LeftOperand

Asset Percentage

Definition: The amount of an Asset - as a percentage - used for exercising the Action.
Label: Asset Percentage
Identifier: http://www.w3.org/ns/odrl/2/percentage
Note: The datatype of the right operand must be xsd:decimal from 0 to 100. Example: Extract less than or equal to of 50% of the asset.
Class: LeftOperand
Status: Non-Normative

Product Context

Definition: Product or service used for exercising the Action.
Label: Product Context
Identifier: http://www.w3.org/ns/odrl/2/product
Note: Example: The Asset image may only be reproduced in the XYZ Magazine.
Class: LeftOperand
Status: Non-Normative

Purpose

Definition: Purpose for exercising the Action.
Label: Purpose
Identifier: http://www.w3.org/ns/odrl/2/purpose
Note: Example: Educational use. Note: Purpose values from [[p3p]] may also be used.
Class: LeftOperand

Recipient

Definition: The party receiving the result of an exercised Action.
Label: Recipient
Identifier: http://www.w3.org/ns/odrl/2/recipient
Note: Note: The Right Operand must identify one or more specific parties or category/ies of the party.
Class: LeftOperand

Relative Asset Position

Definition: A point in space or time defined with coordinates relative to full measures the positioning of the Asset has to comply with for excersing the Action.
Label: Relative Asset Position
Identifier: http://www.w3.org/ns/odrl/2/relativePosition
Note: Example: May be used with a natural language contract saying the the upper left corner of a picture may be constrainted to a specific position of the canvas rendiering it.
Narrower terms: relativeSpatialPosition, relativeTemporalPosition
Class: LeftOperand
Status: Non-Normative

Relative Spatial Asset Position

Definition: The relative spatial positions - expressed as percentages of full values - of four corners of a rectangle on a 2D-canvas or the eight corners of a cubiod in a 3D-space the Asset has to fit in after the Action.
Label: Relative Spatial Asset Position
Identifier: http://www.w3.org/ns/odrl/2/relativeSpatialPosition
Note: Note: See the Left Operand absoluteSpatialAssetPosition.
Class: LeftOperand
Status: Non-Normative

Relative Temporal Asset Position

Definition: A point in space or time defined with coordinates relative to full measures the positioning of the Asset has to comply with for excersing the Action.
Label: Relative Temporal Asset Position
Identifier: http://www.w3.org/ns/odrl/2/relativeTemporalPosition
Note: Example: The MP3 music file must be positioned between the positions at 33% and 48% of the temporal length of a stream. Note: See the Left Operand absoluteTemporalAssetPosition.
Class: LeftOperand
Status: Non-Normative

Relative Asset Size

Definition: Measure(s) of one or two axes for 2D-objects or measure(s) of one to tree axes for 3D-objects - expressed as percentages of full values - of the Asset after the Action.
Label: Relative Asset Size
Identifier: http://www.w3.org/ns/odrl/2/relativeSize
Note: Example: The image can be resized in width to a maximum of 200%. Note: See the Left Operand absoluteSize.
Class: LeftOperand
Status: Non-Normative

Rendition Resolution

Definition: Resolution of the rendition of the Asset after exercising the Action.
Label: Rendition Resolution
Identifier: http://www.w3.org/ns/odrl/2/resolution
Note: Example: the image may be printed at 1200dpi.
Class: LeftOperand
Status: Non-Normative

Geospatial Named Area

Definition: A named and identified geospatial area with defined borders for exercising the Action.
Label: Geospatial Named Area
Identifier: http://www.w3.org/ns/odrl/2/spatial
Note: A code value for the area and source of the code must be presented in the Right Operand. For example, the [[iso3166]] Country Codes or the Getty Thesaurus of Geographic Names. A URI should be used to represent this value.
Narrower terms: spatialCoordinates
Class: LeftOperand
Status: Non-Normative

Geospatial Coordinates

Definition: A set of coordinates setting the borders of a geospatial area for exercising the Action.
Label: Geospatial Coordinates
Identifier: http://www.w3.org/ns/odrl/2/spatialCoordinates
Note: The coordinates MUST include longitude and lattitue, they MAY include altitude and the geodatic datum. If the latter are ommitted the default values are the altitude of earth's surface at this location and the WGS 84 datum.
Class: LeftOperand
Status: Non-Normative

System Device

Definition: An identified computing system for exercising the Action.
Label: System Device
Identifier: http://www.w3.org/ns/odrl/2/systemDevice
Note: Example: The system device can be identified by a unique code created from the used hardware.
Class: LeftOperand
Status: Non-Normative

Recurring Time Interval

Definition: A recurring period of time after which the Action can or cannot be exercised again.
Label: Recurring Time Interval
Identifier: http://www.w3.org/ns/odrl/2/timeInterval
Note: Example: “P7D” indicates a 7 day period. Note: the value must conform to [[iso8601]] as represented in [[xmlschema11-2]]. The data type of the right operand must be xsd:duration.
Class: LeftOperand
Status: Non-Normative

Unit Of Count

Definition: The unit of measure used for counting.
Label: Unit Of Count
Identifier: http://www.w3.org/ns/odrl/2/unitOfCount
Note: Typically used with Duties to indicate the unit entity to be counted.
Class: LeftOperand
Status: Non-Normative

Version

Definition: The range of versions of the Asset which can or cannot be used for exercising the Action.
Label: Version
Identifier: http://www.w3.org/ns/odrl/2/version
Note: Example: Single Paperback or Multiple Issues or version 2.0 or higher.
Class: LeftOperand
Status: Non-Normative

Virtual IT Communication Location

Definition: An identified location of the IT communication space where the Action can or cannot be exercised.
Label: Virtual IT Communication Location
Identifier: http://www.w3.org/ns/odrl/2/virtualLocation
Note: Example: an Internet domain or IP address range.
Class: LeftOperand
Status: Non-Normative

Constraint Operators

Equal to

Definition: Indicating that a given value equals the right operand of the Constraint.
Label: Equal to
Identifier: http://www.w3.org/ns/odrl/2/eq
Class: Operator

Greater than

Definition: Indicating that a given value is greater than the right operand of the Constraint.
Label: Greater than
Identifier: http://www.w3.org/ns/odrl/2/gt
Class: Operator

Greater than or equal to

Definition: Indicating that a given value is greater than or equal to the right operand of the Constraint.
Label: Greater than or equal to
Identifier: http://www.w3.org/ns/odrl/2/gteq
Class: Operator

Less than

Definition: Indicating that a given value is less than the right operand of the Constraint.
Label: Less than
Identifier: http://www.w3.org/ns/odrl/2/lt
Class: Operator

Less than or equal to

Definition: Indicating that a given value is less than or equal to the right operand of the Constraint.
Label: Less than or equal to
Identifier: http://www.w3.org/ns/odrl/2/lteq
Class: Operator

Not equal to

Definition: Indicating that a given value is not equal to the right operand of the Constraint.
Label: Not equal to
Identifier: http://www.w3.org/ns/odrl/2/neq
Class: Operator

Is a

Definition: Indicating that a given value is an instance of the right operand of the Constraint.
Label: Is a
Identifier: http://www.w3.org/ns/odrl/2/isA
Class: Operator

Has part

Definition: Indicating that a given value contains the right operand of the Constraint.
Label: Has part
Identifier: http://www.w3.org/ns/odrl/2/hasPart
Class: Operator
Status: Non-Normative

Is part of

Definition: Indicating that a given value is contained by the right operand of the Constraint.
Label: Is part of
Identifier: http://www.w3.org/ns/odrl/2/isPartOf
Class: Operator
Status: Non-Normative

Is all of

Definition: Indicating that a given value is all of the right operand of the Constraint.
Label: Is all of
Identifier: http://www.w3.org/ns/odrl/2/isAllOf
Class: Operator
Status: Non-Normative

Is any of

Definition: Indicating that a given value is any of the right operand of the Constraint.
Label: Is any of
Identifier: http://www.w3.org/ns/odrl/2/isAnyOf
Class: Operator
Status: Non-Normative

Is none of

Definition: Indicating that a given value is none of the right operand of the Constraint.
Label: Is none of
Identifier: http://www.w3.org/ns/odrl/2/isNoneOf
Class: Operator
Status: Non-Normative

Or

Definition: The relation is satisfied when any of the Constaint objects is satisfied.
Label: Or
Identifier: http://www.w3.org/ns/odrl/2/or
Note: This operator MUST only be used for Constraint Relations, and both left and right operands MUST be constraint objects.
Class: Operator
Status: Non-Normative

Exclusive Or

Definition: The relation is satisfied when only one of the Constaint objects is satisfied
Label: Exclusive Or
Identifier: http://www.w3.org/ns/odrl/2/xor
Note: This operator MUST only be used for Constraint Relations, and both left and right operands MUST be constraint objects.
Class: Operator
Status: Non-Normative

And

Definition: The relation is satisfied when both of the Constaint objects are satisfied.
Label: And
Identifier: http://www.w3.org/ns/odrl/2/and
Note: This operator MUST only be used for Constraint Relations, and both left and right operands MUST be constraint objects.
Class: Operator

And Sequence

Definition: The left operand constraint of a Constraint Relation must deliver a satisfied result before the right operand constraint is evaluated. The right operand constraint may build on the satisfaction of the left operand constraint.
Label: And Sequence
Identifier: http://www.w3.org/ns/odrl/2/andSequence
Note: This operator MUST only be used for Constraint Relations, and both left and right operands MUST be constraint objects.
Class: Operator
Status: Non-Normative

Constraint Right Operands

Policy Usage Time

Definition: When used as an event in constraints, indicates that the event occurs at the time when the policy is executed.
Label: Policy Usage Time
Identifier: http://www.w3.org/ns/odrl/2/policyUsage
Note: This will enable constraints to be expressed such as “event lt o:policyUsage” indicating before the policy is exercised.
Class: RightOperand
Status: Non-Normative

Vocabulary Encodings

Add a list of all Namespace URIs used.

RDF/OWL Encoding

The current (editors draft) ODRL Ontology and can be downloaded in Turtle serialisation.

Other serialisations (eg RDF/XML) will be provided when the ODRL Ontology is finalised.

Target Asset

The use of other ontology predicates to associate Assets with Policies MAY be supported using the RDF/OWL encoding.

Consider the below example; the Dublin Core [[dcterms]] license predicate is used to infer the relationship between the Asset and the Policy.

@prefix odrl: <http://www.w3.org/ns/odrl/2/> .
@prefix dct: <http://purl.org/dc/terms/> .

 <http://example.com/asset:5555> dct:license <http://example.com/policy:0099> .

 <http://example.com/policy:0099>
	  a odrl:Offer;
	  odrl:permission odrl:reproduce ;
	  odrl:prohibition odrl:modify .

This axiom infers that the Asset <http://example.com/asset:5555> is the target Asset for the Policy <http://example.com/policy:0099>. The final ODRL Offer Policy expression would then be:

 <http://example.com/policy:0099>
    a odrl:Offer;
    odrl:target <http://example.com/asset:5555> ;
    odrl:permission odrl:reproduce ;
    odrl:prohibition odrl:modify .

XML Encoding

The ODRL statements can be encoded in XML [[xml]] defined by XML Schema [[xmlschema11-1]] and XML Datatypes [[xmlschema11-2]]. All of the URIs used in ODRL XML instances MUST follow those defined in the ODRL Vocabulary.

The (editors draft) ODRL XML Schema can be downloaded.

To enable compact URIs, this encoding also supports the use of Qualified Names (QNames) [[xml-names]] for the specification of the value identifiers. In addition, Qualified Codes (QCodes) [[news-ml]] MAY also be used for vocabulary values. QCodes are similar to QNames but also allow a digit as the first character of the value.

Each of the core entities (UML Classes) from the ODRL Information Model [[!odrl-model]] will be represented by an XML element of the same name. Additionally, each entity attribute will be represented as an XML attribute of the parent element. The fixed values defined in the ODRL Information Model are represented as enumerated types. Cardinalities are also represented with XML Schema occurrence rules. Attributes are optional unless explicitly noted as REQUIRED.

Note that the Policy Type MAY infer additional constraints and requirements on the cardinalities of XML elements. See the definition of the Policy Types for further details.

The Policy element contains the following attributes:

The Policy element MAY contain the following elements:

The Policy element MAY contain the following policy-level elements:

The Asset and Relation association class are merged into a single Asset element to represent both the Asset and how it is related to the Permission/Prohibition/Duty. The Asset element contains the following attributes:

Asset element attributes MUST be used as defined by one of the sets of attributes and their cardinalities below:

  1. uid (REQUIRED), relation (REQUIRED), id (OPTIONAL), or
  2. idref (REQUIRED)

The Party and Role association class are merged into a single Party element to represent both the Party and the role to the Permission/Prohibition/Duty. The Party element contains the following attributes:

Party element attributes MUST be used as defined by one of the sets of attributes and their cardinalities below:

  1. uid (REQUIRED), function (REQUIRED), scope (OPTIONAL), id (OPTIONAL), or
  2. idref (REQUIRED)

The Permission element contains the following elements:

The Prohibition element contains the following elements:

The Duty element contains the following elements:

The Duty element contains the following attributes:

Duty element attributes MUST be used as defined by one of the sets of attributes and their cardinalities below:

  1. uid (OPTIONAL), or
  2. id (REQUIRED), or
  3. idref (REQUIRED)

The Action element contains the following attribute:

Action element attributes MUST be used as defined by one of the sets of attributes and their cardinalities below:

  1. name (REQUIRED), id (OPTIONAL), or
  2. idref (REQUIRED)

The Constraint element contains the following attributes:

NOTE: The Constraint name attribute is called leftOperand in the ODRL Information Model.

Constraint element attributes MUST be used as defined by one of the sets of attributes and their cardinalities below:

  1. name (REQUIRED), operator (REQUIRED), rightOperand and/or rightOperandReference (REQUIRED), dataType (OPTIONAL), unit (OPTIONAL), status (OPTIONAL), id (OPTIONAL), or
  2. idref (REQUIRED)

In some cases where Duties refer to (external) Assets, it will be necessary to package the ODRL XML expression with the representation of that (external) Asset. This XML Encoding specification does not mandate any specific packaging mechanism as communities will utilise their preferred options for data interoperability.

XML Example

The below example shows the XML serialisation of an ODRL Policy. In this example, the target asset and assigner and asignee parties are defined at the policy-level, and hence, are applied to both permission rules. The first permission allows the assignee to play the target asset as long as they accept they will be tracked. The second permission allows the assignee to distribute the target asset to the identified country for a compensation payment of EUR5,000.

<o:Policy xmlns:o="http://www.w3.org/ns/odrl/2/" uid="http://example.com/policy:9001"
                type="http://www.w3.org/ns/odrl/2/Agreement">
    <o:asset uid="http://example.com/music:4545" 
             relation="http://www.w3.org/ns/odrl/2/target"/>
    <o:party uid="http://example.com/sony"
             function="http://www.w3.org/ns/odrl/2/assigner"/>
    <o:party uid="http://example.com/billie"
             function="http://www.w3.org/ns/odrl/2/assignee"/>
    <o:permission>
        <o:action name="http://www.w3.org/ns/odrl/2/play"/>
        <o:duty>
            <o:action name="http://www.w3.org/ns/odrl/2/acceptTracking"/>
        </o:duty>
    </o:permission>
    <o:permission>
        <o:action name="http://www.w3.org/ns/odrl/2/distribute"/>
        <o:constraint name="http://www.w3.org/ns/odrl/2/spatial" 
                      operator="http://www.w3.org/ns/odrl/2/eq" 
                      rightOperand="http://vocab.getty.edu/tgn/1000080"/>
        <o:duty>
            <o:action name="http://www.w3.org/ns/odrl/2/compensate"/>
            <o:constraint name="http://www.w3.org/ns/odrl/2/payAmount"
                operator="http://www.w3.org/ns/odrl/2/eq"
                rightOperand="5000.00" 
                unit="http://cvx.iptc.org/iso4217a:EUR"/>
        </o:duty>
    </o:permission>  
</o:Policy>

XML Linking

The need for id/idref is now not required since the ODRL Information Model supports Policy-level Assets, Parties, and Actions. This feature maybe removed.

To support repeating the same element content across Permissions and Prohibitions, the Asset, Party, Constraint, Action, and Duty elements support the xml id and idref attributes. Any of these element that has been identified using the id attribute can then be referred to by an element with the same name using the idref attribute. In this case, the referring element must have no other content.

As shown in the below example, the Prohibition refers to elements defined in the Permission, except for the Constraint element. In this case, the assignee can play the music asset in Italy but not in France.

Note that there is an important distinction when using this feature with the Duty element which also has the uid attribute. The uid attribute is used to refer to the same Duty from multiple Permissions. In this case the Duty has to be performed only once to gain access to all the Permissions. When using the id and idref attributes then the semantics change as in this case the Duty must be performed for each time it is referenced (potentially, many times). Note that the use of the uid and id attribute for the same Duty element is not permitted.

Constraint Relations

To support Constraint Relations, constraint objects can be expressed at the Policy level and locally identified with the id attribute. The constraint (in the Permission, Prohibition, or Duty) can then refer to these contraints using its "#id".

ODRL XML processing systems MUST detect the use of "#id" in the name and rightOperand in Constraints. If detected, the processing model for Constraint Relations (defined in [[!odrl-model]]) MUST then be followed.

The below example shows two constraints defined at the Policy-level with ids "C1" and C2". The Constraint in the permission refers to these using the "#C1" and "#C2" values.

<o:Policy xmlns:o="http://www.w3.org/ns/odrl/2/" uid="http://example.com/policy:9001"
                type="http://www.w3.org/ns/odrl/2/Offer">
    <o:party uid="http://example.com/billie"
             function="http://www.w3.org/ns/odrl/2/assignee"/>
    <o:permission>
        <o:asset uid="http://example.com/music:4545" 
                 relation="http://www.w3.org/ns/odrl/2/target"/>
        <o:action name="http://www.w3.org/ns/odrl/2/distribute"/>
        <o:constraint name="#C1" 
                      operator="http://www.w3.org/ns/odrl/2/xor" 
                      rightOperand="#C2"/>
    </o:permission> 
    <o:constraint id="C1" name="http://www.w3.org/ns/odrl/2/spatial" 
                  operator="http://www.w3.org/ns/odrl/2/eq" 
                  rightOperand="http://vocab.getty.edu/tgn/1000080"/>
    <o:constraint id="C2" name="http://www.w3.org/ns/odrl/2/spatial" 
                  operator="http://www.w3.org/ns/odrl/2/eq" 
                 rightOperand="http://vocab.getty.edu/tgn/1000090"/>
</o:Policy>

Inline Assets

In some scenarios, the Asset of an ODRL Policy maybe also be XML or HTML markup. In these specific cases, it makes sense to enable the ODRL Policy to be articulated as part of the Asset and to support abbreviated expressions. All default values should be assumed. The preferred method of linking is to utilise the XML ID attribute. The source Asset markup may be identified with an ID attribute and the ODRL Asset element can then refer to this ID as the UID (as a URI hash fragment). An example is shown below.

<rnews:Article xml:id="item8HEX">
    <rnews:title>Allies are Split<rnews:title>
    <rnews:description>Rebel fighters take control...<rnews:description>
    ...
    <o:Policy xmlns:o="http://www.w3.org/ns/odrl/2/"
       type="http://www.w3.org/ns/odrl/2/Set" uid="http://example.com/policy:ABAABA">
      <o:permission>
        <o:asset uid="#item8HEX"/>
        <o:action name="http://w3.org/ns/odrl/2/distribute"/>
        <o:constraint name="http://www.w3.org/ns/odrl/2/dateTime" 
             operator="http://www.w3.org/ns/odrl/2/gteq" rightOperand="2011-11-11"/>
      </o:permission>
    </o:policy>
    ...
</rnews:Article>

JSON-LD Encoding

The [[json-ld]] context is recommended to ensure consistency between implementations, and should be referenced as http://www.w3.org/ns/odrl/2/. The same IRI should be used as the profile IRI for representations that conform to the model and context.

The (editors draft) ODRL JSON-LD Context can be downloaded.

Privacy Considerations

An ODRL policy can be of type "Privacy".

Need to add this section for the W3C Horizontal Review on Privacy Considerations.

Need to address the W3C PING Privacy Questions

Deprecated Terms

LabelIdentifierDeprecated By
Devicehttp://www.w3.org/ns/odrl/2/devicehttp://www.w3.org/ns/odrl/2/systemDevice
Systemhttp://www.w3.org/ns/odrl/2/systemhttp://www.w3.org/ns/odrl/2/systemDevice
proximityhttp://www.w3.org/ns/odrl/2/proximity
Appendhttp://www.w3.org/ns/odrl/2/appendhttp://www.w3.org/ns/odrl/2/modify
Append Tohttp://www.w3.org/ns/odrl/2/appendTohttp://www.w3.org/ns/odrl/2/modify
Copyhttp://www.w3.org/ns/odrl/2/copyhttp://www.w3.org/ns/odrl/2/reproduce
Exporthttp://www.w3.org/ns/odrl/2/exporthttp://www.w3.org/ns/odrl/2/transform
Leasehttp://www.w3.org/ns/odrl/2/lease
Licensehttp://www.w3.org/ns/odrl/2/licensehttp://www.w3.org/ns/odrl/2/grantUse
Lendhttp://www.w3.org/ns/odrl/2/lend
Payhttp://www.w3.org/ns/odrl/2/payhttp://www.w3.org/ns/odrl/2/compensate
Payee Partyhttp://www.w3.org/ns/odrl/2/payeePartyhttp://www.w3.org/ns/odrl/2/compensatedParty
Previewhttp://www.w3.org/ns/odrl/2/preview
Secondary Usehttp://www.w3.org/ns/odrl/2/secondaryUse
Writehttp://www.w3.org/ns/odrl/2/writehttp://www.w3.org/ns/odrl/2/modify
Write tohttp://www.w3.org/ns/odrl/2/writeTohttp://www.w3.org/ns/odrl/2/modify
Ad-hoc sharinghttp://www.w3.org/ns/odrl/2/adHocShare
Extract characterhttp://www.w3.org/ns/odrl/2/extractChar
Extract pagehttp://www.w3.org/ns/odrl/2/extractPage
Extract wordhttp://www.w3.org/ns/odrl/2/extractWord
Attach policyhttp://www.w3.org/ns/odrl/2/attachPolicyhttp://creativecommons.org/ns#Notice
Attach sourcehttp://www.w3.org/ns/odrl/2/attachSourcehttp://creativecommons.org/ns#SourceCode
Share-alikehttp://www.w3.org/ns/odrl/2/shareAlikehttp://creativecommons.org/ns#ShareAlike
Commercializehttp://www.w3.org/ns/odrl/2/commercializehttp://creativecommons.org/ns#CommercialUse
Sharehttp://www.w3.org/ns/odrl/2/sharehttp://creativecommons.org/ns#Distribution
Timed Counthttp://www.w3.org/ns/odrl/2/timedCount
Inherit Relationhttp://www.w3.org/ns/odrl/2/inheritRelation

Acknowledgements

The POE Working Group gratefully acknowledges the contributions of the ODRL Community Group and the earlier ODRL Initiative. In particular the editors would like to thank Susanne Guth (Vocabulary), Jonas Öberg (JSON), and Lu Ai (JSON) for their past editorial contributions.

For the current specification, the POE Working Group would like to thank contributions from Gregg Kellogg (JSON-LD Context).

Changes from the Community Group Reports

Significant changes in this specification from the ODRL Community Group's draft include: