ODRL Version 2.2
W3C Permissions & Obligations Expression Working Group
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 digital content usage based on the ODRL Information Model.
This is the RDF ontology for ODRL Version 2.2 (working draft).
ODRL 2.2 (Turtle)
ODRL 2.2 (RDF/XML)
ODRL 2.2 (XML Schema Definition)
ODRL 2.2 (JSON Schema Definition)
ODRL 2.2 (HTML)
Policy Concepts
Policy Inheritance
Handle Policy Conflicts
Handle Undefined Policy Terms
Policy Types
Asset Concepts
Asset Relations
Party Concepts
Party Functions
Party Scopes
Action Concepts
Permission Concepts
Prohibition Concepts
Actions for Permissions and Prohibitions
Duty Concepts
Actions for Duties
Constraint Concepts
Names for Constraints
Constraint Operators
Values for Constraints
Deprecated Terms
ODRL Actions vocabulary
Asset
The Asset entity is the subject of an ODRL policy expression that permissions and prohibitions are applied to.
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.
Party
The Party entity is the object of an ODRL policy that performs (or not performs) actions or has a role in a Duty.
The Party entity can be any form of identifiable entity, such as 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.
Policy
An entity to capture the statements of the policy.
A top level entity for describing policies.
Is used to resolve conflicts arising from the merging of policies, specifically when there are conflicting Actions in the Permissions and Prohibitions.
Instances of ConflictTerm describe policies for resolving conflicts.
Conflict Preference
Non-Normative
Prefer Permissions
Permissions take preference over prohibitions.
Used to determine policy conflict outcomes.
Prefer Prohibitions
Prohibitions take preference over permissions.
Is used to indicate how to support Actions that are not part of any vocabulary or profile in the policy expression system
Instances of UndefinedTerm describe policies for processing unsupported actions.
Undefined Term
Ignore Undefined Actions
The Action is to be ignored and is not part of the policy – and the policy remains valid.
Used to support actions not known to the policy system.
Invalidate Policy
the Action is unknown – and the policy is invalid.
Support Undefined Actions
The Action is to be supported as part of the policy – and the policy remains valid.
Relates a conflict-resolution mechansim to a Policy.
If no mechanism is specified, the default is invalid.
Handle Undefined Term
Relates the mechanism used for handling undefined actions to a Policy.
Has Permission
Relates the description of an individual Permission to a Policy.
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.
Has Prohibition
Relates the description of an individual Prohibition to a Policy.
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.
Inheritance Allowed
Indicates if the Policy entity can be inherited.
A boolean value.
Inherits From
Relates a (child) policy to another (parent) policy from which terms are inherited.
The child policy will inherit from the parent policy
Inherit Relation
Indentifies the type of inheritance.
For example, this may indicate the business scenario, such as subscription, or prior arrangements between the parties (that are not machine representable)
Profile
The identifier of an ODRL Profile that this Policy conforms to.
ODRL Profiles may be defined by community groups and express additional semantics.
Rule
A common ancestor to Permissions, Prohibitions and Duties.
Rule is an abstract concept.
Permission
A Permission is a rule which indicates the actions the assignee is permitted to perform on the associated asset.
In other words, what the assigner (supplier) has granted to the assignee (consumer).
Prohibition
A Prohibition is a rule which indicates the Actions that the assignee is prohibited to perform on the related Asset.
Prohibitions are issued by the supplier of the Asset – the Party with the Role assigner.
Duty
A Duty is a rule which indicates a requirement that must be fulfilled in return for being entitled to the referring Permission entity.
While implying different semantics, the Duty entity is similar to Permission in that it is an Action that must be undertaken.
Instances of Action are operations that can be performed.
Actions may be allowed by Permissions, disalloed by Prohibitions, or made mandatory by Duties.
Action
Constraint
The Constraint entity indicates limits and restrictions to the Permission, the Prohibition and the Duty entity.
Parent class of all Constraints.
Relation
Relation is an abstract property which creates an explicit link between an Action and an Asset.
Sub-properties of relation are used to define the nature of that link.
Output
The output property specifies the Asset which is created from the output of the Action.
Target
The target property specifies the Asset upon which the Action is performed.
Or not performed by Prohibitions.
Function
Function is an abstract property whose sub-properties define the roles which may be fulfilled by a party in relation to a Rule.
Has Action
The operation relating to the asset for which the Rule is being subjected.
A permission must include exactly one action.
Has Constraint
The constraint relating to the Rule.
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.
Has Duty
The duty relating to the Permission.
A Duty indicates requirements which must be fulfilled in order to receive the permission.
Unit
The unit of measurement used for the constraint value.
Datatype
The datatype used for the constraint value.
In RDF encodings, use of the rdf:datatype MAY be used.
Has Operator
The Boolean operator applied to a constraint and its operands.
Right Operand
The operand applied to an instance of a constraint.
Right Operand Reference
A reference to the operand applied to an instance of a constraint.
Represents a URI that must be dereferenced to obtain the actual right operand value
Left Operand
The left operand in a constraint expression.
Status
The current value of the constraint.
The range of the status property is identical to that of the operand property selected used in the constraint.
The range of the status property is identical to that of the constraint expression.
Operator
Operators for constraint expressions.
Instances of the Operator class represent boolean operators
Equal to
Indicating that a given value equals the right operand of the Constraint.
Indicating that a given value is greater than the right operand of the Constraint.
Greater than
Indicating that a given value is greater than or equal to the right operand of the Constraint.
Greater than or equal to
Indicating that a given value contains the right operand of the Constraint.
Has part
Indicating that a given value is an instance of the right operand of the Constraint.
Is a
Indicating that a given value is all of the right operand of the Constraint.
Is all of
Indicating that a given value is any of the right operand of the Constraint.
Is any of
Indicating that a given value is none of the right operand of the Constraint.
Is none of
Indicating that a given value is contained by the right operand of the Constraint.
Is part of
Indicating that a given value is less than the right operand of the Constraint.
Less than
Indicating that a given value is less than or equal to the right operand of the Constraint.
Less than or equal to
Indicating that a given value is not equal to the right operand of the Constraint.
Not equal to
Left operands for constraint expressions.
Instances of the LeftOperand class represent the left term in a Constraint.
Absolute Position
A point defined with absolute coordinates.
For example, JPEG image must be positioned at 100×100 pixel location. This may be used to express [[plus]] semantics.
Absolute Size
The absolute dimension that the Asset may be resized.
For example, JPEG image must be reproduced onto an area no larger than A0. This may be used to express [[plus]] semantics.
Count
The numeric count indicating the number of times the corresponding entity may be exercised.
Should be a positive integer
Datetime
The date (and optional time and timezone) representing a point in time or period.
Value must conform to [[iso8601]] as represented in [[xmlschema11-2]]. The use of Timezone information is strongly recommended.
Right operand should be a xsd:date or a xsd:dateTime
Delivery Channel
The delivery channel used for storing or communicating the asset.
For example, the asset may be distributed only on mobile networks.
Device
An identifiable computing system.
System Device
For example, identifiable via the CPU or unique hardware address.
Elapsed Time
A period of time in which the policy action can be exercised.
The start of the period is when the action is first exercised. Value must conform to [[iso8601]] as represented in [[xmlschema11-2]].
Data type of the right operand must be xsd:duration
Event
Specification of a defined event applicable to the asset usage.
For example, asset may be used at the “FIFA World Cup” only. To express events related to undertaking Duties, specific event values may be defined (eg see policyUsage).
Policy Usage Time
When used as an event in constraints, indicates that the event occurs at the time when the policy is executed.
This will enable constraints to be expressed such as “event lt o:policyUsage” indicating before the policy is exercised.
File Format
The file format applicable to the Asset.
For example only JPEG image may be distributed. This may be used to express [[plus]] semantics.
Industry
The defined industry sector applicable to the asset usage.
For example, publishing, financial.
Language
The natural language applicable to the asset usage.
For example, JPEG image may only be reproduced with Spanish text. May be used to express [[plus]] semantics. Must use [[bcp47]] codes for language values.
Media
The media type in which the asset may be used.
For example, electronic, print, advertising, marketing. This may be used to express [[plus]] semantics.
Metered Time
The maximum period of metered usage time.
For example “P30H” indicates a 30 hour period. Value must conform to [[iso8601]] as represented in [[xmlschema11-2]].
The data type of the right operand must be xsd:duration
Payment Amount
The value of the financial payment.
Maybe used for compensation duties. The dataType attribute may be used to indicate the type of the value (eg decimal) and the unit attribute to indicate the currency.
The data type of the right operand must be xsd:decimal
Percentage
The amount (as a percentage) of the action applicable to the asset.
A numeric value from 0 to 100. For example, extract a maximum of 50% of the asset
Product
The specified Product or Service name.
For example, images may only be reproduced in the XYZ Magazine. This may be used to express [[plus]] semantics.
The data type of the right operand must be xsd:decimal.
Purpose
Specification of a defined purpose applicable to the asset usage.
For example, educational use. Purpose values from [[p3p]] may also be used.
Recipient
The party that receives the result of the Action on the Asset.
The right operand must identify one or more specific parties or categories of party.
Relative Position
A point defined with reference to another position.
For example, JPEG image must be positioned at the Top of the Page. This may be used to express [[plus]] semantics.
Relative Size
The relative dimension that the Asset may be resized.
For example, JPEG image resized to maximum of 200%. This may be used to express [[plus]] semantics.
Resolution
The resolution at which the asset may be used.
For example, may be printed at 1200dpi.
Spatial
A code representing a geospatial area.
The code value and code source must be represented. For example, the [[iso3166]] Country Codes or the Getty Thesaurus of Geographic Names. A URI should be used to represent this value.
System
Time Interval
Recurring period of time in which the usage may be exercised.
For example, “P7D” indicates a 7 day period. Value must conform to [[iso8601]] as represented in [[xmlschema11-2]].
Version
The scope of versions for the asset.
For example, Single Paperback, or Multiple Issues. This may be used to express [[plus]] semantics.
Virtual Location
Specification of a digital locale.
For example, an Internet domain or IP address range.
Use
The Assigner permits/prohibits the Assignee to use the Asset as agreed.
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.
Grant Use
The Assigner permits/prohibits the Assignee to grant the use the Asset to third parties.
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.
Compensate
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.
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
Accept Tracking
The Assigner requires that the Assignees accepts that the use of the Asset may be tracked.
The collected information may be tracked by the Assigner, or may link to a Party with the role function “trackingParty”.
Aggregate
The Assigner permits/prohibits the Assignees to use the Asset or parts of it as part of a composite collection.
Annotate
The Assigner permits/prohibits the Assignees to add explanatory notations/commentaries to the Asset without modifying the Asset in any other way.
Anonymize
The Assigner permits/prohibits the Assignees to anonymize all or parts of the Asset.
For example, to remove identifying particulars for statistical or for other comparable purposes, or to use the asset without stating the author/source.
Append
The act of adding to the end of an asset.
Append To
The act of appending data to the Asset without modifying the Asset in any other way.
Archive
The Assigner permits/prohibits the Assignees to store the Asset (in a non-transient form).
Constraints may be used for temporal conditions.
Attribute
The Assigner requires that the Assignees attributes the Asset to the Assigner or an attributed Party.
May link to an Asset with the attribution information. May link to a Party with the role function “attributedParty”.
Concurrent Use
The Assigner permits/prohibits the Assignees to create multiple copies of the Asset that are being concurrently used.
Copy
The act of making an exact reproduction of the asset.
Delete
The Assigner requires that the Assignees permanently removes all copies of the Asset.
Use a constraint to define under which conditions the Asset should be deleted.
Derive
The Assigner permits/prohibits the Assignees to create a new derivative Asset from this Asset and to edit or modify the derivative.
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.
Digitize
The Assigner permits/prohibits the Assignees to produce a digital copy of (or otherwise digitize) the Asset from its analogue form.
Display
The Assigner permits/prohibits the Assignees to display the visual media Asset to an audience or the public.
For example, displaying an image on a screen.
Distribute
The Assigner permits/prohibits the Assignees to distribute the Asset.
Ensure Exclusivity
The Assignee requires that the Assigners ensure that the permission on the Asset is exclusive to the Assignee.
Execute
The Assigner permits/prohibits the Assignees to run the computer program Asset.
For example, machine executable code or Java such as a game or application.
Export
The act of transforming the asset into a new form.
Extract
The Assigner permits/prohibits the Assignees to extract parts of the Asset and to use it as a new Asset.
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.
Give
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.
Include
The Assigner requires that the Assignees include other related assets in the Asset.
For example: bio picture must be included in the attribution. Use of the Asset relation attribute is required.
Index
The Assigner permits/prohibits the Assignees to record the Asset in an index.
For example, to include a link to the Asset in a search engine database.
Inform
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.
May link to a Party with the role function “informedParty”.
Install
The Assigner permits/prohibits the Assignees to load the computer program Asset onto a storage device which allows operating or running the Asset.
Lease
The act of making available the asset to a third-party for a fixed period of time with exchange of value.
License
The act of granting the right to use the asset to a third-party.
Lend
The act of making available the asset to a third-party for a fixed period of time without exchange of value.
Modify
The Assigner permits/prohibits the Assignees to update existing content of the Asset. A new asset is not created by this action.
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).
Move
The Assigner permits/prohibits the Assignees to move the Asset from one digital location to another including deleting the original copy.
After the Asset has been moved, the original copy must be deleted.
Next Policy
The Assigner requires that the Assignees grants the specified Policy to a third party for their use of the Asset.
Useful for downstream policies.
Obtain Consent
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.
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”.
Pay
The act of paying a financial amount to a party for use of the asset.
Play
The Assigner permits/prohibits the Assignees to perform an audio Asset to an audience.
Present
The Assigner permits/prohibits the Assignees to perform or exhibit an Asset to an audience.
Preview
The act of providing a short preview of the asset.
Use a time constraint with the appropriate action.
Print
The Assigner permits/prohibits the Assignees to print an Asset onto paper or to create a hard copy.
For example, creating a permanent, fixed (static), and directly perceivable representation of the Asset.
Read
The Assigner permits/prohibits the Assignees to obtain data from the Asset.
For example, the ability to read a record from a database (the Asset).
Reproduce
The Assigner permits/prohibits the Assignee(s) to make (an) exact reproduction(s) of the Asset.
Review Policy
The Assigner requires that the Assignee(s) has(ve) a person review the Policy applicable to the Asset.
Used when human intervention is required to review the Policy. May link to an Asset which represents the full Policy information.
Secondary Use
The act of using the asset for a purpose other than the purpose it was intended for.
Sell
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.
Text-to-speech
The Assigner permits/prohibits the Assignees to have a text Asset read out loud to an audience.
Transfer
The Assigner transfers/does not transfer the ownership in perpetuity to the Assignees.
Transform
The Assigner permits/prohibits the Assignees to make a digital copy of the digital Asset in another digital format.
Typically used to convert the Asset into a different format for consumption on/transfer to a third party system.
Translate
The Assigner permits/prohibits the Assignees to translate the original natural language of an Asset into another natural language.
A new derivative Asset is created by that action.
Uninstall
The Assigner requires that the Assignees unload and delete the computer program Asset from a storage device and disable its readiness for operation.
The Asset is no longer accessible to the Assignees.
Watermark
The Assigner requires that the Assignees apply a watermark as provided by the Assigner to the Asset.
It is recommended to embed a link to the watermark.
Write
The act of writing to the asset.
Write to
The act of adding data to the Asset.
Assignee
The Party is the recipient of the policy statement.
Must be supported.
Assigner
The Party is the issuer of the policy statement.
Attributed Party
The Party to be attributed.
Maybe specified as part of the attribute action.
Consenting Party
The Party to obtain consent from.
Maybe specified as part of the obtainConsent action.
Informed Party
The Party to be informed of all uses.
Maybe specified as part of the inform action.
Payee Party
The Party is the recipient of the payment.
Compensated Party
The Party is the recipient of the compensation.
Maybe specified as part of the compensate duty action.
Compensating Party
The Party that is the provider of the compensation.
Tracking Party
The Party is the usage tracker.
May be specified as part of the acceptTracking action.
Agreement
Policy expressions that are formal contracts (or licenses) stipulating all the terms of usage and all the parties involved.
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.
Assertion
Policy expressions that reflect terms that Parties claim to hold.
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.
Offer
Policy expression that proposes terms of usage from an Asset owner.
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.
Privacy
Policy expression that stipulates the terms of usage over personal information.
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.
Request
Policy expression that proposes terms of usage to an Asset owner.
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.
Set
Policy expression that consists of entities from the complete model.
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).
Ticket
Policy expression that stipulates the terms of usage and is redeemable by any Party who currently holds the Ticket in their possession.
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).
All
Specifies that the scope of the relationship is all of the collective individuals within a context.
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.
All Second-level Connections
Specifies that the scope of the relationship is all of the second-level connections to the Party.
For example, may be used to indicate all “friends of friends” of the Party. Note that “group” scope is also assumed.
All Connections
Specifies that the scope of the relationship is all of the first-level connections of the Party.
For example, may be used to indicate all “friends” of the Party. Note that “group” scope is also assumed.
All Groups
Specifies that the scope of the relationship is all of the group connections of the Party.
For example, may be used to indicate all groups that the Party is a member of. Note that “group” scope is also assumed.
Group
Specifies that the scope of the relationship is the defined group with multiple individual members.
Individual
Specifies that the scope of the relationship is the single Party individual.
MUST be supported.
Ad-hoc sharing
The act of sharing the asset to parties in close proximity to the owner.
This original term and URI from the OMA specification should be used: http://www.openmobilealliance.com/oma-dd/adhoc-share
Extract character
The act of extracting (replicating) unchanged characters from the asset.
This original term and URI from the ONIX specification should be used: http://www.editeur.org/onix-pl/extract-char
Extract page
The act of extracting (replicating) unchanged pages from the asset.
This original term and URI from the ONIX specification should be used: http://www.editeur.org/onix-pl/extract-page
Extract word
The act of extracting (replicating) unchanged words from the asset.
This original term and URI from the ONIX specification should be used: http://www.editeur.org/onix-pl/extract-word
Attach policy
The act of keeping the policy notice with the asset.
Attach source
The act of attaching the source of the asset and its derivatives.
Share-alike
The act of distributing any derivative asset under the same terms as the original asset.
Commercialize
The act of using the asset in a business environment.
Share
The act of the non-commercial reproduction and distribution of the asset to third-parties.
proximity
An value indicating the closeness or nearness.
This original term and URI from the OMA specification should be used: http://www.openmobilealliance.com/oma-dd/proximity .
Timed Count
The number of seconds after which timed metering use of the asset begins.
This original term and URI from the OMA specification should be used: http://www.openmobilealliance.com/oma-dd/timed-count .