The conceptual model detailed in the Conceptualisation chapter, is just an abstract model. In order to get a formal and explicit formalisation of this conceptualisation, it is necessary to implement the corresponding ontology. This step can be seen as a combination of the formalisation and implementation phases as detailed in the Methontology section.

These two phases have been combined in this chapter, and it is named just "Implementation", because, although the formalisation tasks are also considered, this chapter gets into much more detail in the implementation part. The formalisation is much more mechanic while the implementation is more tricky due to the special implementation approach that has been considered in this work.

It is important to note that the implementation approach documented in this section is just one of the possible implementations of the copyright conceptual model. Moreover, it does not take into account formal notions of right, modal operators, etc. On the other hand, the objective has been to produce an ontology that can be easily put into practice with tools that easily scale to great amounts of data and that can be integrated in production systems.

Therefore, in order to avoid tractability and decidability problems, the extensive use of DL (Description Logic) reasoners has been one of the main driving forces of this implementation. The characteristics of DL reasoners that justify this decision are detailed in the Description Logics section. A Semantic Web implementation of DL is employed: the Decription Logic version of the Web Ontology Language (OWL-DL) [Dean04].

This decision has produced a very naive formalisation of right and deontic operators (obligation, permission and prohibition) that are just valid in the context of this implementation of the copyright conceptual model, i.e. the OWL-based Copyright Ontology. This naive approach has been also extended to other aspect of the ontology with one idea in mind, to directly take profit from the classification functionalities of DL reasoners in order to implement license checking.

This includes checking if a particular use is allowed by some agreement, if there is any offer that might allow it, if the required compensation has been fulfilled, if the agent of the usage action is a member of the intended users class, etc. More details are given in the Description Logic Mechanisms section.

Another objective of this implementation is to reuse many things from other sources. A detailed account of the sources that have been employed in order to complement the Copyright Ontology with practical means to deal with time, locations, etc. is presented in the Reused Terms section.

To conclude, it is important to note that the main part of the implementation work is not visible in this chapter but in the resulting OWL Copyright Ontology, which is available from the Copyright Ontology web site. Moreover, this chapter ends with a Example Scenarios section that documents practical uses of the ontology and for more details the Semantic DRM System section describes how the ontology works in the context of a Semantic Digital Rights Management System.

Introduction

The previously detailed models, i.e. Creation, Rights and Action Model, plus the required concepts from external ontologies or just defined to build up our ontological framework for copyright. This conceptual model has been implemented using Semantic Web ontologies and rules languages.

The main objective has been to provide a straightforward and efficient implementation. In order to do that, in the context of web ontologies, we have chosen OWL-DL [Pan04]. OWL-DL is a Web Ontology language that is also a Description Logic (DL). Therefore, it can be directly fed into DL classifiers, which are specialised logic reasoners that deal with class definitions and instances. They guarantee tractability and decidability for class subsumption checking and instance classification.

DL classifiers are used in order to automatically check copyright-governed events against copyright rights and the action patterns specified in copyright situations, agreements and offers. This facilitates checking if a particular action, once modelled as an event, is allowed or not. It is even possible, if the action is not disallowed, to look for offers that grant action patterns that would enable it, once an agreement is reached, etc.

DL classifiers can be directly reused so there is no need to develop ad-hoc applications to perform this function. The more complex behaviours that cannot by captured using OWL-DL are modelled using Semantic Web rules, described in the Semantic Web Rules section. However, this is just the implementation at the ground level. All this must be complemented with a metalevel that implements about the deontic aspects, cf. the Logic Types section, that are implicit in the conceptual model.

This metalevel guides the DL checks and rules executions that have to be performed in order to capture the semantics of the implicit obligations, permissions and prohibitions, as it is detailed in the Description Logic Mechanisms section. For instance, the metalevel performs the DL classification of the usage instance model under test and then check that there is at least on usage pattern that subsumes it. Additionally, the usage pattern must be the theme of an Agree and the condition of the usage pattern must be fulfilled, i.e. it is checked that there is an instance subsumed by it in order to conclude that it has been already satisfied.

The metalevel can be implemented also using Semantic Web rules. However, as a first approximation, it is going to be implemented programmatically as part of a Semantic DRM System.

Description Logic Mechanisms

An extensive use of Description Logic mechanism is made in order to facilitate the implementation of DRM systems that take profit from the Copyright Ontology. The first consequence of this approach is that it seems as all is modelled as instances inside OWL classes inside OWL classes, etc. It is quite clear that the concepts in the Creation Model section must be modelled as classes with the associated OWL restrictions for the corresponding relations. The tricky part is how to employ classes with the other models.

First of all, the rights in the Rights Model section are modelled as classes of actions that contain the action shown as the ones governed by the right as subclasses, together with other rights that might appear below them in the rights hierarchy. For instance, the CommunicationRight has Communicate, Broadcast, Retransmit and MakeAvailable as subclasses. However, Communicate is the only direct subclass action of the CommunicationRight, the other ones are indirect subclasses. They are subclasses of the rights that are subclasses of CommunicationRight.

Consequently, all the actions in the Action Model section are also modelled as classes, which are subclasses of the corresponding class that models the right that governs that class of actions. With this weird connection between rights and actions it is possible to reduce checking if an action is authorised by a given right to just check if the right class subsumes the action class.

In addition, agreements and offers are modelled as classes and they have a theme relation that points to the granted action pattern. This pattern is also modelled as a class and associated to the Agree or Offer class using an "owl:allValuesFrom" restriction. Patterns correspond to the event constructions used in the Action Model, i.e. they are vased on a verb and some case roles with specific ranges. Therefore, events are also modelled as classes.

It is important to note that not just the generic events presented in the Action Model are modelled as classes, even the specific ones used as patterns of the actions granted by an agree or offered by an offer. For the more specific actions the "owl:hasValue" restriction is used so it is even possible to build patterns that define some concrete instance as the range of one of its case roles, e.g. a concrete user or a specific location. Therefore, very concrete events can also be modelled as classes and used afterwards as patterns or models for the actual action an user is trying to perform.

This implementation approach is exemplified in Figure, which is based on the conceptual model of an offer shown in Figure in the Conceptualisation chapter. The more important changes in comparison to the original conceptual model are due to the OWL-DL limitations required for its tractability. Classes are not directly related to other classes and instances. In order to model OWL classes relations, the "owl:Restriction" primitive is used, one for each relation that is specified with "owl:onProperty".

 ../figures/ActionOfferImpl.pdf

OWL-DL implementation of the Offer conceptualisation in Figure

The restricted values for the property are specified with "owl:allValuesFrom" or "owl:someValuesFrom" when the range is a class and "owl:hasValue" when the range is limited to an instance. For instance, if the class is related through the duration property to the instance "P1M", it is implemented as an "owl:Restriction" "owl:onProperty" duration "owl:hasValue" "P1M".

In the Figure, the same arrows that appear in the conceptual model are used now to represent each "owl:Restriciton". The arrow tail points to the restricted class, i.e. the class that is a "rdfs:subClassOf" the restriction. The arrow head points to the values to which the property is restricted to take. The arrow also specifies the name of the property and the kind of restriction, i.e. "allValuesFrom", "someValuesFrom" or "hasValue".

At this point, the user action has to be checked against a repository of agreements in order to see if the action is allowed. Therefore, there is an implicit deontic operator permission that is implemented using the DL reasoner. The class modelling the action is classified against the set of agree classes and their associated usage patterns, i.e. their themes. Then, the user action is considered to be potentially permitted if it is classified as a subclass of any of the usage patterns included in the agreements repository.

It is not effectively permitted yet because two more conditions have to be checked. First, in order to be a permission, the usage patterns where the user action has been classified must be the theme of an Agree. On the other hand, if it is the theme of an Offer, the idea is to trigger a negotiation process that might eventually make the action permitted if an agreement is reached.

In addition to the previous check, the usage patterns usually specify an obligation for the user in order to perform the action. This is specified by the condition case role. It can be viewed as an implicit obligation deontic operator. Therefore, in this case, the second condition is to check that the obligation has been fulfilled. This is also done using DL mechanisms. The obligation range is also a class that models a Transfer event. The obligation is satisfied if the is a resource in the repository that has been classified as an instance of the obligation pattern.

To conclude, it is also important to note that it is possible to model prohibitions. This is done using "owl:complementOf" in order to get negated classes, e.g. a class defined as "complement of location equal to DVD Zone 3", and then intersected with the usage pattern with "owl:intersectionOf". More details about how the DL mechanisms are put into practice are available in the Example Scenarios section.

Semantic Web Rules

In order to implement the rules and axioms included in the conceptual model, Semantic Web rules have been used. This enables an easy integration of the Description Logic mechanisms and the rules. First, the rules have been translated to KIF, as it is shown in the Table. Then, the SweetRules KIF to SWRL translator has been employed to generate the corresponding Semantic Web rule. It has been necessary to employ the more expressive version SWRL-FOL [Patel-Schneider04] as the conceptual model rules are First Order Logic.

KIF rule to assign author rights

(forall (?v Manifest)
   (exists ((?mr MoralRights)(?er EconomicRights))
      (forall ((?p Person)(?m2 Manifestation)(?w Work)(?m Manifestation)(?t Time)
      (=> (and (agent ?v ?p) (theme ?v ?w) (result ?v ?m) (pointInTime ?v ?t)
                     (not (isManifestationOf ?m2 ?w))))
             (and (agent ?mr ?p) (agent ?er ?p) (essence ?mr ?w) (essence ?er ?m)
                     (start ?mr ?t) (start ?er ?t) (isManifestationOf ?m ?w)))
)))))

Reused Terms

Implementation decisions for some special concepts that lie out of the copyright ontology domain but are required in order to build rights expressions.

Location

Many methods depending on the level of detail required. However, in the copyright context, the more common method to specify location is based on country codes as they define the natural boundaries of legal systems. The ISO 3166 country codes are used as the standard mean to specify countries. Fine-grained location names are available from the Getty Thesaurus of Geographic Names. For even more concrete locations it is possible to use latitude-longitude coordinates as proposed by the W3C SWIG.

This is the method used in order to determine physical locations. However, when working in the virtual space provided by the Internet and the World Wide Web, specific location definition means are required for this non-physical spaces. In this context the more appropriate location method is URL (Uniform Resource Locator) specified by the RFC 1738 recommendation.

Time

ISO 8601 is used for time points, time intervals, durations and recurring intervals. Time points include date, time and combined date and time expressions based on the "YYYY-MM-DDThh:mm:ss±hh:mm" expressions, e.g. "2005-11-25T12:00:00+01:00". If no so much precision is required the more fine grained elements of the expression can be omitted, e.g. seconds or seconds and minutes, etc.

Durations are represented by the format "PnYnMnDTnHnMnS". For instance, "P3Y6M4DT12H30M0S" defines a period of three years, six months, four days, twelve hours, thirty minutes, and zero seconds. Elements may be omitted if their value is zero.

Time intervals specify an amount of time. They may be specified in four ways:

  1. Start and end, such as 2002-03-01T13:00:00Z/2003-05-11T15:30:00Z
  2. Start and duration, such as 2002-03-01T13:00:00Z/P1Y2M10DT2H30M
  3. Duration and end, such as P1Y2M10DT2H30M/2003-05-11T15:30:00Z
  4. Duration only, such as P1Y2M10DT2H30M

Finally, Repeating intervals are formed by adding "Rn/" to the beginning of an interval expression, where "R" is used as the letter itself and "n" is replaced by the number of repetitions. Leaving out the value for "n" means an unbounded number of repetitions. So, to repeat the interval of "P1Y2M10DT2H30M" five times starting at "2002-03-01T13:00:00Z", use "R5/2002-03-01T13:00:00Z/ P1Y2M10DT2H30M".

Collective

As it has been pointed out in the Description Logic Mechanisms section, collectives are also modelled as OWL classes. They can be a class defined using OWL restrictions that can be necessary or both necessary and sufficient. Moreover, they can be enumerated classes. With this approach, it is possible to define the intended audience of an usage pattern as a collective class, i.e. "owl:allValuesFrom" the collective class. Afterwards, it is possible to implement checking if the usage is granted to a concrete user as a simple DL classification.

For instance, the usage pattern defines the intended audience of the grant, i.e. the range of the agent case role of the action. The intended audience is all members of a given university. Therefore, the class for the collective is defined as a class with a necessary and sufficient restriction on the member property "owl:hasValue" the given university. Afterwards, any user action that has to be checked against this pattern would be enables as long as the user is a member of the university, an consequently is classified in the collective class.

Content Characteristic

When interactively accessing content, it might be possible to choose some of the characteristics of the content. This generic class is a place holder for specific content characteristics that lie outside of the scope of the Copyright Ontology. Therefore, the recommendation is to reuse content characteristics from multimedia description ontologies. The most complete multimedia description framework is MPEG-7. It is defined by some XML Schemas but it is also available as an OWL ontology [García05c].

Example Scenarios

Streaming Server Scenario

The use of DL classifiers for digital rights management in the context of the copyright ontological framework can be exemplified with the following scenario:

The initial situation is: "USER1 is trying to access a given video stream from a given streaming server at 9:30:10 UTC on 2005-04-10". The streaming server implements digital rights management so it inquires the license manager if the current usage instance is permitted. In order to do that, the streamer models this usage as shown in Figure, and sends it to the license manager, e.g. as a RDF/XML serialisation.

 ../figures/ActionAccess.pdf

Usage instance modelled by the streaming server

The license manager contains licenses modelled using the same approach, among others the one shown in Figure. This license grants a usage pattern for a creation located at the streaming server that can be performed by a class of agents for a given period of time starting on a given date. Moreover, the license manager has additional metadata stating that USER1 is an instance of the pattern users class.

../figures/ActionAgreeAccessImpl.pdf

Use license model defining permitted usage pattern and condition

The license manager checks if there is any license that grants a usage pattern that subsumes the usage instance. This can be performed easily and efficiently using a DL classifier. However, before that, it is important to note that usage patterns define the time interval using a start time and duration, while the usage instance defines a time point. In order to check if the time point is included in the time interval, we must use a DL classifier capable of dealing with custom datatypes reasoning [Pan05]. Then, the time interval is translated to a real interval, i.e. pointInTime is greater or equal than 20050401 and smaller or equal than 20060401, and the time point to a real, i.e. pointInTime is equal to 20050410.093010.

After applying the previous adjustment, subsumption is computed. The usage might be classified in one or more usage patterns. In this case it is tested if the usage pattern is the theme of an Agree concept. Then, if there is an instance of the condition, i.e. it is satisfied, the license manager tells the streaming server that the use is authorised. Otherwise, the use is not authorised.

This is a simple scenario for illustrative purposes. It could be extended in many ways. For instance, if the usage pattern is the theme of an offer, another possibility is to recommend the user the possibility to negotiate it in order to arrive to a new agreement. From this point, it can be connected to negotiation architectures [Delgado02b, Gil03] which have been included in the contributed Semantic DRM System.

Withdrawal Right Scenario

In order to show the capabilities of the copyright modelling framework detailed in the previous section, we are going to show how it can be used to model a complete copyright scenario. We have chosen a quite uncommon one because it does not deal with exploitation-oriented aspects.

The scenario is about moral rights, concretely the withdrawal right. In this scenario, the author exercises one of its inalienable rights to retire one of its works from the public scene, as he does no longer consider that it represents his personality. The whole scenario is considered; from the moment when the author creates the work, and correspondingly acquires full rights on his creation, until the consequences of its withdrawal. The scenario steps are detailed next.

Creation and Acquisition of Moral Rights

The steps leading to the acquisition of the moral rights that grant the author the possibility to exercise a withdraw of its work are captured by the manifest action that takes the first manifestation of the work into existence and the corresponding rule that assigns to the author the moral rights. The event and the rule are like those presented in the Manifest section and the resulting situation is shown in Figure.

../figures/SituationAuthorMoralRights.pdf

Detailed moral rights situation

Withdraw and Compensation

From the previous step, the author is now authorised to withdraw his work as it is shown in Figure. The withdraw action is subsumed by the Withdrawal Right. However, this act will have its consequences. Generally speaking, the consequence is that he should compensate the third parties with which he has established exploitation agreements for the economical damages this act may impose them.

../figures/ActionWithdraw.pdf

Withdraw enabled by withdrawal right

These compensations can be explicitly anticipated in the previous agreements or inferred from additional rules or external systems when the withdraw is performed. Figure shows one exploitation agreement for communicating the work in exchange of a compensation to the author, which is named Transfer A in the figure. There is an additional provision in this agreement, another transfer from the author to the other party that is conditioned to the exercise of the withdraw act of the work, Transfer B.

../figures/ActionAgreeWithdraw.pdf

An agreement with withdraw compensation provision