Implementing the RightsML 1.0 Profile of ODRL 2.0

The RightsML Profile defines which of the optional features of the ODRL 2.0 Core Model are supported, which terms in the ODRL 2.0 Common Vocabulary are supported, and a set of additional vocabulary terms that may be used in addition to the supported Common Vocabulary terms.


Implementing additional ODRL 2.0 Core Model features

The RightsML Profile supports all the optional features in the ODRL 2.0 Core Model, with the exception of experimental features. If any of the experimental features, or any features added to future drafts of the ODRL 2.0 Core Model, are to be implemented, the implementation is not fully compliant with the RightsML Profile and this could lead to problems when attempting to inter-operate with other implementations of the RightsML Profile.


Implementing and extending the RightsML vocabulary

It is recommended that the vocabulary to which a term belongs should always be indicated, by declaring the namespace of each term. This applies to terms taken from the ODRL 2.0 Common Vocabulary and the RightsML vocabulary, as well as to terms from other vocabularies.

RightsML vocabulary terms should only be used in the contexts for which they are defined. It may be obvious that an Action term, e.g. ‘addToService’, should not be used as the name of a Constraint. In some cases this may not be so obvious, for example ‘recipient’ may only be used as the name of a Constraint and not as the identifier of a category of Party.

If an implementation requires the use of terms not currently included in the RightsML Profile, additional terms may be used, provided their provenance and meaning are both clear. It is the responsibility of the implementer to specify the additional terms that they propose to use and ensure that all recipients are aware of these and are able to interpret them correctly. Additional terms may be taken from any suitable vocabulary. The vocabulary should always be specified, by declaring the namespace URI of the vocabulary for each additional term.


Selecting and developing additional vocabularies

A vocabulary is suitable for use with the RightsML Profile if each of the terms in the vocabulary can be expressed as a URI or qualified name, which identify both the term itself and the vocabulary from which it is taken.

Examples of suitable vocabularies include: 

  • Published vocabularies such as ISO code sets for countries, languages, and currencies. 
  • Vocabularies developed by the implementer.

Where possible, the URI published by the organisation responsible for governance of the vocabulary should be used in referring to such vocabularies. If no such URI is known, the implementer should assign a URI and ensure that all recipients of the rights expressions that use the associated vocabulary are made aware of this URI.

Where no suitable vocabulary already exists, an implementer may define and use their own vocabulary. This is may be necessary in a variety of circumstances, such as: 

  • To express Actions or Constraints not included in either the RightsML vocabulary or the ODRL 2.0 Common Vocabulary.
  • To express Asset categories, Party categories and roles specific to the licensing arrangements between a rights assigner and assignee.
  • To express additional category values for use with the Constraint 'purpose' 

It is recommended that new terms be defined in a similar fashion to that used in the RightsML Profile for definition of the RightsML Vocabulary. Each definition should include:

  • The identifier to be used in rights expressions. It is recommended that an identifier be a string of characters chosen to indicate the meaning of the term, but should not be too long. It is recommended only to use alphabetic characters.
  • A descriptive reference name for the term. This could, for example, be the term used in an applicable license.
  • A definition of the semantics of the term. If a corresponding term is used in an applicable license, the definition of the term should be consistent with the definition of the corresponding term in the license.

A new vocabulary should be assigned a unique URI, which is referred to as the “namespace URI” of the new vocabulary. When a term from the new vocabulary is used in a rights expression, the namespace should always be specified. The way that the namespace is specified will depend upon the syntax chosen, but in the XML syntax included in the RightsML Profile the namespace should be specified in accordance with the W3C Recommendation on Namespaces in XML.

 

Proposing extensions to the RightsML Vocabulary

 The RightsML Vocabulary is being actively maintained. Implementers are encouraged to submit proposals for additional terms, especially new Actions and Constraints, that are expected to be applicable beyond the circumstances of a specific news syndication contract or license. 

RightsML 1.0 and ODRL 2.0

The RightsML Profile implements specific, dated versions of the ODRL 2.0 Core Model and the ODRL 2.0 Common Vocabulary. There is no guarantee that ODRL 2.0 will evolved in ways that are compatible with the RightsML Profile. Care should therefore always be taken to ensure that the correct versions are consulted.

Feedback and Questions

We welcome feedback on and questions about RightsML. You may post to the public RightsML Forum. If you are an IPTC member, then you are also entitled to join the private RightsML email discussion list.