The Open Digital Rights Language (ODRL) is a policy expression language that provides a flexible and interoperable information model, vocabulary, and encoding mechanisms for representing statements about the usage of content and services. The ODRL Vocabulary and Expression describes the terms used in ODRL policies 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 specifies the set of RDF classes, predicates and named entities that are used by the ODRL Information Model [[!odrl-model]] which defines the ODRL Core Vocabulary. This document also lists recommended terms in the ODRL Common Vocabulary that may be used to define ODRL Profiles.

In addition to supported RDF serialisations, the ODRL Vocabulary and Expression provides the JSON-LD Context and profile definitions needed to use the ODRL JSON serialisation in a Linked Data context, and includes an alternate XML serialisation.

Namespaces

The ODRL Vocabulary references the following Namespaces:

Prefix Namespace Description
odrl http://www.w3.org/ns/odrl/2/ ODRL Vocabulary
rdf http://www.w3.org/1999/02/22-rdf-syntax-ns# [[rdf-concepts]]
rdfs http://www.w3.org/2000/01/rdf-schema# [[rdf-schema]]
owl http://www.w3.org/2002/07/owl# [[owl2-quick-reference]]
xsd http://www.w3.org/2001/XMLSchema# [[xmlschema11-2]]
skos http://www.w3.org/2004/02/skos/core# [[skos-reference]]
dcterms http://purl.org/dc/terms/ [[dcterms]]
vcard http://www.w3.org/2006/vcard/ns# [[vcard-rdf]]
foaf http://xmlns.com/foaf/0.1/ [[foaf]]
schema http://schema.org/ schema.org
cc https://creativecommons.org/ns# creativecommons.org

ODRL Core Vocabulary

The ODRL Core Vocabulary defines the semantics for the concepts and terms from the ODRL Information Model [[!odrl-model]]. The ODRL Core Vocabulary represents the minimally supported terms for ODRL Policies.

Policy

Policy

Definition: A non-empty group of Permissions and/or Prohibitions.
Label: Policy
Identifier: http://www.w3.org/ns/odrl/2/Policy
Note: A Policy may contain multiple Rules.
Sub-classes: Agreement, Assertion, Offer, Privacy, Request, Set, Ticket
Properties: conflict, permission, prohibition, inheritFrom, profile, obligation, uid, relation, target, function, action, constraint, assignee, assigner
In Range Of: hasPolicy, inheritFrom, assigneeOf, assignerOf

Unique Identifier

Definition: An unambiguous identifier
Label: Unique Identifier
Identifier: http://www.w3.org/ns/odrl/2/uid
Note: Used by the Policy, Rule, Asset, and Party Classes.
Domain: Asset, Party, Policy, Rule

Profile

Definition: The identifier(s) of an ODRL Profile that the Policy conforms to.
Label: Profile
Identifier: http://www.w3.org/ns/odrl/2/profile
Note: The profile property is mandatory if the Policy is using an ODRL Profile.
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
Note: The child policy will inherit Rules from the parent policy
Domain: Policy
Range: Policy

Policy Subclasses

Agreement

Definition: A Policy that grants the assignee a Rule over an Asset from an assigner.
Label: Agreement
Identifier: http://www.w3.org/ns/odrl/2/Agreement
Note: An Agreement Policy MUST contain at least one Permission or Prohibition rule, a Party with Assigner function, and a Party with Assignee function (in the same Permission or Prohibition). The Agreement Policy will grant the terms of the Policy from the Assigner to the Assignee.
Parent class: Policy
Disjoint classes: Assertion, Offer, Privacy, Request, Set, Ticket

Offer

Definition: A Policy that proposes a Rule over an Asset from an assigner.
Label: Offer
Identifier: http://www.w3.org/ns/odrl/2/Offer
Note: An Offer Policy MUST contain at least one Permission or Prohibition rule and a Party with Assigner function (in the same Permission or Prohibition). The Offer Policy MAY contain a Party with Assignee function, but MUST not grant any privileges to that Party.
Parent class: Policy
Disjoint classes: Agreement, Assertion, Privacy, Request, Set, Ticket

Set

Definition: A Policy that expresses a Rule over an Asset.
Label: Set
Identifier: http://www.w3.org/ns/odrl/2/Set
Note: A Set Policy MUST contain a target Asset, and at least one Rule. A Set Policy is the default Policy subclass. The Set is aimed at scenarios where there is an open criteria for the semantics of the policy expressions and typically refined by other systems/profiles that process the information at a later time. No privileges are granted to any Party (if defined).
Parent class: Policy
Disjoint classes: Agreement, Assertion, Offer, Privacy, Request, Ticket

Rule

Rule

Definition: An abstract concept that represents the common characteristics of Permissions, Prohibitions, and Duties.
Label: Rule
Identifier: http://www.w3.org/ns/odrl/2/Rule
Note: Rule is an abstract concept.
Sub-classes: Duty, Permission, Prohibition
Properties: output, failure, uid, relation, target, function, action, constraint, assignee, assigner
In Range Of: failure

Relation

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

Function

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

Failure

Definition: Failure is an abstract property that defines the violation (or unmet) relationship between Rules.
Label: Failure
Identifier: http://www.w3.org/ns/odrl/2/failure
Note: The parent property to sub-properties that express explicit failure contexts.
Sub-properties: consequence, remedy
Domain: Rule
Range: Rule

Asset

Asset

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

Asset Collection

Definition: An Asset that is collection of individual resources
Label: Asset Collection
Identifier: http://www.w3.org/ns/odrl/2/AssetCollection
Parent class: Asset
Properties: source, refinement
In Range Of: partOf

Asset Relations

Target

Definition: The target property indicates the Asset that is the primary subject to which the Rule action directly applies.
Label: Target
Identifier: http://www.w3.org/ns/odrl/2/target
Parent property: relation
Domain: Policy, Rule
Range: Asset

Target Policy

Definition: Identifies an ODRL Policy for which the identified Asset is the target Asset to all the Rules.
Label: Target Policy
Identifier: http://www.w3.org/ns/odrl/2/hasPolicy
Note: The Asset being identified MUST be inferred to be the target Asset of all of the Rules of the Policy.
Sub-properties: dc:license
Domain: Asset
Range: Policy

Party

Party

Definition: An entity or a collection of entities that undertake Roles in a Rule.
Label: Party
Identifier: http://www.w3.org/ns/odrl/2/Party
Note: The Party entity could be a person, group of people, organisation, or agent. An agent is a person or thing that takes an active role or produces a specified effect. To describe more details about the Party, it is recommended to use W3C vCard Ontology [[vcard-rdf]] or FOAF Vocabulary [[foaf]].
Parent class: schema:Organization, schema:Person, vcard:Agent, vcard:Individual, vcard:Organization, foaf:Agent, foaf:Organization, foaf:Person
Sub-classes: PartyCollection
Properties: assigneeOf, assignerOf, partOf, uid
In Range Of: function, assignee, assigner

Party Collection

Definition: A Party that is a group of individual entities
Label: Party Collection
Identifier: http://www.w3.org/ns/odrl/2/PartyCollection
Parent class: Party
Properties: source, refinement
In Range Of: partOf

Party Functions

Assignee

Definition: The Party is the recipient of the Rule.
Label: Assignee
Identifier: http://www.w3.org/ns/odrl/2/assignee
Parent property: function
Domain: Policy, Rule
Range: Party

Assigner

Definition: The Party is the issuer of the Rule.
Label: Assigner
Identifier: http://www.w3.org/ns/odrl/2/assigner
Parent property: function
Domain: Policy, Rule
Range: Party

Assignee Of

Definition: Identifies an ODRL Policy for which the identified Party undertakes the assignee functional role.
Label: Assignee Of
Identifier: http://www.w3.org/ns/odrl/2/assigneeOf
Note: When assigneeOf has been asserted between a metadata expression and an ODRL Policy, the Party being identified MUST be inferred to undertake the assignee functional role of all the Rules of that Policy.
Domain: Party
Range: Policy

Assigner Of

Definition: Identifies an ODRL Policy for which the identified Party undertakes the assigner functional role.
Label: Assigner Of
Identifier: http://www.w3.org/ns/odrl/2/assignerOf
Note: When assignerOf has been asserted between a metadata expression and an ODRL Policy, the Party being identified MUST be inferred to undertake the assigner functional role of all the Rules of that Policy.
Domain: Party
Range: Policy

Asset and Party

Part Of

Definition: Identifies an Asset/PartyCollection that the Asset/Party is a member of.
Label: Part Of
Identifier: http://www.w3.org/ns/odrl/2/partOf
Domain: Asset, Party
Range: AssetCollection, PartyCollection

Source

Definition: Reference to a Asset/PartyCollection
Label: Source
Identifier: http://www.w3.org/ns/odrl/2/source
Note: Used by AssetCollection and PartyCollection when constraints are applied.
Domain: AssetCollection, PartyCollection

Permission

Permission

Definition: The ability to perform an Action over an Asset.
Label: Permission
Identifier: http://www.w3.org/ns/odrl/2/Permission
Parent class: Rule
Disjoint classes: Duty, Prohibition
Properties: duty
In Range Of: permission

Has Permission

Definition: Relates an individual Permission to a Policy.
Label: Has Permission
Identifier: http://www.w3.org/ns/odrl/2/permission
Domain: Policy
Range: Permission

Prohibition

Prohibition

Definition: The inability to perform an Action over an Asset.
Label: Prohibition
Identifier: http://www.w3.org/ns/odrl/2/Prohibition
Parent class: Rule
Disjoint classes: Duty, Permission
Properties: remedy
In Range Of: prohibition

Has Prohibition

Definition: Relates an individual Prohibition to a Policy.
Label: Has Prohibition
Identifier: http://www.w3.org/ns/odrl/2/prohibition
Domain: Policy
Range: Prohibition

Action

Action

Definition: An operation on an Asset.
Label: Action
Identifier: http://www.w3.org/ns/odrl/2/Action
Note: Actions may be allowed by Permissions, disallowed by Prohibitions, or made mandatory by Duties.
Parent class: schema:Action
Properties: includedIn, implies, refinement
In Range Of: includedIn, implies, action
Instances: Attribution, CommericalUse, DerivativeWorks, Distribution, Notice, Reproduction, ShareAlike, Sharing, SourceCode, acceptTracking, adHocShare, aggregate, annotate, anonymize, append, appendTo, archive, attachPolicy, attachSource, attribute, commercialize, compensate, concurrentUse, copy, delete, derive, digitize, display, distribute, ensureExclusivity, execute, export, extract, extractChar, extractPage, extractWord, give, grantUse, include, index, inform, install, lease, lend, license, modify, move, nextPolicy, obtainConsent, pay, play, present, preview, print, read, reproduce, reviewPolicy, secondaryUse, sell, share, shareAlike, stream, synchronize, 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
Domain: Policy, Rule
Range: Action

Included In

Definition: An Action transitively asserts that another Action that encompasses its operational semantics.
Label: Included In
Identifier: http://www.w3.org/ns/odrl/2/includedIn
Note: The purpose is to explicitly assert that the semantics of the referenced instance of an other Action encompasses (includes) the semantics of this instance of Action. The includedIn property is transitive, and as such, the Actions form ancestor relationships.
Domain: Action
Range: Action

Implies

Definition: An Action asserts that another Action is not prohibited to enable its operational semantics.
Label: Implies
Identifier: http://www.w3.org/ns/odrl/2/implies
Note: The property asserts that an instance of Action entails that the other instance of Action is not prohibited.
Domain: Action
Range: Action

Actions for Rules

Use

Definition: To use the Asset
Label: Use
Identifier: http://www.w3.org/ns/odrl/2/use
Note: Use is the most generic action for all non-third-party usage. More specific types of the use action can be expressed by more targetted actions.
Included By: Attribution, CommericalUse, DerivativeWorks, Distribution, Notice, Reproduction, ShareAlike, Sharing, SourceCode, acceptTracking, aggregate, annotate, anonymize, archive, attribute, compensate, concurrentUse, delete, derive, digitize, distribute, ensureExclusivity, execute, grantUse, include, index, inform, install, modify, move, nextPolicy, obtainConsent, play, present, print, read, reproduce, reviewPolicy, stream, synchronize, textToSpeech, transform, translate, uninstall, watermark
Class: Action

Transfer Ownership

Definition: To transfer the ownership of the Asset in perpetuity.
Label: Transfer Ownership
Identifier: http://www.w3.org/ns/odrl/2/transfer
Included By: give, sell
Class: Action

Duty

Duty

Definition: The obligation to perform an Action
Label: Duty
Identifier: http://www.w3.org/ns/odrl/2/Duty
Parent class: Rule
Disjoint classes: Permission, Prohibition
Properties: consequence
In Range Of: duty, obligation, consequence, remedy

Obligation

Definition: Relates an individual Duty to a Policy.
Label: Obligation
Identifier: http://www.w3.org/ns/odrl/2/obligation
Note: The Duty is a requirement which must be fulfilled.
Domain: Policy
Range: Duty

Has Duty

Definition: Relates an individual Duty to a Permission.
Label: Has Duty
Identifier: http://www.w3.org/ns/odrl/2/duty
Note: A Duty is a pre-condition which must be fulfilled in order to receive the Permission.
Domain: Permission
Range: Duty

Consequence

Definition: Relates a Duty to another Duty, the latter being a consequence of not fulfilling the former.
Label: Consequence
Identifier: http://www.w3.org/ns/odrl/2/consequence
Note: The consequence property is utilised to express the repercussions of not fulfilling an agreed obligation (for a Policy) or duty (for a Permission).
Parent property: failure
Domain: Duty
Range: Duty

Remedy

Definition: Relates an individual remedy Duty to a Prohibition.
Label: Remedy
Identifier: http://www.w3.org/ns/odrl/2/remedy
Note: The remedy property expresses an agreed Duty that must be fulfilled in case that a Prohibition has been violated by being exercised.
Parent property: failure
Domain: Prohibition
Range: Duty

Constraint

Constraint

Definition: A boolean expression that refines the semantics of an Action and Party/Asset Collection or declare the conditions applicable to a Rule.
Label: Constraint
Identifier: http://www.w3.org/ns/odrl/2/Constraint
Properties: unit, dataType, operator, rightOperand, rightOperandReference, leftOperand, status
In Range Of: constraint, refinement

Has Constraint

Definition: Constraint applied to a Rule
Label: Has Constraint
Identifier: http://www.w3.org/ns/odrl/2/constraint
Note: Constraints on Rules are used to determine if a rule is Active or not. Example: the Permission rule is only active during the year 2018.
Domain: Policy, Rule
Range: Constraint, LogicalConstraint

Refinement

Definition: Constraint used to refine the semantics of an Action, or Party/Asset Collection
Label: Refinement
Identifier: http://www.w3.org/ns/odrl/2/refinement
Note: Example: the Action print is only permitted on 50% of the asset.
Domain: Action, AssetCollection, PartyCollection
Range: Constraint, LogicalConstraint

Operator

Definition: Operator for constraint expression.
Label: Operator
Identifier: http://www.w3.org/ns/odrl/2/Operator
Note: Instances of the Operator class representing relational operators.
In Range Of: operator
Instances: eq, gt, gteq, hasPart, isA, isAllOf, isAnyOf, isNoneOf, isPartOf, lt, lteq, neq

Has Operator

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

Right Operand

Definition: Right operand for constraint expression.
Label: Right Operand
Identifier: http://www.w3.org/ns/odrl/2/RightOperand
Note: Instances of the RightOperand class are used as the rightOperand of a Constraint.
In Range Of: rightOperand
Instances: policyUsage

Has Right Operand

Definition: The value of the right operand in a constraint expression.
Label: Has Right Operand
Identifier: http://www.w3.org/ns/odrl/2/rightOperand
Note: When used with set-based operators, a list of values may be used.
Domain: Constraint
Range: rdfs:Literal, xsd:anyURI, RightOperand

Has Right Operand Reference

Definition: A reference to a web resource providing the value for the right operand of a Constraint.
Label: Has Right Operand Reference
Identifier: http://www.w3.org/ns/odrl/2/rightOperandReference
Note: An IRI that MUST be dereferenced to obtain the actual right operand value. When used with set-based operators, a list of IRIs may be used
Domain: Constraint

Left Operand

Definition: Left operand for constraint expression.
Label: Left Operand
Identifier: http://www.w3.org/ns/odrl/2/LeftOperand
Note: Instances of the LeftOperand class are used as the leftOperand of a Constraint.
In Range Of: leftOperand
Instances: absolutePosition, absoluteSize, absoluteSpatialPosition, absoluteTemporalPosition, count, dateTime, delayPeriod, deliveryChannel, device, elapsedTime, event, fileFormat, industry, language, media, meteredTime, payAmount, percentage, product, purpose, recipient, relativePosition, relativeSize, relativeSpatialPosition, relativeTemporalPosition, resolution, spatial, spatialCoordinates, system, systemDevice, timeInterval, unitOfCount, version, virtualLocation

Has Left Operand

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

Unit

Definition: The unit of measurement of the value of the rightOperand or rightOperandReference of a Constraint.
Label: Unit
Identifier: http://www.w3.org/ns/odrl/2/unit
Domain: Constraint

Datatype

Definition: The datatype of the value of the rightOperand or rightOperandReference of a Constraint.
Label: Datatype
Identifier: http://www.w3.org/ns/odrl/2/dataType
Note: In RDF encodings, use of the rdf:datatype MUST be used. In JSON-LD encoding, the use of @type MUST be used.
Domain: Constraint
Range: rdfs:Datatype

Status

Definition: the value generated from the leftOperand action or a value related to the leftOperand set as the reference for the comparison.
Label: Status
Identifier: http://www.w3.org/ns/odrl/2/status
Domain: Constraint

Logical Constraint

Logical Constraint

Definition: A logical expression that refines the semantics of an Action and Party/Asset Collection or declare the conditions applicable to a Rule.
Label: Logical Constraint
Identifier: http://www.w3.org/ns/odrl/2/LogicalConstraint
Properties: operand
In Range Of: constraint, refinement

Operand

Definition: Operand is an abstract property for a logical relationship.
Label: Operand
Identifier: http://www.w3.org/ns/odrl/2/operand
Note: Sub-properties of operand are used for Logical Constraints.
Sub-properties: and, andSequence, or, xone
Domain: LogicalConstraint

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: A set-based operator 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: A set-based operator 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: A set-based operator 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: A set-based operator 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: A set-based operator 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: A set-based operator 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

Logical Constraint Operands

Or

Definition: The relation is satisfied when at least one of the Constraints is satisfied.
Label: Or
Identifier: http://www.w3.org/ns/odrl/2/or
Note: This property MUST only be used for Logical Constraints, and the list of operand values MUST be Constraint instances.
Parent property: operand

Only One

Definition: The relation is satisfied when only one, and not more, of the Constaints is satisfied
Label: Only One
Identifier: http://www.w3.org/ns/odrl/2/xone
Note: This property MUST only be used for Logical Constraints, and the list of operand values MUST be Constraint instances.
Parent property: operand

And

Definition: The relation is satisfied when all of the Constraints are satisfied.
Label: And
Identifier: http://www.w3.org/ns/odrl/2/and
Note: This property MUST only be used for Logical Constraints, and the list of operand values MUST be Constraint instances.
Parent property: operand

And Sequence

Definition: The relation is satisfied when each of the Constraints are satisfied in the order specified.
Label: And Sequence
Identifier: http://www.w3.org/ns/odrl/2/andSequence
Note: This property MUST only be used for Logical Constraints, and the list of operand values MUST be Constraint instances. The order of the list MUST be preserved. The andSequence operator is an example where there may be temporal conditional requirements between the operands. This may lead to situations where the outcome is unresolvable, such as deadlock if one of the Constraints is unable to be satisfied. ODRL Processing systems SHOULD plan for these scenarios and implement mechanisms to resolve them.
Parent property: operand

Policy Conflict Strategy

Conflict Strategy Preference

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

Handle Policy Conflicts

Definition: The conflict-resolution strategy for a Policy.
Label: Handle Policy Conflicts
Identifier: http://www.w3.org/ns/odrl/2/conflict
Note: If no strategy is specified, the default is invalid.
Domain: Policy
Range: ConflictTerm

Prefer Permissions

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

Prefer Prohibitions

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

Void Policy

Definition: The policy is void.
Label: Void Policy
Identifier: http://www.w3.org/ns/odrl/2/invalid
Note: Used to indicate the policy is void for Conflict Strategy.
Class: ConflictTerm

ODRL Common Vocabulary

The ODRL Common Vocabulary defines semantics for generic terms that MAY be used in ODRL Profiles.

Policy Subclasses

Assertion

Definition: A Policy that asserts a Rule over an Asset from parties.
Label: Assertion
Identifier: http://www.w3.org/ns/odrl/2/Assertion
Note: For example, a party (an assignee or assigner) can claim what terms they have over an Asset. An Assertion Policy does not grant such permissions/prohibitions but only asserts the parties claims. An Assetion Policy MUST contain a target Asset, a Party with any functional role, and at least one of a Permission or Prohibition rule.
Parent class: Policy
Disjoint classes: Offer, Privacy, Request, Set, Ticket

Privacy Policy

Definition: A Policy that expresses a Rule over an Asset containing personal information.
Label: Privacy Policy
Identifier: http://www.w3.org/ns/odrl/2/Privacy
Note: A Privacy Policy MUST contain a target Asset, a Party with Assigner is, a Party with Assignee function, and at least one of a Permission or Prohibition rule that MUST include a Duty. The target Asset SHOULD contain or relate to personal information about the Assignee. The Duty MUST describe obligations on the Assigner about managing the Asset. The Assignee is being granted the terms of the Privacy policy from the Assigner.
Parent class: Policy
Disjoint classes: Agreement, Assertion, Offer, Request, Set, Ticket

Request

Definition: A Policy that proposes a Rule over an Asset from an assignee.
Label: Request
Identifier: http://www.w3.org/ns/odrl/2/Request
Note: A Request Policy MUST contain a target Asset, a Party with Assignee function, and at least one of a Permission or Prohibition rule. The Request MAY also contain the Party with Assigner function if this is known. No privileges are granted to any Party.
Parent class: Policy
Disjoint classes: Agreement, Assertion, Offer, Privacy, Set, Ticket

Ticket

Definition: A Policy that grants the holder a Rule over an Asset from an assigner.
Label: Ticket
Identifier: http://www.w3.org/ns/odrl/2/Ticket
Note: A Ticket Policy MUST contain a target Asset and at least one of a Permission or Prohibition rule. The Ticket MAY contain the Party with Assigner function and MUST NOT contain an Assignee. The Ticket Policy will grant the terms of the Policy to the holder of that Ticket. The holder of the Ticket MAY remain unknown or MAY have to be identified at some later stage.
Parent class: Policy
Disjoint classes: Agreement, Assertion, Offer, Privacy, Request, Set

Asset Relations

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
Domain: Rule
Range: Asset

Party Functions

Attributed Party

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

Attributing Party

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

Compensated Party

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

Compensating Party

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

Consenting Party

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

Consented Party

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

Contracting Party

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

Contracted Party

Definition: The Party who is being contracted.
Label: Contracted Party
Identifier: http://www.w3.org/ns/odrl/2/contractedParty
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
Note: Maybe specified as part of the inform action.
Parent property: function

Informing Party

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

Tracking Party

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

Tracked Party

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

Actions for Rules

Accept Tracking

Definition: To accept that the use of the Asset may be tracked.
Label: Accept Tracking
Identifier: http://www.w3.org/ns/odrl/2/acceptTracking
Note: The collected information may be tracked by the Assigner, or may link to a Party with the role 'trackingParty' function.
Included In: use
Class: Action

Aggregate

Definition: 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
Included In: use
Class: Action

Annotate

Definition: 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
Included In: use
Class: Action

Anonymize

Definition: To anonymize all or parts of the Asset.
Label: Anonymize
Identifier: http://www.w3.org/ns/odrl/2/anonymize
Note: For example, to remove identifying particulars for statistical or for other comparable purposes, or to use the Asset without stating the author/source.
Included In: use
Class: Action

Archive

Definition: To store the Asset (in a non-transient form).
Label: Archive
Identifier: http://www.w3.org/ns/odrl/2/archive
Note: Temporal constraints may be used for temporal conditions.
Included In: use
Class: Action

Attribute

Definition: To attribute the use of the Asset.
Label: Attribute
Identifier: http://www.w3.org/ns/odrl/2/attribute
Note: May link to an Asset with the attribution information. May link to a Party with the role “attributedParty” function.
Included In: use
Class: Action

Attribution

Definition: Credit be given to copyright holder and/or author.
Label: Attribution
Identifier: http://creativecommons.org/ns#Attribution
Note: This term is defined by Creative Commons.
Included In: use
Class: Action

Commercial Use

Definition: Exercising rights for commercial purposes.
Label: Commercial Use
Identifier: http://creativecommons.org/ns#CommericalUse
Note: This term is defined by Creative Commons.
Included In: use
Class: Action

Compensate

Definition: To compensate by transfer of some amount of value, if defined, for using or selling the Asset.
Label: Compensate
Identifier: http://www.w3.org/ns/odrl/2/compensate
Note: The compensation may use different types of things with a value: (i) the thing is expressed by the value (term) of the Constraint name; (b) the value is expressed by operator, rightOperand, dataType and unit. Typically the assignee will compensate the assigner, but other compensation party roles may be used.
Included In: use
Class: Action

Concurrent Use

Definition: To create multiple copies of the Asset that are being concurrently used.
Label: Concurrent Use
Identifier: http://www.w3.org/ns/odrl/2/concurrentUse
Included In: use
Class: Action

Delete

Definition: To permanently remove all copies of the Asset after it has been used.
Label: Delete
Identifier: http://www.w3.org/ns/odrl/2/delete
Note: Use a constraint to define under which conditions the Asset must be deleted.
Included In: use
Class: Action

Derive

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

Derivative Works

Definition: Distribution of derivative works.
Label: Derivative Works
Identifier: http://creativecommons.org/ns#DerivativeWorks
Note: This term is defined by Creative Commons.
Included In: use
Class: Action

Digitize

Definition: 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
Included In: use
Class: Action

Display

Definition: To create a static and transient rendition of an Asset.
Label: Display
Identifier: http://www.w3.org/ns/odrl/2/display
Note: For example, displaying an image on a screen. If the action is to be performed to a wider audience than just the Assignees, then the Recipient constraint is recommended to be used.
Included In: play
Class: Action

Distribute

Definition: To supply the Asset to third-parties.
Label: Distribute
Identifier: http://www.w3.org/ns/odrl/2/distribute
Note: It is recommended to use nextPolicy to express the allowable usages by third-parties.
Included In: use
Class: Action

Distribution

Definition: Distribution, public display, and publicly performance.
Label: Distribution
Identifier: http://creativecommons.org/ns#Distribution
Note: This term is defined by Creative Commons.
Included In: use
Class: Action

Ensure Exclusivity

Definition: To ensure that the Rule on the Asset is exclusive.
Label: Ensure Exclusivity
Identifier: http://www.w3.org/ns/odrl/2/ensureExclusivity
Note: If used as a Duty, the assignee should be explicitly indicated as the party that is ensuring the exclusivity of the Rule.
Included In: use
Class: Action

Execute

Definition: To run the computer program Asset.
Label: Execute
Identifier: http://www.w3.org/ns/odrl/2/execute
Note: For example, machine executable code or Java such as a game or application.
Included In: use
Class: Action

Extract

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

Give

Definition: 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
Included In: transfer
Class: Action

Grant Use

Definition: To grant the use of the Asset to third parties.
Label: Grant Use
Identifier: http://www.w3.org/ns/odrl/2/grantUse
Note: This action enables the assignee to create policies for the use of the Asset for third parties. The nextPolicy is recommended to be agreed with the third party. Use of temporal constraints is recommended.
Included In: use
Class: Action

Include

Definition: To include other related assets in the Asset.
Label: Include
Identifier: http://www.w3.org/ns/odrl/2/include
Note: For example: bio picture must be included in the attribution. Use of a relation sub-property is required for the related assets.
Included In: use
Class: Action

Index

Definition: To record the Asset in an index.
Label: Index
Identifier: http://www.w3.org/ns/odrl/2/index
Note: For example, to include a link to the Asset in a search engine database.
Included In: use
Class: Action

Inform

Definition: To inform that an action has been performed on or in relation to the Asset.
Label: Inform
Identifier: http://www.w3.org/ns/odrl/2/inform
Note: May link to a Party with the role 'informedParty' function.
Included In: use
Class: Action

Install

Definition: 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
Included In: use
Class: Action

Modify

Definition: To change existing content of the Asset. A new asset is not created by this action.
Label: Modify
Identifier: http://www.w3.org/ns/odrl/2/modify
Note: This action will modify an asset which is typically updated from time to time without creating a new asset. 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).
Included In: use
Class: Action

Move

Definition: To move the Asset from one digital location to another including deleting the original copy.
Label: Move
Identifier: http://www.w3.org/ns/odrl/2/move
Note: After the Asset has been moved, the original copy must be deleted.
Included In: use
Class: Action

Next Policy

Definition: To grant the specified Policy to a third party for their use of the Asset.
Label: Next Policy
Identifier: http://www.w3.org/ns/odrl/2/nextPolicy
Note: Useful for downstream policies.
Included In: use
Class: Action

Notice

Definition: Copyright and license notices be kept intact.
Label: Notice
Identifier: http://creativecommons.org/ns#Notice
Note: This term is defined by Creative Commons.
Included In: use
Class: Action

Obtain Consent

Definition: To obtain verifiable consent to perform the requested action in relation to the Asset.
Label: Obtain Consent
Identifier: http://www.w3.org/ns/odrl/2/obtainConsent
Note: May be 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 “consentingParty” function.
Included In: use
Class: Action

Play

Definition: To create a sequential and transient rendition of an Asset.
Label: Play
Identifier: http://www.w3.org/ns/odrl/2/play
Note: For example, to play a video or audio track. If the action is to be performed to a wider audience than just the Assignees, then the Recipient constraint is recommended to be used.
Included By: display
Included In: use
Class: Action

Present

Definition: To publicly perform the Asset.
Label: Present
Identifier: http://www.w3.org/ns/odrl/2/present
Note: The asset can be performed (or communicated) in public.
Included In: use
Class: Action

Print

Definition: To create a tangible and permanent rendition of an Asset.
Label: Print
Identifier: http://www.w3.org/ns/odrl/2/print
Note: For example, creating a permanent, fixed (static), and directly perceivable representation of the Asset, such as printing onto paper.
Included In: use
Class: Action

Read

Definition: To obtain data from the Asset.
Label: Read
Identifier: http://www.w3.org/ns/odrl/2/read
Note: For example, the ability to read a record from a database (the Asset).
Included In: use
Class: Action

Reproduce

Definition: To make duplicate copies the Asset in any material form.
Label: Reproduce
Identifier: http://www.w3.org/ns/odrl/2/reproduce
Included By: extract
Included In: use
Class: Action

Reproduction

Definition: Making multiple copies.
Label: Reproduction
Identifier: http://creativecommons.org/ns#Reproduction
Note: This term is defined by Creative Commons.
Included In: use
Class: Action

Review Policy

Definition: To review the Policy applicable to the Asset.
Label: Review Policy
Identifier: http://www.w3.org/ns/odrl/2/reviewPolicy
Note: Used when human intervention is required to review the Policy. May link to an Asset which represents the full Policy information.
Included In: use
Class: Action

Sell

Definition: 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
Included In: transfer
Class: Action

Share Alike

Definition: Derivative works be licensed under the same terms or compatible terms as the original work.
Label: Share Alike
Identifier: http://creativecommons.org/ns#ShareAlike
Note: This term is defined by Creative Commons.
Included In: use
Class: Action

Sharing

Definition: Permits commercial derivatives, but only non-commercial distribution.
Label: Sharing
Identifier: http://creativecommons.org/ns#Sharing
Note: This term is defined by Creative Commons.
Included In: use
Class: Action

Source Code

Definition: Source code (the preferred form for making modifications) must be provided when exercising some rights granted by the license.
Label: Source Code
Identifier: http://creativecommons.org/ns#SourceCode
Note: This term is defined by Creative Commons.
Included In: use
Class: Action

Stream

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

Synchronize

Definition: To use the Asset in timed relations with media (audio/visual) elements of another Asset.
Label: Synchronize
Identifier: http://www.w3.org/ns/odrl/2/synchronize
Included In: use
Class: Action

Text-to-speech

Definition: To have a text Asset read out loud.
Label: Text-to-speech
Identifier: http://www.w3.org/ns/odrl/2/textToSpeech
Note: If the action is to be performed to a wider audience than just the Assignees, then the recipient constraint is recommended to be used.
Included In: use
Class: Action

Transform

Definition: To convert the Asset into a different format.
Label: Transform
Identifier: http://www.w3.org/ns/odrl/2/transform
Note: Typically used to convert the Asset into a different format for consumption on/transfer to a third party system.
Included In: use
Class: Action

Translate

Definition: To translate the original natural language of an Asset into another natural language.
Label: Translate
Identifier: http://www.w3.org/ns/odrl/2/translate
Note: A new derivative Asset is created by that action.
Included In: use
Class: Action

Uninstall

Definition: To unload and delete the computer program Asset from a storage device and disable its readiness for operation.
Label: Uninstall
Identifier: http://www.w3.org/ns/odrl/2/uninstall
Note: The Asset is no longer accessible to the assignees after it has been used.
Included In: use
Class: Action

Watermark

Definition: To apply a watermark to the Asset.
Label: Watermark
Identifier: http://www.w3.org/ns/odrl/2/watermark
Included In: use
Class: Action

Constraint Left Operands

Absolute Asset Position

Definition: A point in space or time defined with absolute coordinates for the positioning of the Asset.
Label: Absolute Asset Position
Identifier: http://www.w3.org/ns/odrl/2/absolutePosition
Note: Example: The upper left corner of a picture may be constrained to a specific position of the canvas rendering it.
Narrower terms: absoluteSpatialPosition, absoluteTemporalPosition
Class: LeftOperand

Absolute Spatial Asset Position

Definition: The absolute spatial positions of four corners of a rectangle on a 2D-canvas or the eight corners of a cuboid in a 3D-space for the Asset to fit.
Label: Absolute Spatial Asset Position
Identifier: http://www.w3.org/ns/odrl/2/absoluteSpatialPosition
Note: Example: The upper left corner of a picture may be constrained to a specific position of the canvas rendering it. Note: see also the Left Operand Relative Spatial Asset Position.
Broader terms: absolutePosition
Class: LeftOperand

Absolute Temporal Asset Position

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

Absolute Asset Size

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

Count

Definition: Numeric count.
Label: Count
Identifier: http://www.w3.org/ns/odrl/2/count
Class: LeftOperand

Datetime

Definition: The date (and optional time and timezone) to be compared. Right operand value MUST be an xsd:date or xsd:dateTime as defined by [[xmlschema11-2]].
Label: Datetime
Identifier: http://www.w3.org/ns/odrl/2/dateTime
Note: The Rule may be exercised before (with operator lt/lteq) or after (with operator gt/gteq) the date(time) defined by the Right operand. Example: dateTime gteq 2017-12-31T06:00Z means the Rule can only be exercised after (and including) 6:00AM on the 31st Decemeber 2017 UTC time., The use of Timezone information is strongly recommended.
Class: LeftOperand

Delay Period

Definition: A time delay period. The point in time triggering this period MAY be defined by another temporal Constraint expressed together in a Constraint (utilising the odrl:andSequence operator). Right operand value MUST be an xsd:duration as defined by [[xmlschema11-2]].
Label: Delay Period
Identifier: http://www.w3.org/ns/odrl/2/delayPeriod
Note: Example: delayPeriod eq P60M indicates a delay of 60 Minutes before exercising the action., Only the eq, gt, gteq operators SHOULD be used.
Class: LeftOperand

Delivery Channel

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

Elapsed Time

Definition: An elapsed time period. Right operand value MUST be an xsd:duration as defined by [[xmlschema11-2]].
Label: Elapsed Time
Identifier: http://www.w3.org/ns/odrl/2/elapsedTime
Note: Example: elpasedTime eq P60M indicates a total elapsed time of 60 Minutes., Only the eq, lt, lteq operators SHOULD be used.
Class: LeftOperand

Event

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

File Format

Definition: A transformed file format.
Label: File Format
Identifier: http://www.w3.org/ns/odrl/2/fileFormat
Note: Example: An asset may be transformed into JPEG format.
Class: LeftOperand

Industry Context

Definition: A defined industry sector.
Label: Industry Context
Identifier: http://www.w3.org/ns/odrl/2/industry
Note: Example: publishing or financial industry.
Class: LeftOperand

Language

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

Media Context

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

Metered Time

Definition: An accumulated amount of time period. Right operand value MUST be an xsd:duration as defined by [[xmlschema11-2]].
Label: Metered Time
Identifier: http://www.w3.org/ns/odrl/2/meteredTime
Note: Example: meteredTime lteq P60M indicates an accumulated period of 60 Minutes or less., Only the eq, lt, lteq operators SHOULD be used.
Class: LeftOperand

Payment Amount

Definition: The amount of a financial payment. Right operand value MUST be an xsd:decimal.
Label: Payment Amount
Identifier: http://www.w3.org/ns/odrl/2/payAmount
Note: Note: Can be used for compensation duties with the unit property indicating the currency of the payment.
Class: LeftOperand

Asset Percentage

Definition: A percentage amount. Right operand value MUST be an xsd:decimal from 0 to 100.
Label: Asset Percentage
Identifier: http://www.w3.org/ns/odrl/2/percentage
Note: Example: Extract less than or equal to 50%.
Class: LeftOperand

Product Context

Definition: A Product or service.
Label: Product Context
Identifier: http://www.w3.org/ns/odrl/2/product
Note: Example: May only be used in the XYZ Magazine.
Class: LeftOperand

Purpose

Definition: A defined Purpose.
Label: Purpose
Identifier: http://www.w3.org/ns/odrl/2/purpose
Note: Example: Educational use.
Class: LeftOperand

Recipient

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

Relative Asset Position

Definition: A point in space or time defined with coordinates relative to full measures the positioning of the Asset.
Label: Relative Asset Position
Identifier: http://www.w3.org/ns/odrl/2/relativePosition
Note: Example: The upper left corner of a picture may be constrained to a specific position of the canvas rendering it.
Narrower terms: relativeSpatialPosition, relativeTemporalPosition
Class: LeftOperand

Relative Spatial Asset Position

Definition: The relative spatial positions - expressed as percentages of full values - of four corners of a rectangle on a 2D-canvas or the eight corners of a cuboid in a 3D-space of the Asset.
Label: Relative Spatial Asset Position
Identifier: http://www.w3.org/ns/odrl/2/relativeSpatialPosition
Note: Note: See the Left Operand absoluteSpatialAssetPosition.
Broader terms: relativePosition
Class: LeftOperand

Relative Temporal Asset Position

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

Relative Asset Size

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

Rendition Resolution

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

Geospatial Named Area

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

Geospatial Coordinates

Definition: A set of coordinates setting the borders of a geospatial area. The coordinates MUST include longitude and latitude, they MAY include altitude and the geodetic datum.
Label: Geospatial Coordinates
Identifier: http://www.w3.org/ns/odrl/2/spatialCoordinates
Note: The default values are the altitude of earth's surface at this location and the WGS 84 datum.
Broader terms: spatial
Class: LeftOperand

System Device

Definition: An identified computing system.
Label: System Device
Identifier: http://www.w3.org/ns/odrl/2/systemDevice
Note: Example: The system device can be identified by a unique code created from the used hardware.
Class: LeftOperand
Equivalent Match: device, system

Recurring Time Interval

Definition: A recurring period of time. Right operand value MUST be an xsd:duration as defined by [[xmlschema11-2]].
Label: Recurring Time Interval
Identifier: http://www.w3.org/ns/odrl/2/timeInterval
Note: Example: timeInterval eq P7D indicates a recurring 7 day period., Only the eq operator SHOULD be used.
Class: LeftOperand

Unit Of Count

Definition: The unit of measure used for counting.
Label: Unit Of Count
Identifier: http://www.w3.org/ns/odrl/2/unitOfCount
Note: Typically used with Duties to indicate the unit entity to be counted of the Action. Example: A duty to compensate and a unitOfCount constraint of 'perUser' would indicate that the compensation by multiplied by the 'number of users'.
Class: LeftOperand

Version

Definition: The range of versions of the Asset.
Label: Version
Identifier: http://www.w3.org/ns/odrl/2/version
Note: Example: Single Paperback or Multiple Issues or version 2.0 or higher.
Class: LeftOperand

Virtual IT Communication Location

Definition: An identified location of the IT communication space.
Label: Virtual IT Communication Location
Identifier: http://www.w3.org/ns/odrl/2/virtualLocation
Note: Example: an Internet domain or IP address range.
Class: LeftOperand

Constraint Right Operands

Policy Usage Time

Definition: Indicates the time when the policy is exercised.
Label: Policy Usage Time
Identifier: http://www.w3.org/ns/odrl/2/policyUsage
Note: This can be used to express constraints related to the time the policy is exercised. For example, event lt policyUsage expresses a constraint on the Action to occur before the policy is exercised. Other operators may be used to indicate during (eg) or after (gt, gte) policy usage.
Class: RightOperand

Vocabulary Expression

This specification includes serialisation syntaxes for the ODRL Vocabulary.

Implementations of ODRL expressions must be serialised using the UTF-8 character encoding.

RDF

ODRL Policies may be serialised in any supported RDF serialisation syntax.

The current (editors draft) ODRL Ontology and can be downloaded in:

When a list of values is required, then the rdf:List predicate SHOULD be used.

JSON-LD

The JSON-LD [[json-ld]] serialisation uses the @context property to define the processing context. Implementations producing ODRL expressions should include a @context property value using at least the URL http://www.w3.org/ns/odrl.jsonld or any other @context (file) including the content of http://www.w3.org/ns/odrl.jsonld plus terms defined by a non-ODRL namespace.

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

XML

ODRL Policy expressions can be encoded in XML [[xml]] serialisations as defined by XML Schema [[xmlschema11-1]] and XML Datatypes [[xmlschema11-2]]. All of the ODRL Vocabulary IRIs used in ODRL XML instances MUST follow those defined in the ODRL Vocabulary.

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

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

Note that the Rule class is not represented in the XML encoding, only the child classes; Permission, Prohibition, and Duty.

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

XML Elements and Attributes

The Policy element contains the following attributes:

NOTE: The type attribute is used to express the ODRL Policy subclass.

The Policy element MAY contain the following elements:

The Policy element MAY contain the following policy-level elements that apply to all Rules (see ODRL Rule Composition).

The Policy element MAY also contain Dublin Core elements to support Policy metadata.

The Policy element MAY also contain constraint elements which are Constraints referenced by either another constraint element or Logical Constraint within a Rule. Note that these Constraints are not to be interpreted as a direct constraint of all Rules.

The Asset class is a single asset element to represent both the Asset uid and how it is related to the Rule. 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), type (OPTIONAL), id (OPTIONAL), or
  2. idref (REQUIRED)

The asset element may also contain the refinement element for asset collections.

The Party class is a single party element to represent both the Party uid and the functional role to the Rule. 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), type (OPTIONAL), id (OPTIONAL), or
  2. idref (REQUIRED)

The party element may also contain the refinement element for party collections.

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

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 action element may also contain the refinement element.

The Constraint element contains the following attributes:

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

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

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

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

  1. name (REQUIRED), rightOperand (REQUIRED)

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

XML Example

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

<o:Policy xmlns:o="http://www.w3.org/ns/odrl/2/" xmlns:dc="http://purl.org/dc/terms/" 
          type="http://www.w3.org/ns/odrl/2/Agreement"
          uid="http://example.com/policy:9001" 
          profile="http://example.com/odrl:profile:10X">
    <dc:creator>Acme Enterprises</dc:creator>
    <dc:issued>2017-01-01T12:00</dc:issued> 
    <o:asset uid="http://example.com/music:4545" 
             relation="http://www.w3.org/ns/odrl/2/target"/>
    <o:party uid="http://example.com/sony"
             function="http://www.w3.org/ns/odrl/2/assigner"/>
    <o:party uid="http://example.com/billie"
             function="http://www.w3.org/ns/odrl/2/assignee"/>
    <o:permission>
        <o:action name="http://www.w3.org/ns/odrl/2/play"/>
        <o:duty>
            <o:action name="http://www.w3.org/ns/odrl/2/acceptTracking"/>
        </o:duty>
    </o:permission>
    <o:permission>
        <o:action name="http://www.w3.org/ns/odrl/2/distribute"/>
        <o:constraint name="http://www.w3.org/ns/odrl/2/spatial" 
                      operator="http://www.w3.org/ns/odrl/2/eq" 
                      rightOperand="http://vocab.getty.edu/tgn/1000080"/>
        <o:duty>
            <o:action name="http://www.w3.org/ns/odrl/2/compensate">
               <o:refinement name="http://www.w3.org/ns/odrl/2/payAmount"
                   operator="http://www.w3.org/ns/odrl/2/eq"
                   rightOperand="5000.00" 
                   unit="http://dbpedia.org/resource/Euro"/>
            </o:action>
        </o:duty>
    </o:permission>  
</o:Policy>

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.

Logical Constraints

To support Logical Constraints, Constraint objects can be expressed at the Policy level and locally identified with the id attribute. The Logical Constraint (in the Rule) can then refer to these Constraints using its #id in the leftOperand, and the logical relationship in the name attribute.

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

The below example shows two Constraints defined with ids C1 and C2. The Logical Constraint in the Permission refers to these using the #C1 and #C2 values in the rightOperand, and the logical relationship (xone) in the name attribute.

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

Privacy Considerations

ODRL Policies that support the Privacy subclass may contain links to potentially sensitive personal information such as the identity of parties and the identity of the existence of assets containing such data related to the parties. Implementations that produce or consume ODRL Privacy expressions must take steps to communicate to all relevant users the manner in which the policy is being used, the identity of any other party with whom that policy is being shared, and the reason the policy is being shared with other parties.

Deprecated Terms

LabelIdentifierDeprecated By
Devicehttp://www.w3.org/ns/odrl/2/devicehttp://www.w3.org/ns/odrl/2/systemDevice
Systemhttp://www.w3.org/ns/odrl/2/systemhttp://www.w3.org/ns/odrl/2/systemDevice
proximityhttp://www.w3.org/ns/odrl/2/proximity
Appendhttp://www.w3.org/ns/odrl/2/appendhttp://www.w3.org/ns/odrl/2/modify
Append Tohttp://www.w3.org/ns/odrl/2/appendTohttp://www.w3.org/ns/odrl/2/modify
Copyhttp://www.w3.org/ns/odrl/2/copyhttp://www.w3.org/ns/odrl/2/reproduce
Exporthttp://www.w3.org/ns/odrl/2/exporthttp://www.w3.org/ns/odrl/2/transform
Leasehttp://www.w3.org/ns/odrl/2/lease
Licensehttp://www.w3.org/ns/odrl/2/licensehttp://www.w3.org/ns/odrl/2/grantUse
Lendhttp://www.w3.org/ns/odrl/2/lend
Payhttp://www.w3.org/ns/odrl/2/payhttp://www.w3.org/ns/odrl/2/compensate
Payee Partyhttp://www.w3.org/ns/odrl/2/payeePartyhttp://www.w3.org/ns/odrl/2/compensatedParty
Previewhttp://www.w3.org/ns/odrl/2/preview
Secondary Usehttp://www.w3.org/ns/odrl/2/secondaryUse
Writehttp://www.w3.org/ns/odrl/2/writehttp://www.w3.org/ns/odrl/2/modify
Write tohttp://www.w3.org/ns/odrl/2/writeTohttp://www.w3.org/ns/odrl/2/modify
Ad-hoc sharinghttp://www.w3.org/ns/odrl/2/adHocShare
Extract characterhttp://www.w3.org/ns/odrl/2/extractChar
Extract pagehttp://www.w3.org/ns/odrl/2/extractPage
Extract wordhttp://www.w3.org/ns/odrl/2/extractWord
Timed Counthttp://www.w3.org/ns/odrl/2/timedCount
Inherit Relationhttp://www.w3.org/ns/odrl/2/inheritRelation
Inheritance Allowedhttp://www.w3.org/ns/odrl/2/inheritAllowed
Undefined Termhttp://www.w3.org/ns/odrl/2/UndefinedTerm
Handle Undefined Termhttp://www.w3.org/ns/odrl/2/undefined
Ignore Undefined Actionshttp://www.w3.org/ns/odrl/2/ignore
Support Undefined Actionshttp://www.w3.org/ns/odrl/2/support
Asset Scopehttp://www.w3.org/ns/odrl/2/AssetScope
Party Scopehttp://www.w3.org/ns/odrl/2/PartyScope
Scopehttp://www.w3.org/ns/odrl/2/scope
Grouphttp://www.w3.org/ns/odrl/2/Group
Individualhttp://www.w3.org/ns/odrl/2/Individual
Allhttp://www.w3.org/ns/odrl/2/All
All First-Level Connectionshttp://www.w3.org/ns/odrl/2/AllConnections
All Second-level Connectionshttp://www.w3.org/ns/odrl/2/All2ndConnections
All Group Connectionshttp://www.w3.org/ns/odrl/2/AllGroups
Attach policyhttp://www.w3.org/ns/odrl/2/attachPolicyhttp://creativecommons.org/ns#Notice
Attach sourcehttp://www.w3.org/ns/odrl/2/attachSourcehttp://creativecommons.org/ns#SourceCode
Share-alikehttp://www.w3.org/ns/odrl/2/shareAlikehttp://creativecommons.org/ns#ShareAlike
Commercializehttp://www.w3.org/ns/odrl/2/commercializehttp://creativecommons.org/ns#CommercialUse
Sharehttp://www.w3.org/ns/odrl/2/sharehttp://creativecommons.org/ns#Sharing

Acknowledgements

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

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

Candidate Recommendation Exit Criteria

For this specification to be advanced to Proposed Recommendation, there must be at least two independent implementations of each feature described below. Each feature may be implemented by a different set of products, and there is no requirement that any single product implement every feature.

Features

For the purposes of evaluating exit criteria, the following are considered as features:

In addition, the ODRL Vocabulary will be considered valid when the following conditions have been demonstrated:

Software that does not alter its behavior in the presence or lack of a given feature is not deemed to implement that feature for the purposes of exiting the Candidate recommendation phase.

Relationship to the W3C ODRL Community Group Reports

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

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

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

Changes from Previous Versions

Changes from the First Public Working Draft 21 July 2016:

Changes from the Working Draft 23 February 2017: