The ODRL permissions and obligations expression language provides a flexible and interoperable information model, vocabulary, and encoding mechanisms for describing statements about digital 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 digital content usage based on the ODRL Information Model [[!odrl-w3c-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 digital 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 Namespace URI to identify the ODRL model and vocabulary terms is: http://www.w3.org/ns/odrl/2/

The namespace URI may change in future versions.

ODRL Vocabulary groups
Vocabulary groups

Above figure will be updated to match the vocabulary term groupings.

The detail for each ODRL Vocabulary term is shown below in the two tables. The left table shows the normative semantic description of the concept, and the right table the ontological description and relationships.

Policy Concepts

Policy

Definition: An entity to capture the statements of the policy
Label: Policy
Identifier: http://www.w3.org/ns/odrl/2/Policy
Comment: A top level entity for describing policies.
Parent class: Asset
Sub-classes: Agreement, Offer, Privacy, Request, Set, Ticket
Properties: conflict, inheritAllowed, inheritFrom, inheritRelation, permission, profile, prohibition, undefined
In range of: inheritFrom

Rule

Definition: A common ancestor to Permissions, Prohibitions and Duties
Label: Rule
Identifier: http://www.w3.org/ns/odrl/2/Rule
Comment: 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 this Policy conforms to.
Label: Profile
Identifier: http://www.w3.org/ns/odrl/2/profile
Comment: ODRL Profiles may be defined by community groups and express additional semantics.
Range: rdfs:Resource
Domain: Policy

Policy Types

Agreement

Definition: Policy expressions that are formal contracts (or licenses) stipulating all the terms of usage and all the parties involved.
Label: Agreement
Identifier: http://www.w3.org/ns/odrl/2/Agreement
Comment: Must contain at least the Party entity with Assigner role and a Party with Assignee role. The latter being granted the terms of the Agreement from the former.
Parent class: Policy
Inherited Properties: conflict, undefined, permission, prohibition, inheritAllowed, inheritFrom, inheritRelation, 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
Comment: Must contain a Party entity with Assigner role. The Offer may contain a Party entity with Assignee role, but does not grant any privileges to that Party.
Parent class: Policy
Inherited Properties: conflict, undefined, permission, prohibition, inheritAllowed, inheritFrom, inheritRelation, profile

Set

Definition: Policy expression that consists of entities from the complete model.
Label: Set
Identifier: http://www.w3.org/ns/odrl/2/Set
Comment: 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.
Parent class: Policy
Inherited Properties: conflict, undefined, permission, prohibition, inheritAllowed, inheritFrom, inheritRelation, profile

Request

Definition: Policy expression that proposes terms of usage to an Asset owner.
Label: Request
Identifier: http://www.w3.org/ns/odrl/2/Request
Comment: Must contain a Party entity with Assignee role. The Request may also contain the Party entity 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, inheritRelation, 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
Comment: May contain the Party entity with Assigner role and the Party entity 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, inheritRelation, 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
Comment: Must contain at least the Party entity with Assigner role and a Party with Assignee role. Must also contain a Duty on the assignee related to obligations towards managing the assigner’s Asset containing personal information. 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, inheritRelation, profile

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
Comment: A boolean value.
Range: xsd:boolean
Domain: Policy

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
Comment: The child policy will inherit from the parent policy
Range: Policy
Domain: Policy

Inherit Relation

Definition: Indentifies the type of inheritance
Label: Inherit Relation
Identifier: http://www.w3.org/ns/odrl/2/inheritRelation
Comment: For example, this may indicate the business scenario, such as subscription, or prior arrangements between the parties (that are not machine representable)
Range: rdfs:Resource
Domain: Policy

Handle Policy Conflicts

Conflict Preference

Definition: Is used to resolve conflicts arising from the merging of policies, specifically when there are conflicting Actions in the Permissions and Prohibitions
Label: Conflict Preference
Identifier: http://www.w3.org/ns/odrl/2/ConflictTerm
Comment: Instances of ConflictTerm describe policies for resolving conflicts.
In range of: conflict
Instances: invalid, perm, prohibit

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
Comment: If no mechanism is specified, the default is invalid.
Range: ConflictTerm
Domain: Policy

Prefer Permissions

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

Invalidate Policy

Definition: the Action is unknown – and the policy is invalid.
Label: Invalidate Policy
Identifier: http://www.w3.org/ns/odrl/2/invalid
Comment: Used to support actions not known to the policy system.
Class: ConflictTerm, UndefinedTerm

Handle Undefined Policy Terms

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
Comment: Instances of UndefinedTerm describe policies for processing unsupported actions.
In range of: undefined
Instances: ignore, invalid, support

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
Comment: If no mechanism is specified, the default is invalid.
Range: UndefinedTerm
Domain: Policy

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
Comment: Used to support actions not known to the policy system.
Class: UndefinedTerm

Invalidate Policy

Definition: the Action is unknown – and the policy is invalid.
Label: Invalidate Policy
Identifier: http://www.w3.org/ns/odrl/2/invalid
Comment: Used to support actions not known to the policy system.
Class: ConflictTerm, UndefinedTerm

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
Comment: Used to support actions not known to the policy system.
Class: UndefinedTerm

Permission Concepts

Permission

Definition: A Permission is a rule which indicates the actions the assignee is permitted to perform on the associated asset.
Label: Permission
Identifier: http://www.w3.org/ns/odrl/2/Permission
Comment: 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
Comment: 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: A Prohibition is a rule which indicates the Actions that the assignee is prohibited to perform on the related Asset.
Label: Prohibition
Identifier: http://www.w3.org/ns/odrl/2/Prohibition
Comment: 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
Comment: 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: Instances of Action are operations that can be performed
Label: Action
Identifier: http://www.w3.org/ns/odrl/2/Action
Comment: Actions may be allowed by Permissions, disalloed by Prohibitions, or made mandatory by Duties.
Parent class: skos: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, 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
Comment: 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
Comment: 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
Comment: 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.
Deprecates: license
Class: Action

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

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

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
Comment: 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

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
Comment: Constraints may be used for temporal conditions.
Class: Action

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

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
Comment: 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

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

Display

Definition: The Assigner permits/prohibits the Assignees to display the visual media Asset to an audience or the public.
Label: Display
Identifier: http://www.w3.org/ns/odrl/2/display
Comment: For example, displaying an image on a screen.
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
Comment: For example, machine executable code or Java such as a game or application.
Class: Action

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
Comment: 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

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

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
Comment: For example, to include a link to the Asset in a search engine database.
Class: Action

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

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
Comment: 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).
Deprecates: append, appendTo, write, writeTo
Class: Action

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
Comment: After the Asset has been moved, the original copy must be deleted.
Class: Action

Play

Definition: The Assigner permits/prohibits the Assignees to perform an audio Asset to an audience.
Label: Play
Identifier: http://www.w3.org/ns/odrl/2/play
Class: Action

Present

Definition: The Assigner permits/prohibits the Assignees to perform or exhibit an Asset to an audience.
Label: Present
Identifier: http://www.w3.org/ns/odrl/2/present
Narrower terms: display, play, print
Class: Action

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
Comment: For example, creating a permanent, fixed (static), and directly perceivable representation of the Asset.
Class: Action

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
Comment: For example, the ability to read a record from a database (the Asset).
Class: Action

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
Deprecates: copy
Narrower terms: extract
Class: Action

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

Text-to-speech

Definition: The Assigner permits/prohibits the Assignees to have a text Asset read out loud to an audience.
Label: Text-to-speech
Identifier: http://www.w3.org/ns/odrl/2/textToSpeech
Class: Action

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

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
Comment: Typically used to convert the Asset into a different format for consumption on/transfer to a third party system.
Deprecates: export
Class: Action

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
Comment: A new derivative Asset is created by that action.
Class: Action

Duty Concepts

Duty

Definition: A Duty is a rule which indicates a requirement that must be fulfilled in return for being entitled to the referring Permission entity.
Label: Duty
Identifier: http://www.w3.org/ns/odrl/2/Duty
Comment: 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
Comment: 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
Comment: The collected information may be tracked by the Assigner, or may link to a Party with the role function “trackingParty”.
Class: Action

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
Comment: 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
Comment: 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
Deprecates: pay
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
Comment: Use a constraint to define under which conditions the Asset should be deleted.
Class: Action

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

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
Comment: For example: bio picture must be included in the attribution. Use of the Asset relation attribute is required.
Class: Action

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
Comment: May link to a Party with the role function “informedParty”.
Class: Action

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
Comment: 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
Comment: 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

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
Comment: Used when human intervention is required to review the Policy. May link to an Asset which represents the full Policy information.
Class: Action

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
Comment: The Asset is no longer accessible to the Assignees.
Class: Action

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
Comment: It is recommended to embed a link to the watermark.
Class: Action

Constraint Concepts

Constraint

Definition: The Constraint entity indicates limits and restrictions to the Permission, the Prohibition and the Duty entity
Label: Constraint
Identifier: http://www.w3.org/ns/odrl/2/Constraint
Comment: Parent class of all Constraints.
Parent class: owl:Thing
Properties: dataType, operator, rightOperand, 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
Comment: 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
Comment: Instances of the Operator class represent boolean operators
Parent class: owl:Thing
In range of: operator
Instances: eq, gt, gteq, hasPart, isA, isAllOf, isAnyOf, isNoneOf, isPartOf, lt, lteq, neq

Operator

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

Right Operand

Definition: The operand applied to an instance of a constraint.
Label: Right Operand
Identifier: http://www.w3.org/ns/odrl/2/rightOperand
Comment: Do not use the right-operand property directly within a Constraint. Instead, a Constraint instance must contain exactly one triple which makes use of one of the sub-properties of right-operand.
Sub-properties: absolutePosition, absoluteSize, count, dateTime, deliveryChannel, device, elapsedTime, event, fileFormat, industry, language, media, meteredTime, payAmount, percentage, product, proximity, purpose, recipient, relativePosition, relativeSize, resolution, spatial, system, systemDevice, timeInterval, timedCount, version, virtualLocation
Domain: Constraint

Unit

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

Datatype

Definition: The datatype used for the constraint value.
Label: Datatype
Identifier: http://www.w3.org/ns/odrl/2/dataType
Range: rdfs:Resource
Domain: Constraint

Status

Definition: The current value of the constraint.
Label: Status
Identifier: http://www.w3.org/ns/odrl/2/status
Comment: The range of the status property is identical to that of the operand property selected used in the constraint.
Domain: Constraint

Right Operands for Constraints

Absolute Position

Definition: A point defined with absolute coordinates.
Label: Absolute Position
Identifier: http://www.w3.org/ns/odrl/2/absolutePosition
Comment: For example, JPEG image must be positioned at 100×100 pixel location. This may be used to express [[plus]] semantics.
Parent property: rightOperand

Absolute Size

Definition: The absolute dimension that the Asset may be resized.
Label: Absolute Size
Identifier: http://www.w3.org/ns/odrl/2/absoluteSize
Comment: For example, JPEG image must be reproduced onto an area no larger than A0. This may be used to express [[plus]] semantics.
Parent property: rightOperand
Range: xsd:decimal

Count

Definition: The numeric count indicating the number of times the corresponding entity may be exercised
Label: Count
Identifier: http://www.w3.org/ns/odrl/2/count
Comment: Should be a positive integer
Parent property: rightOperand
Range: xsd:nonNegativeInteger

Datetime

Definition: The date (and optional time and timezone) representing a point in time or period.
Label: Datetime
Identifier: http://www.w3.org/ns/odrl/2/dateTime
Comment: Value must conform to [iso8601] as represented in [xmlschema11-2]. The use of Timezone information is strongly recommended.
Parent property: rightOperand
Range: xsd:date, xsd:dateTime

Delivery Channel

Definition: The delivery channel used for storing or communicating the asset.
Label: Delivery Channel
Identifier: http://www.w3.org/ns/odrl/2/deliveryChannel
Comment: For example, the asset may be distributed only on mobile networks.
Parent property: rightOperand

Elapsed Time

Definition: A period of time in which the policy action can be exercised.
Label: Elapsed Time
Identifier: http://www.w3.org/ns/odrl/2/elapsedTime
Comment: The start of the period is when the action is first exercised. Value must conform to [iso8601] as represented in [xmlschema11-2].
Parent property: rightOperand
Range: xsd:duration

Event

Definition: Specification of a defined event applicable to the asset usage.
Label: Event
Identifier: http://www.w3.org/ns/odrl/2/event
Comment: 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).
Parent property: rightOperand

File Format

Definition: The file format applicable to the Asset.
Label: File Format
Identifier: http://www.w3.org/ns/odrl/2/fileFormat
Comment: For example only JPEG image may be distributed. This may be used to express [[plus]] semantics.
Parent property: rightOperand

Industry

Definition: The defined industry sector applicable to the asset usage.
Label: Industry
Identifier: http://www.w3.org/ns/odrl/2/industry
Comment: For example, publishing, financial.
Parent property: rightOperand

Language

Definition: The natural language applicable to the asset usage
Label: Language
Identifier: http://www.w3.org/ns/odrl/2/language
Comment: 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.
Parent property: rightOperand

Media

Definition: The media type in which the asset may be used.
Label: Media
Identifier: http://www.w3.org/ns/odrl/2/media
Comment: For example, electronic, print, advertising, marketing. This may be used to express [[plus]] semantics.
Parent property: rightOperand

Metered Time

Definition: The maximum period of metered usage time.
Label: Metered Time
Identifier: http://www.w3.org/ns/odrl/2/meteredTime
Comment: For example “P30H” indicates a 30 hour period. Value must conform to [iso8601] as represented in [xmlschema11-2].
Parent property: rightOperand
Range: xsd:duration

Payment Amount

Definition: The value of the financial payment
Label: Payment Amount
Identifier: http://www.w3.org/ns/odrl/2/payAmount
Comment: 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.
Parent property: rightOperand
Range: xsd:decimal

Percentage

Definition: The amount (as a percentage) of the action applicable to the asset.
Label: Percentage
Identifier: http://www.w3.org/ns/odrl/2/percentage
Comment: A numeric value from 0 to 100. For example, extract a maximum of 50% of the asset
Parent property: rightOperand
Range: xsd:decimal

Product

Definition: The specified Product or Service name.
Label: Product
Identifier: http://www.w3.org/ns/odrl/2/product
Comment: For example, images may only be reproduced in the XYZ Magazine. This may be used to express [[plus]] semantics;
Parent property: rightOperand
Range: xsd:string

Purpose

Definition: Specification of a defined purpose applicable to the asset usage.
Label: Purpose
Identifier: http://www.w3.org/ns/odrl/2/purpose
Comment: For example, educational use. Purpose values from [[p3p]] may also be used.
Parent property: rightOperand

Recipient

Definition: The party that receives the result of the Action on the Asset.
Label: Recipient
Identifier: http://www.w3.org/ns/odrl/2/recipient
Comment: The right operand must identify one or more specific parties or categories of party
Parent property: rightOperand

Relative Position

Definition: A point defined with reference to another position.
Label: Relative Position
Identifier: http://www.w3.org/ns/odrl/2/relativePosition
Comment: For example, JPEG image must be positioned at the Top of the Page. This may be used to express [[plus]] semantics;
Parent property: rightOperand

Relative Size

Definition: The relative dimension that the Asset may be resized.
Label: Relative Size
Identifier: http://www.w3.org/ns/odrl/2/relativeSize
Comment: For example, JPEG image resized to maximum of 200%. This may be used to express [[plus]] semantics;
Parent property: rightOperand

Resolution

Definition: The resolution at which the asset may be used.
Label: Resolution
Identifier: http://www.w3.org/ns/odrl/2/resolution
Comment: For example, may be printed at 1200dpi.
Parent property: rightOperand

Spatial

Definition: A code representing a geospatial area.
Label: Spatial
Identifier: http://www.w3.org/ns/odrl/2/spatial
Comment: 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.
Parent property: rightOperand

System Device

Definition: An identifiable computing system.
Label: System Device
Identifier: http://www.w3.org/ns/odrl/2/systemDevice
Comment: For example, identifiable via the CPU or unique hardware address.
Parent property: rightOperand
Deprecates: device, system

Time Interval

Definition: Recurring period of time in which the usage may be exercised.
Label: Time Interval
Identifier: http://www.w3.org/ns/odrl/2/timeInterval
Comment: For example, “P7D” indicates a 7 day period. Value must conform to [iso8601] as represented in [xmlschema11-2].
Parent property: rightOperand
Range: xsd:duration

Version

Definition: The scope of versions for the asset.
Label: Version
Identifier: http://www.w3.org/ns/odrl/2/version
Comment: For example, Single Paperback, or Multiple Issues. This may be used to express [[plus]] semantics.
Parent property: rightOperand

Virtual Location

Definition: Specification of a digital locale.
Label: Virtual Location
Identifier: http://www.w3.org/ns/odrl/2/virtualLocation
Comment: For example, an Internet domain or IP address range.
Parent property: rightOperand

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

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

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

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

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

Values for Constraints

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
Comment: This will enable constraints to be expressed such as “event lt o:policyUsage” indicating before the policy is exercised.

Party Concepts

Party

Definition: The Party entity is the object of an ODRL policy that performs (or not performs) actions or has a role in a Duty.
Label: Party
Identifier: http://www.w3.org/ns/odrl/2/Party
Comment: 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 vCard [[vcard-rdf]] or [[foaf]] metadata.
Sub-classes: All, All2ndConnections, AllConnections, AllGroups, Group, Individual
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, compensatedParty, consentingParty, informedParty, payeeParty, trackingParty
Range: Party
Domain: Rule

Party Functions

Assignee

Definition: The Party is the recipient of the policy statement.
Label: Assignee
Identifier: http://www.w3.org/ns/odrl/2/assignee
Comment: 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
Comment: 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
Comment: Maybe specified as part of the attribute action.
Parent property: function

Compensated Party

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

Consenting Party

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

Informed Party

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

Tracking Party

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

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
Comment: Must be supported.
Parent class: Party

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
Comment: Must be supported.
Parent class: Party

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
Comment: 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.
Parent class: Party

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
Comment: For example, may be used to indicate all “friends” of the Party. Note that “group” scope is also assumed.
Parent class: Party

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
Comment: For example, may be used to indicate all “friends of friends” of the Party. Note that “group” scope is also assumed.
Parent class: Party

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
Comment: For example, may be used to indicate all groups that the Party is a member of. Note that “group” scope is also assumed.
Parent class: Party

Asset Concepts

Asset

Definition: The Asset entity is the subject of an ODRL policy expression that permissions and prohibitions are applied to.
Label: Asset
Identifier: http://www.w3.org/ns/odrl/2/Asset
Comment: 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
Comment: Sub-properties of relation are used to define the nature of that link.
Sub-properties: output, target
Range: Asset
Domain: Rule

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
Comment: 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

Vocabulary Encodings

Add a list of all Namespace URIs used.

RDF/OWL Encoding

The complete ODRL Ontology and can be downloaded in Turtle serialisation or RDF/XML serialisation or N-Triples serialisation

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 complete ODRL XML Schema is shown in the Appendix. and 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-w3c-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 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 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:

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 (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 Linking

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.

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/vocab#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 Encoding

This section describes how to encode both the ODRL Model and Vocabulary, including any community developed Profiles, using the JSON syntax [[rfc4627]] and using a JSON Schema [[json-schema]].

The complete ODRL JSON Schema is shown in the Appendix. and can be downloaded.

ODRL can express complex contracts and policies which may require quite sophisticated systems to evaluate contractual permissions, restrictions and duties. However, the ODRL in JSON encoding is designed to be lightweight and requires only standard JSON software to generate or parse the representation.

In order to make the JSON encoding of ODRL as natural as possible, certain terms which are represented in the ODRL Vocabulary as values become JSON properties. For example, both assigner and assignee are Role controlled vocabulary values of Party. However, in the JSON encoding, they are expressed as fully-fledged Properties. This contrasts with the XML encoding which has a Party element and a Role attribute.

Similarly, the Asset object has a Relation controlled vocabulary with values of target and output. The JSON encoding directly represents these as first-class properties.

The ODRL Model and Vocabulary is designed in this manner, in part, to allow for extensibility. In other words, it is possible to add additional types of Party or other kinds of Asset. The JSON ODRL Encoding allows for this by using patternProperties – for example, for additional types of Party or Scope.

Unlike XML, JSON doesn’t support the concept of namespaces. This means that property values need to be expressed using globally unique identifiers, in order to be unambiguous. Therefore, one key implementation decision for ODRL in JSON is to require that terms drawn from the ODRL Vocabulary or any ODRL profile (such as RightsML [[rights-ml]]) must be expressed using complete URLs. (This differs from the XML encoding of ODRL, which allows various short forms of URLs to be used, like QNames [[xml-names]] or QCodes [[news-ml]]).

All of the URIs used in ODRL JSON instances MUST follow those defined in the ODRL Vocabulary. This includes URIs for policy types, actions, operators, operands, functions, scopes, conflict handling terms, and unsupported action-handling terms.

A Note on JSON-LD

JSON-LD [[json-ld]] (JSON for Linked Data) is a method to convey Linked Data using JSON. It is a W3C Recommendation and it is a JSON syntax for RDF (similar to the RDF/XML and Turtle syntaxes for RDF). If you would prefer to use JSON-LD, it is recommended that you use the ODRL Ontology and appropriate software to parse and serialize the RDF triples using JSON-LD.

Scenarios - Encoding Examples

Set

The following shows an instance of a set Policy. The Set shows a policy expression, stating that the Asset http//example.com/asset:9898 is the target of the Permission reproduce and the Prohibition to modify. No parties or other elements are involved. This set could be used, for example, as a template or an instant license.

{
    "policytype": "http://www.w3.org/ns/odrl/2/Set",
    "policyid": "http://example.com/policy:0099",
    "permissions": [{
        "target": "http://example.com/asset:9898",
        "action": "http://www.w3.org/ns/odrl/2/reproduce"
    }],
    "prohibitions": [{
        "target": "http://example.com/asset:9898",
        "action": "http://www.w3.org/ns/odrl/2/modify"
    }]
}

Offer

The following shows the instance of an offer Policy. The offer contains the music file http//example.com/music:4545 that is offered by the Party http//example.com/sony:10 with the Permissions to play and copy the file. The Permission copy is only granted once. The two Permissions are offered for a payment of AUD$0.50.

@prefix odrl: <http://www.w3.org/ns/odrl/2/> .

<http://example.com/policy:0231>
	a odrl:Offer ;
	odrl:permission [
		a odrl:Permission ;
		odrl:target <http://example.com/music:4545> ;
		odrl:assigner <http://example.com/sony:10> ;
		odrl:action odrl:play ;
		odrl:duty _:requirements
	] ;
	odrl:permission [
		a odrl:Permission ;
		odrl:target <http://example.com/music:4545> ;
		odrl:assigner <http://example.com/sony:10> ;
		odrl:action odrl:copy ;
		odrl:duty _:requirements ;
		odrl:constraint [
			a odrl:Constraint ;
			odrl:count 1 ;
			odrl:operator odrl:lteq
		]
	] .

_:requirements
	a odrl:Duty ;
	odrl:action odrl:pay ;
	odrl:constraint [
		a odrl:Constraint ;
		odrl:payAmount 50.00 ;
		odrl:operator odrl:eq ;
		odrl:unit <http://cvx.iptc.org/iso4217a:AUD>
	] .

<http://example.com/sony:10> a odrl:Party .

Agreement

The following shows the instance of an agreement Policy. The agreement contains all entities shown in the offer scenario above. A new Party element http//example.com/billie:888 has been added. This Party accepted the previous offer and thus is now the buyer of the Permission play and copy, i.e. is now linked as assignee of the Permissions and Duty entities.

@prefix odrl: <http://www.w3.org/ns/odrl/2/> .

<http://example.com/policy:9001>
	a odrl:Agreement ;
	odrl:permission [
		a odrl:Permission ;
		odrl:target <http://example.com/music:4545> ;
		odrl:assigner <http://example.com/sony:10> ;
		odrl:assignee <http://example.com/billie:888> ;
		odrl:action odrl:play ;
		odrl:duty _:requirements
	] ;
	odrl:permission [
		odrl:target <http://example.com/music:4545> ;
		odrl:assigner <http://example.com/sony:10> ;
		odrl:assignee <http://example.com/billie:888> ;
		odrl:action odrl:copy ;
		odrl:duty _:requirements ;
		odrl:constraint [
			a odrl:Constraint ;
			odrl:count 1 ;
			odrl:operator odrl:lteq
		]
	] .

_:requirements
	a odrl:Duty ;
	odrl:action odrl:pay ;
	odrl:constraint [
		a odrl:Constraint ;
		odrl:payAmount 50.00 ;
		odrl:operator odrl:eq ;
		odrl:unit <http://cvx.iptc.org/iso4217a:AUD>
	] .

<http://example.com/sony:10> a odrl:Party .
<http://example.com/billie:888> a odrl:Party .

Request

The following shows the instance of a request Policy. The Party http//example.com/guest:0589 has requested the Permission to display the target Asset http//example.com/news:0099.

@prefix odrl: <http://www.w3.org/ns/odrl/2/> .

<http://example.com/policy:04311>
	a odrl:Request ;
	odrl:permission [
		a odrl:Permission ;
		odrl:action odrl:display ;
		odrl:assignee <http://example.com/guest:0589> ;
		odrl:target <http://example.com/news:0099>
	] .

<http://example.com/guest:0589> a odrl:Party .

Ticket

The following shows the instance of a ticket Policy. The ticket expresses the play Permission for the target Asset http//example.com/game:4589. The Ticket is valid until the end of the year 2010. Any valid holder of this ticket may exercise this Permission.

@prefix odrl: <http://www.w3.org/ns/odrl/2/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<http://example.com/policy:0811>
	a odrl:Ticket ;
	odrl:permission [
		a odrl:Permission ;
		odrl:action odrl:play ;
		odrl:target <http://example.com/game:4589> ;
		odrl:constraint [
			a odrl:Constraint ;
			odrl:operator odrl:lteq ;
			odrl:dateTime "2010-12-31"^^xsd:date
		]
	] .

Offer and next policy

The following shows the instance of an offer Policy showing the nextPolicy structure. The party http//example.com/sony:99 assigns the Permission distribute directly to the potential buyer of the permission who will pay $EU1,000. The distribute Permission is also constrained to the country Italy. The potential assignee may then distribute the target Asset according to the nextPolicy target Asset linked directly from this Duty. In this case, the next Policy Asset stipulates that the potential assignee may only offer the display Permission to downstream consumers.

@prefix odrl: <http://www.w3.org/ns/odrl/2/> .

<http://example.com/policy:5531>
	a odrl:Offer ;
	odrl:permission [
		a odrl:Permission ;
		odrl:action odrl:distribute ;
		odrl:target <http://example.com/wallpaper:2321> ;
		odrl:assigner <http://example.com/sony:99> ;
		odrl:constraint [
			a odrl:Constraint ;
			odrl:operator odrl:eq ;
			odrl:spatial <http://ontologi.es/place/IT>
		] ;
		odrl:duty <http://example.com/duty:01>, <http://example.com/duty:02>
	] .

<http://example.com/duty:01>
	a odrl:Duty ;
	odrl:action odrl:pay ;
	odrl:constraint [
		a odrl:Constraint ;
		odrl:payAmount 1000.00 ;
		odrl:operator odrl:eq ;
		odrl:unit <http://cvx.iptc.org/iso4217a:EUR>
	] .

<http://example.com/duty:02>
	a odrl:Duty ;
	odrl:action odrl:nextPolicy ;
	odrl:target <http://example.com/policy:7777> .

<http://example.com/policy:7777>
	a odrl:Set ;
	odrl:permission [
		a odrl:Permission ;
		odrl:action odrl:display ;
		odrl:target <http://example.com/wallpaper:2321>
	] .

<http://example.com/sony:99> a odrl:Party .

Privacy policy

The following shows the instance of an privacy Policy.

The target Asset is Personal Data and the assignee is allowed to distribute the Asset only for the purpose of contacting the subject of the Personal Data. The purpose value is taken from the P3P privacy purpose vocabulary.

Additionally, the assigner (the Party who the personal data is about) has stipulated that the assignee must delete the Asset after a 30 day period (retention policy).

@prefix odrl: <http://www.w3.org/ns/odrl/2/> .
@prefix p3p: <http://www.w3.org/2002/01/p3prdfv1#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<http://example.com/policy:1111>
	a odrl:Privacy ;
	odrl:permission [
		a odrl:Permission ;
		odrl:action odrl:distribute ;
		odrl:target <http://example.com/billie:888:personal-data> ;
		odrl:assigner <http://example.com/billie:888> ;
		odrl:assignee <http://example.com/gov:health:au> ;
		odrl:duty [
			a odrl:Duty ;
			odrl:action odrl:delete ;
			odrl:constraint [
				a odrl:Constraint ;
				odrl:operator odrl:eq ;
				odrl:dateTime "P30D"^^xsd:dateTime 
			]
		] ;
		odrl:constraint [
			a odrl:Constraint ;
			odrl:operator odrl:eq ;
			odrl:purpose p3p:contact
		]
	] .

<http://example.com/billie:888> a odrl:Party .
<http://example.com/gov:health:au> a odrl:Party .

Permission and prohibition

The following shows the instance of an agreement Policy with both a Permission and a Prohibition. The party http//example.com/sony:10 assigns the Permission play to the Party http//example.com/billie:888 at the same time they are prohibited from utilising the target Asset as a mobile:ringtone. Additionally, in case of any conflict, the conflict attribute is set to perm indicating that the Permission entity will take precedence.

@prefix odrl: <http://www.w3.org/ns/odrl/2/> .
@prefix mobile: <http://example.com/mobile#> .

<http://example.com/policy:3433>
	a odrl:Agreement ;
	odrl:conflict odrl:perm ;
	odrl:permission [
		a odrl:Permission ;
		odrl:action odrl:play ;
		odrl:assignee <http://example.com/billie:888> ;
		odrl:assigner <http://example.com/sony:10> ;
		odrl:target <http://example.com/music:1234908>
	] ;
	odrl:prohibition [
		a odrl:Prohibition ; 
		odrl:action mobile:ringtone ;
		odrl:assignee </http://example.combillie:888> ;
		odrl:assigner <http://example.com/sony:10> ;
		odrl:target <http://example.com/music:1234908>
	] .

<http://example.com/billie:888> a odrl:Party .
<http://example.com/sony:10> a odrl:Party .

Inheritance

The following shows the instance of a (child) Policy http//example.com/policy:9999 inheriting from another (parent) Policy http//example.com/policy:5531. The inheritFrom attribute of the (child) Policy has the same identifier as the (parent) Policy. In this inheritance example, the (parent) Policy allows the Party http//example.com/billie:888 to print the (parent’s) target Asset. The (child) Policy allows the Party http//example.com/class:IT01 (a group of people) to display the (child’s) target Asset. Since the (child) Policy also inherits from the (parent) Policy, then the Party http//example.com/class:IT01 can also print the (parent’s) target Asset.

@prefix odrl: <http://www.w3.org/ns/odrl/2/> .

<http://example.com/policy:5531>
	a odrl:Agreement ;
	odrl:permission [
		a odrl:Permission ;
		odrl:action odrl:print ;
		odrl:target <http://example.com/report:2321> ;
		odrl:assigner <http://example.com/pub:88> ;
		odrl:assignee <http://example.com/billie:888> ;		
	] .
	
<http://example.com/policy:9999>
	a odrl:Agreement ;
	odrl:inheritFrom <http://example.com/policy:5531> ;
	odrl:permission [
		a odrl:Permission ;
		odrl:action odrl:display ;
		odrl:target <http://example.com/report:2333> ;
		odrl:assigner <http://example.com/pub:88> ;
		odrl:assignee <http://example.com/class:IT01>
	] .

<http://example.com/pub:88> a odrl:Party .
<http://example.com/billie:888> a odrl:Party .
<http://example.com/class:IT01> a odrl:Group .

Social network

The following shows the instance of an agreement Policy for a Social Network scenario.

The target Asset are photos posted to a Social Network site and the assigner is the owner of the photos. The assignee is a Party group and represents the football network members on the social network, who are each allowed to display the photos.

@prefix odrl: <http://www.w3.org/ns/odrl/2/> .

<http://example.com/policy:5109>
	a odrl:Agreement ;
	odrl:permission [
		a odrl:Permission ;
		odrl:action odrl:display ;
		odrl:target <http://example.com/myPlace:billie:photos:football2010> ;
		odrl:assigner <http://example.com/myPlace:billie> ;
		odrl:assignee <http://example.com/myPlace:network:football>
	] .

<http://example.com/myPlace:billie> a odrl:Party .
<http://example.com/myPlace:network:football> a odrl:Group .

Multiple assets

The following shows an instance of a set Policy utilising multiple Asset entities.

The index Permission is granted to the target Asset. As well, the x:collection Asset specifies which database the index outcome should be stored in.

@prefix odrl: <http://www.w3.org/ns/odrl/2/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix x: <http://example.com/x#> .

<http://example.com/policy:881212>
	a odrl:Set ;
	odrl:permission [
		a odrl:Permission ;
		odrl:action odrl:index ;
		odrl:target <http://example.com/archive/2010> ;
		x:collection <http://example.com/x/database>
	] .

x:collection 
	rdfs:subPropertyOf odrl:relation .

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

ODRL XML Schema

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:o="http://www.w3.org/ns/odrl/2/" version="2.2" 
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           targetNamespace="http://www.w3.org/ns/odrl/2/"
           elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:annotation>
        <xs:documentation>
            This is the XML Schema for ODRL Version 2.2 Working Draft
            Copyright © 2016 W3C (MIT, ERCIM, Keio, Beihang).
            W3C liability, trademark and document use rules apply.
        </xs:documentation>
    </xs:annotation>
    <xs:element name="Policy" type="o:Policy"/>
    <xs:complexType name="Policy">
                <xs:sequence minOccurs="0" maxOccurs="unbounded">
                    <xs:element ref="o:permission" minOccurs="0" maxOccurs="unbounded"/>
                    <xs:element ref="o:prohibition" minOccurs="0" maxOccurs="unbounded"/>
                    <xs:any namespace="##other" processContents="lax" minOccurs="0" 
                                                                   maxOccurs="unbounded"/>
                </xs:sequence>
                <xs:attribute name="uid" type="o:URIQnameQcode" use="required"/>
                <xs:attribute name="type" type="o:URIQnameQcode" use="required"/>
                <xs:attribute name="conflict" type="o:ConflictTerm"/>
                <xs:attribute name="undefined" type="o:UndefinedTerm"/>
                <xs:attribute name="inheritAllowed" type="xs:boolean"/>
                <xs:attribute name="inheritFrom" type="o:URIQnameQcode"/>
                <xs:attribute name="inheritRelation" type="o:URIQnameQcode"/>
                <xs:attribute name="profile" type="o:URIQnameQcode"/>
                <xs:anyAttribute namespace="##other" processContents="lax"/>     
    </xs:complexType>
    
    <xs:element name="permission" type="o:Permission"/>
    <xs:complexType name="Permission">
           <xs:sequence>
                    <xs:element ref="o:asset" maxOccurs="unbounded"/>
                    <xs:element ref="o:action" />
                    <xs:element ref="o:constraint"  minOccurs="0" maxOccurs="unbounded"/>
                    <xs:element ref="o:party"  minOccurs="0" maxOccurs="unbounded"/>
                    <xs:element ref="o:duty"  minOccurs="0" maxOccurs="unbounded"/>
                    <xs:any namespace="##other" processContents="lax" minOccurs="0" 
                                                               maxOccurs="unbounded"/>
           </xs:sequence>
           <xs:attributeGroup ref="o:idAttributes"/>        
    </xs:complexType>
    
    <xs:element name="prohibition" type="o:Prohibition"/> 
    <xs:complexType name="Prohibition">
        <xs:sequence>
            <xs:element ref="o:asset"  maxOccurs="unbounded"/>
            <xs:element ref="o:action" />
            <xs:element ref="o:constraint" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element ref="o:party"  minOccurs="0" maxOccurs="unbounded"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" 
                                                          maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attributeGroup ref="o:idAttributes"/>
    </xs:complexType>
    
    <xs:element name="duty" type="o:Duty"/>
    <xs:complexType name="Duty">
        <xs:sequence>
            <xs:element ref="o:action" minOccurs="0"/> <!--Required Element-->
            <xs:element ref="o:asset"  minOccurs="0" maxOccurs="unbounded"/>
            <xs:element ref="o:constraint"  minOccurs="0" maxOccurs="unbounded"/>
            <xs:element ref="o:party"  minOccurs="0" maxOccurs="unbounded"/>
            <xs:any namespace="##other" processContents="lax" minOccurs="0" 
                                                           maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="uid" type="o:URIQnameQcode"/>
        <xs:attributeGroup ref="o:idAttributes"/>
    </xs:complexType>
    
    <xs:element name="asset" type="o:Asset"/> 
    <xs:complexType name="Asset">
        <xs:attribute name="uid" type="o:URIQnameQcode" /> <!--Required Attribute-->
        <xs:attribute name="relation" type="o:URIQnameQcode" /> <!--Required Attribute-->
        <xs:attributeGroup ref="o:idAttributes"/>
    </xs:complexType>
    
    <xs:element name="party" type="o:Party"/>
    <xs:complexType name="Party">
        <xs:attribute name="uid" type="o:URIQnameQcode"/> <!--Required Attribute-->
        <xs:attribute name="function" type="o:URIQnameQcode" /> <!--Required Attribute-->
        <xs:attribute name="scope" type="o:URIQnameQcode"/>
        <xs:attributeGroup ref="o:idAttributes"/>
    </xs:complexType>
 
    <xs:element name="action" type="o:Action"/>
    <xs:complexType name="Action">
        <xs:attribute name="name" type="o:URIQnameQcode" /> <!--Required Attribute-->
        <xs:attributeGroup ref="o:idAttributes"/>
    </xs:complexType>
    
    <xs:element name="constraint" type="o:Constraint"/>
    <xs:complexType name="Constraint">
        <xs:attribute name="name" type="o:URIQnameQcode" /> <!--Required Attribute-->
        <xs:attribute name="operator" type="o:URIQnameQcode" /> <!--Required Attribute-->
        <xs:attribute name="rightOperand" type="o:listOfValues" /> <!--Required Attribute-->
        <xs:attribute name="dataType" type="o:URIQnameQcode" />
        <xs:attribute name="unit" type="o:URIQnameQcode" />
        <xs:attribute name="status" type="xs:string" />
        <xs:attributeGroup ref="o:idAttributes"/>
    </xs:complexType>
    
    <xs:simpleType name="listOfValues">
        <xs:list itemType="xs:string"/>
    </xs:simpleType>
     
    <xs:simpleType name="ConflictTerm">
        <xs:restriction base="xs:string">
            <xs:enumeration value="http://www.w3.org/ns/odrl/2/perm"/>
            <xs:enumeration value="http://www.w3.org/ns/odrl/2/prohibit"/>
            <xs:enumeration value="http://www.w3.org/ns/odrl/2/invalid"/>
        </xs:restriction>
    </xs:simpleType>
    
    <xs:simpleType name="UndefinedTerm">
        <xs:restriction base="xs:string">
            <xs:enumeration value="http://www.w3.org/ns/odrl/2/support"/>
            <xs:enumeration value="http://www.w3.org/ns/odrl/2/ignore"/>
            <xs:enumeration value="http://www.w3.org/ns/odrl/2/invalid"/>
        </xs:restriction>
    </xs:simpleType>
    
    <xs:simpleType name="URIQnameQcode">
        <xs:union memberTypes="xs:anyURI xs:QName o:QCode"/>
    </xs:simpleType>
    
    <xs:simpleType name="QCode">
        <xs:restriction base="xs:string">
            <xs:pattern value="[^\s:]+:[^\s]+"/>
        </xs:restriction>
        
    </xs:simpleType>
    <xs:attributeGroup name="idAttributes">
        <xs:attribute name="id" type="xs:ID"/>
        <xs:attribute name="idref" type="xs:IDREF"/>
        <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:attributeGroup>
</xs:schema>

ODRL JSON Schema

   {
    "type": "object",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "ODRL JSON Schema",
    "description": "JSON Schema for ODRL Version 2.2 Working Draft.",
    "id": "http://www.w3.org/ns/odrl/2/jsonschema#",
    "definitions": {"prohibdutytype": {
        "type": "array",
        "items": {
            "type": "object",
            "required": ["action"],
            "properties": {
                "assigner": {
                    "type": "string",
                    "format": "uri"
                },
                "assignee": {
                    "type": "string",
                    "format": "uri"
                },
                "assignee_scope": {
                    "type": "string",
                    "format": "uri"
                },
                "target": {
                    "type": "string",
                    "format": "uri"
                },
                "output": {
                    "type": "string",
                    "format": "uri"
                },
                "action": {
                    "type": "string",
                    "format": "uri"
                },
                "constraints": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "required": [
                            "name",
                            "operator",
                            "rightoperand"
                        ],
                        "properties": {
                            "name": {
                                "type": "string",
                                "format": "uri"
                            },
                            "operator": {
                                "type": "string",
                                "format": "uri"
                            },
                            "rightoperand": {"type": "string"},
                            "rightoperanddatatype": {"type": "string"},
                            "rightoperandunit": {"type": "string"},
                            "status": {"type": "string"}
                        }
                    }
                }
            },
            "patternProperties": {
                "^[a-z]+party": {
                    "type": "string",
                    "format": "uri"
                },
                "^[a-z]+_scope": {
                    "type": "string",
                    "format": "uri"
                }
            }
        }
    }},
    "required": [
        "policyid",
        "policytype"
    ],
    "properties": {
        "policyid": {
            "type": "string",
            "format": "uri"
        },
        "policytype": {
            "type": "string",
            "format": "uri"
        },
        "conflict": {
            "type": "string",
            "enum": [
                "perm",
                "prohibit",
                "invalid"
            ]
        },
        "undefined": {
            "type": "string",
            "enum": [
                "support",
                "ignore",
                "invalid"
            ]
        },
        "inheritallowed": {"type": "boolean"},
        "inheritfrom": {
            "type": "string",
            "format": "uri"
        },
        "inheritrelation": {
            "type": "string",
            "format": "uri"
        },
        "policyprofile": {
            "type": "string",
            "format": "uri"
        },
        "permissions": {
            "type": "array",
            "items": {
                "type": "object",
                "required": ["action"],
                "properties": {
                    "assigner": {
                        "type": "string",
                        "format": "uri"
                    },
                    "assigner_scope": {
                        "type": "string",
                        "format": "uri"
                    },
                    "assignee": {
                        "type": "string",
                        "format": "uri"
                    },
                    "assignee_scope": {
                        "type": "string",
                        "format": "uri"
                    },
                    "target": {
                        "type": "string",
                        "format": "uri"
                    },
                    "output": {
                        "type": "string",
                        "format": "uri"
                    },
                    "action": {
                        "type": "string",
                        "format": "uri"
                    },
                    "constraints": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "required": [
                                "name",
                                "operator",
                                "rightoperand"
                            ],
                            "properties": {
                                "name": {
                                    "type": "string",
                                    "format": "uri"
                                },
                                "operator": {
                                    "type": "string",
                                    "format": "uri"
                                },
                                "rightoperand": {"type": "string"},
                                "rightoperanddatatype": {"type": "string"},
                                "rightoperandunit": {"type": "string"},
                                "status": {"type": "string"}
                            }
                        }
                    },
                    "duties": {"$ref": "#/definitions/prohibdutytype"}
                },
                "patternProperties": {
                    "^[a-z]+party": {
                        "type": "string",
                        "format": "uri"
                    },
                    "^[a-z]+_scope": {
                        "type": "string",
                        "format": "uri"
                    }
                }
            }
        },
        "prohibitions": {"$ref": "#/definitions/prohibdutytype"}
    }
 
}

Deprecated Terms

LabelIdentifierDeprecated By
Devicehttp://www.w3.org/ns/odrl/2/device http://www.w3.org/ns/odrl/2/systemDevice
Systemhttp://www.w3.org/ns/odrl/2/system http://www.w3.org/ns/odrl/2/systemDevice
proximityhttp://www.w3.org/ns/odrl/2/proximity http://www.openmobilealliance.com/
Appendhttp://www.w3.org/ns/odrl/2/append http://www.w3.org/ns/odrl/2/modify
Append Tohttp://www.w3.org/ns/odrl/2/appendTo http://www.w3.org/ns/odrl/2/modify
Copyhttp://www.w3.org/ns/odrl/2/copy http://www.w3.org/ns/odrl/2/reproduce
Exporthttp://www.w3.org/ns/odrl/2/export http://www.w3.org/ns/odrl/2/transform
Leasehttp://www.w3.org/ns/odrl/2/lease http://www.w3.org/1999/02/22-rdf-syntax-ns#nil
Licensehttp://www.w3.org/ns/odrl/2/license http://www.w3.org/ns/odrl/2/grantUse
Lendhttp://www.w3.org/ns/odrl/2/lend http://www.w3.org/1999/02/22-rdf-syntax-ns#nil
Payhttp://www.w3.org/ns/odrl/2/pay http://www.w3.org/ns/odrl/2/compensate
Payee Partyhttp://www.w3.org/ns/odrl/2/payeeParty http://www.w3.org/ns/odrl/2/compensatedParty
Previewhttp://www.w3.org/ns/odrl/2/preview http://www.w3.org/1999/02/22-rdf-syntax-ns#nil
Secondary Usehttp://www.w3.org/ns/odrl/2/secondaryUse http://www.w3.org/1999/02/22-rdf-syntax-ns#nil
Writehttp://www.w3.org/ns/odrl/2/write http://www.w3.org/ns/odrl/2/modify
Write tohttp://www.w3.org/ns/odrl/2/writeTo http://www.w3.org/ns/odrl/2/modify
Ad-hoc sharinghttp://www.w3.org/ns/odrl/2/adHocShare http://www.openmobilealliance.com/
Extract characterhttp://www.w3.org/ns/odrl/2/extractChar http://www.editeur.org/21/ONIX-PL/
Extract pagehttp://www.w3.org/ns/odrl/2/extractPage http://www.editeur.org/21/ONIX-PL/
Extract wordhttp://www.w3.org/ns/odrl/2/extractWord http://www.editeur.org/21/ONIX-PL/
Attach policyhttp://www.w3.org/ns/odrl/2/attachPolicy http://creativecommons.org/ns#Notice
Attach sourcehttp://www.w3.org/ns/odrl/2/attachSource http://creativecommons.org/ns#SourceCode
Share-alikehttp://www.w3.org/ns/odrl/2/shareAlike http://creativecommons.org/ns#ShareAlike
Commercializehttp://www.w3.org/ns/odrl/2/commercialize http://creativecommons.org/ns#CommercialUse
Sharehttp://www.w3.org/ns/odrl/2/share http://creativecommons.org/ns#Distribution
Timed Counthttp://www.w3.org/ns/odrl/2/timedCount http://www.openmobilealliance.com/

Changes from the Community Group Reports

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