<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Using ODRL to represent access rights to Public Records at The National Archives (UK)</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Robert Walpole</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alex Green</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Devexe Limited</institution>
          ,
          <addr-line>Alphington, Exeter, EX2 8YS</addr-line>
          ,
          <country country="UK">United Kingdom</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>The National Archives</institution>
          ,
          <addr-line>Kew, Richmond, Surrey TW9 4DU</addr-line>
          ,
          <country country="UK">United Kingdom</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2002</year>
      </pub-date>
      <abstract>
        <p>This paper discusses a prospective model for describing access rights to public records held at The National Archives (TNA) using the Open Digital Rights Language (ODRL). In particular, it describes the approach taken to work out what ODRL policies would be needed to describe record closure. Record closure is a a record access policy derived from UK Government legislation. This legislation has evolved over time and this has resulted in a range of closure definitions for individual records depending on when they were transferred to TNA. It describes a method for generating large numbers of ODRL policy variants in RDF Turtle syntax, based on information held in an RDBMS, as well as a technical mechanism for linking these policies to the millions of records to which they apply.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;ODRL</kwd>
        <kwd>RDF</kwd>
        <kwd>Legislation</kwd>
        <kwd>Public Records</kwd>
        <kwd>The National Archives</kwd>
        <kwd>Freedom of Information</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <sec id="sec-1-1">
        <title>1.1. The National Archives</title>
        <p>The National Archives (TNA) is the oficial archive for the UK government and for England and
Wales. TNA’s catalogue holds over 11 million records covering a thousand years of history from the
Domesday Book to websites. Records can take many forms, including paper or parchment, photographs,
spreadsheets, websites, social media posts, posters, maps and drawings.</p>
      </sec>
      <sec id="sec-1-2">
        <title>1.2. Legal framework for access to public records</title>
        <p>
          The 1958 Public Record Act[
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] formalised roles and responsibilities in respect of the transfer of records
from government departments to the Public Record Ofice (a predecessor to The National Archives)
no later than 50 years from their date of creation. At this point the records would be made available
to the public. In practice records were often transferred before the 50 years and were held at TNA as
closed records for release once they had reached 50 years. This closure period was reduced for new
transfers to 30 years by The Public Record Act 1967[
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] and then removed completely by the Freedom of
Information Act 2000[
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] which came into operation on 1 January 2005.
        </p>
        <p>The FOI Act provided a new statutory framework for the access to public records which gave the
public the right to see any public record immediately, wherever it is held, unless it was subject to an
exemption to the FOI Act. However, the date of transfer from government departments to TNA was not
altered until 2010, when an amendment to the FOI Act brought this forward from 30 to 20 years. This
resulted in the accelerated transfer of records between 2013 to 2022, during which period two years of
records were transferred every year.</p>
        <p>In practice then, most records are transferred as open by the time they are 20 years old but some are
closed under one or more FOI exemptions. These records may contain sensitive or distressing personal
information or could damage international relations or national security if released. Others could be
closed because they were transferred with an understanding that confidentiality would be maintained.</p>
        <p>In addition to FOI exceptions, some records over 20 years old are retained by the government
department. These are retained for up to 10 years and are subject to specific criteria, for example
continued business in order to refer to maps of mines for urban planning. After 10 years, the government
department must reapply to retain the record for a further period.</p>
        <p>Under the FOI Act, all of these records are listed on the online catalogue including those with closed
descriptions as the public have the right to place an FOI enquiry requesting the record is opened.</p>
        <p>All applications to close or retain records are submitted to the Advisory Council on National Records
and Archives. This body is chaired by the Master of the Rolls and is composed of academics, researchers,
archivists, former oficials and MPs. The Advisory Council scrutinises the applications, and those it
agrees are passed to the Secretary of State to request final approval.</p>
        <p>It is also important to note that there are two aspects of a record to consider in the context of making
them available. Firstly, is the record itself subject to the legislation described above? Secondly, is
the supplementary descriptive metadata about the record, usually termed its “description” considered
sensitive? It is possible for a record to be closed but for the record description to be open. To use a
military service record example, the record description might say that this is a service record for Joe
Bloggs, who served as a Lieutenant in the Royal Navy, and allow the general public to see that, but not
to view the record itself, which may contain the confidential medical information of someone who is
still alive. It is also possible that both the record and record description are closed, possibly because the
description itself contains sensitive information, and so all we can say is that there is a record in an
identified series but no more.</p>
      </sec>
      <sec id="sec-1-3">
        <title>1.3. Project Omega</title>
        <p>
          Starting in 2019, TNA worked on Project Omega[
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] to envision a new Linked Data[
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] catalogue
management system (referred to as the Pan Archival Catalogue, or PAC for short) which could replace a
range of existing cataloguing systems within TNA and act as a single source of truth for TNA’s records.
A number of these existing cataloguing systems are over twenty years old, including the core editorial
system PROCAT, which was created when The National Archives was still known as the Public Record
Ofice (hence PRO). PROCAT is made up of two web-based GUI applications: an editor and a viewer,
and backed by a relational database called the Inventory List Database, or ILDB for short. PROCAT
allows staf to manage the metadata around new and existing physical records (a separate system is
already in place for digital records).
        </p>
        <p>
          In Project Omega’s re-envisioning, a graph-based model was chosen for the new catalogue system as it
was considered to be the most suitable for modelling the complex, and sometimes evolving, relationships
between archival records. In itself, this is not a novel idea and in fact the International Council of
Archives have been developing a graph-based model since 2012. However this model, known as Records
in Contexts[
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], or RiC for short, lacked several key features which TNA required including immutability,
versioning, chain of history/provenance and multiple narratives. Instead, TNA selected the Matterhorn
RDF Data Model[
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] to provide the starting point for the new Catalogue Data Model[
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].
        </p>
        <p>
          One of the key attractions of the Matterhorn model was that it is not an ontology, like RiC, but rather
an approach, which encourages the reuse of existing vocabularies and the creation of data shapes (using
SHACL[
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]) to describe the data model. This approach also aligned with one of the key drivers behind
the project for TNA, which is the potential it ofers for people to reuse and integrate with TNA data
published on the web. Making use of familiar vocabularies, such as Dublin Core[
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] and FOAF[
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], is
expected to make this easier for such users.
        </p>
      </sec>
      <sec id="sec-1-4">
        <title>1.4. Access and closure within PROCAT</title>
        <p>PROCAT is not the authoritative source of information about record access rights within TNA. For
this, there is a separate system called SAR (System for Access Regulation) which contains some of the
information in ILDB as well as additional information about access restrictions. The data is replicated
from SAR to ILDB on a daily basis.</p>
        <p>While it was anticipated that, in time, the information in SAR would be migrated to the Pan-Archival
Catalogue, SAR was outside of the initial scope of Project Omega.</p>
        <p>The following section describes how access conditions and closure are represented within PROCAT.
To understand the meaning of some of the terminology it is necessary to understand how the catalogue
is currently structured. The catalogue is a hierarchical system that loosely follows the ICA’s ISAD(G)
archival standard. TNA’s catalogue consists of the following seven levels: :
• Department - mandatory, the top level grouping of records relating to an individual government
department, executive agency or other government body
• Division - optional, used when it is desirable to group series together
• Series - mandatory, a grouping of records with a common history and purpose
• Subseries - optional, used when it is desirable to create groupings within a series
• Subsubseries - optional, used when it is necessary to group records below subseries
• Piece - mandatory, provides information about an individual record or group of records
• Item - optional, provides information about an individual record when it is desirable to split
a piece, perhaps because of its physical bulk or when some documents within a piece require
diferent closure status</p>
        <p>An example of a catalogue record is as follows: ADM 53/119009. Here, ADM is the department, which
in this case is the Admiralty, 53 is a series within the Admiralty, in this case containing ships’ logs, and
119009 is a piece, which in this case is the log book of the ship HMS Birmingham for May 1944.
1.4.1. Access
The department to subsubseries levels of the catalogue have what are referred to as access conditions,
rather than closure. It should be noted that, to date, only piece and item levels of the catalogue have had
ODRL policies designed for them. This is because catalogue levels above piece level were out-of-scope
for the initial phase of the project, and also because TNA is moving away from a hierarchical model
of record organisation towards a poly-hierarchical one. For this reason and for the remainder of this
paper, we will talk exclusively about closure, as described in the next section.
1.4.2. Closure
All records at the piece and item levels of the catalogue have closure information which is made up of
the following four elements:
1) Closure type, which is stored in ILDB as one of the following characters with meaning as given:
• A - Open on transfer (default for piece and item)
• N - Normal closure 30 / Normal closure before FOI Act (from January 2005)
• C - Closed, for review in
• D - Retained until
• U - Closed until
• F - Closed for
• I - Open immediately
• V - Closed while access is reviewed (for FOI purposes only)
• W - Reclosed in (for FOI purposes only)
• R - Retained by department
• S - Retained by department under section 3.4
• T - Temporarily retained by department
• X - Unknown/unspecified
2) Closure code, which is stored in ILDB as an integer, the value of which is dependent to a degree
on the closure type, as shown:
• Normal closure before FOI Act - always 30
• Open on transfer - always 0
• Open immediately - always 0
• Closed, for review in - must be a year (yyyy)
• Closed until - must be a year (yyyy)
• Closed for - must be a number of years (nn)
• Reclosed in - always a year (yyyy)
• Retained until - always a year (yyyy)
3) Record opening date, which is the date a closed piece or item will be made available. This date
ifeld is mandatory if records in the unit of description are closed.</p>
        <p>4) Closure status, which is stored as one of the following characters with the meaning as given:
• O - Open Document, Open Description
• D - Closed or Retained Document, Open Description
• C - Closed or Retained Document, Closed Description</p>
        <p>By looking at the information in all four of these fields together it is possible to make a statement
about the closure of the record.</p>
        <p>To give an example, the vast majority of the records within ILDB have the closure type N (Normal
Closure before FOI Act). In this case the closure code should be 30, meaning 30 years. If the record
opening date is present, we can say whether the record is open or closed depending on whether the
opening date is in the past, present or future. If the record opening date is not available (which is the
case for the vast majority of records) we need to look at a non-closure field in ILDB called the covering
end date. This indicates the final date that any document in the record group (e.g. piece or item) was
created or amended. By adding the closure code to the covering end date we discover the expected record
opening date. So if the covering end date was 1st January 1944 and the closure code is 30 the record
should be open from the 1st January 1974. The closure status tells us whether the record description
is open or closed and, with regard to the record itself (the document), the status should match the
calculated status.</p>
        <p>As can be seen from this example, the data held in ILDB is not completely normalised and there is
potential for ambiguity to exist between these fields. For example, there is nothing in the database
to prevent a record being marked as open but for there to be no opening date. It is also theoretically
possible for a record to have an opening date in the past and for the closure status to indicate that the
record is closed.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Why ODRL?</title>
      <p>
        The choice of the Open Digital Rights Language (ODRL) for describing access rights was a
straightforward one, as Project Omega had already made the decision to use an RDF[
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] graph model for the
catalogue and also to follow the Matterhorn approach of reusing existing vocabularies. It was therefore
a question of finding a vocabulary to describe access rights.
      </p>
      <p>
        ODRL stood out as an established, well documented and flexible language for describing access rights
as well as being the subject of two W3C recommendations[
        <xref ref-type="bibr" rid="ref13">13</xref>
        ][
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. This was important because as a UK
government organisation, TNA is guided by the Government Digital Services (GDS) Service Manual
which requires the use of open standards wherever possible[
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>This meant the only question left to resolve was whether ODRL would actually work for describing
the closure information held in the catalogue. Failing this, it would most likely be that either a new
bespoke vocabulary would have to be created to describe access rights, and/or an entirely new and as
yet undefined system would need to be built to manage them. As neither of these alternatives were
attractive due to the considerable amount of additional development and maintenance burden that they
would incur, a determined efort was made to see if ODRL would work.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Describing closure in ODRL</title>
      <p>
        The ODRL Information Model talks about Assets[
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], these are identifiable resources, such as a data
object, a digital file or a physical artefact. In the context of TNA, we identified two assets: the record
description and the record realisation (document).
      </p>
      <p>Record descriptions are either open or closed, based on the closure status field, whereas the record
documents are closed or open with optional constraints.</p>
      <p>ODRL supports policy inheritance, where a child policy inherits all of the rules of a parent policy.
Because we want to avoid information from being released unintentionally or prematurely, it was
decided to have a default policy of closure, meaning there was a default prohibition on the general
public reading anything about or within the records. This meant it would be necessary to explicitly
state, at the record level, that permission had been granted to read the record or record description.</p>
      <p>In terms of the semantic meaning, it might seem that there is little diference between a record that
is closed until a certain date or closed for a certain number of years, if it means that they were both
opened on the same date. However the archival metadata itself forms part of the public record at TNA
and so it was important to preserve this subtle diference in meaning within the policies, if only at a
descriptive level.</p>
      <p>Establishing how to represent closure as ODRL policies required an iterative process, involving
the Project Omega development team working together with members of the Catalogue and Access
Management teams at TNA.</p>
      <p>There were two main threads to these eforts: the first was to learn from others how ODRL had been
applied to real life scenarios, and RightsML was our main source of reference in this regard; and the
second was to analyse the closure data held in ILDB and attempt to describe every variation found with
an ODRL policy. The resulting policies should retain all of the semantic meaning, data and intention of
the original closure information and, at the same time, be fully machine readable.</p>
      <p>Up to now, TNA has relied on there being a human in the loop to look at the data and make a decision
about whether a record can be opened. While there is no expectation that this will change in the near
future, it is not hard to imagine that this will become an overwhelming task once large volumes of
digital records are included. Removing ambiguity in the closure metadata and making the policies
machine readable (and more so, computable) was therefore an important consideration.</p>
      <sec id="sec-3-1">
        <title>3.1. Learning from RightsML</title>
        <p>
          RightsML showed us that being able to express closure using natural language would be a helpful guide.
The following is taken from the IPTC Developer Site[
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]:
        </p>
        <p>A Rights Expression Language (REL) is a machine-readable language to convey rights
associated with a piece of content.</p>
        <p>The idea is to be able to automatically answer the question "Can we use this content for
this particular purpose?" Rights are permissions and restrictions on the use of a piece of
content, granted by a rights holder to a user. The basic structure is Party A grants Party B
the right to Action C with Item D under Condition E
So, in our use case we might say for example:</p>
        <p>The National Archives (the assigner) denies (prohibition) The Public (assignees) that a
record description or realisation (asset) may be read (action)</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Analysing and cleaning the data using decision trees</title>
        <p>To assist in the process of defining policies, the development team queried the closure information in
all of the records held in ILDB, and then classified them into the diferent forms of closure, depending
on the properties they contained. We were able to identify six fundamentally diferent forms of closure,
and from these created decision trees. When applied to each individual record, the decision trees led
either to a specific policy, which everybody agreed upon, or to further review by the Catalogue and
Access Management teams. These decision trees were revised multiple times following discussion, with
those records which caused most discussion being evaluated in more detail to understand why they
had the properties they did. An example decision tree is shown in figure 1.</p>
        <p>This process also highlighted a small number of anomalies in the records, for example some records
had no date or conflicting information. The reason for these anomalies were investigated and corrected
at source (i.e. within the ILDB database).</p>
        <p>After multiple iterations of this process, we reached a point where all anomalies were eliminated and
every record had a path through the decision trees which led to a policy. It was agreed to repeat this
exercise of querying the database up until all records were migrated from PROCAT to PAC, to ensure
that no new anomalies had crept into the data. If any records appeared that could not find a policy they
would need to be reviewed.</p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. The Closure Policies</title>
        <p>At the end of this process we emerged with eighteen distinct policy types, of which thirteen could
be assigned to records and two to record descriptions. The remaining three policy types were for
inheritance purposes only and not intended to be assigned directly. Of these eighteen policies, all had
the odrl:Policy type and eleven also had the odrl:Offer type, as they set either a prohibition or
permission. Those policies without an odrl:Offer type only refined the descriptive metadata. The
policies are shown in figure 2.</p>
        <p>The actual number of distinct policies required is much greater than this as there is tremendous
variation in the dates when access can be granted, and each distinct date requires a diferent policy.
Despite this, the number of policies needed is far less than the number of records and most policies can
be reused for multiple records.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Generating ODRL policies</title>
      <p>
        Once it had been established that all closure could be modelled in ODRL, and ODRL example policies
had been created for each scenario, it was possible to generate the policies directly from the closure
information in the ILDB database. The mechanism for achieving this was already well established as
it was the mechanism that had been used to export and transform all the other record information
from ILDB into RDF. The Project Omega team used a tool called Pentaho Data Integration (a.k.a.
Pentaho Kettle) from Hitachi Vantara[
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. This tool provides a framework for building repeatable data
transformation workflows. Workflows are built up from a series of steps which can be dragged and
dropped into a graphical user interface, with minimal coding required. For example a SQL query step
can be added which only requires a database connection to be specified and a SQL query to be written
for the data to start to flow into the pipeline. Further steps can be added to manipulate and transform
the data as required. While many steps are available out of the box, Pentaho also supports plugin
functionality, and as no functionality existed for creating, manipulating, validating and serialising RDF
data, we reused a plugin which the project team had previously created for this purpose[
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] within our
new ODRL policy pipeline.
      </p>
      <p>While the ODRL pipeline could create policies for each record, it did not create the higher level
policies which these policies would inherit from. As there were only a small number of these higher
level policies, it was decided they would be created manually.</p>
      <p>
        The policy generation workflow can be seen in figure 3. There are two starting points within the
workflow which use diferent SQL select statements, depending on the closure type (see 1.4.2). There
are diferent paths through the workflow, depending on what closure information is present, but all
paths lead either to the generation of a Apache Jena model[
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], which is then validated and serialised
to a Turtle RDF file, or to an error log. It is therefore essential to check the log files after the workflow
has run to ensure that no errors were encountered. While errors do not prevent the workflow from
completing, they are likely to mean that a policy has not been created for a particular closure scenario.
      </p>
    </sec>
    <sec id="sec-5">
      <title>5. Assigning ODRL policies to records</title>
      <p>or:
The intention of this is that the invalid URIs will be picked up during validation. At the same time, the
export job is able to continue unhindered. This is important, as the export job can take several hours to
run, and if an error causes it to halt, a great deal of time can be wasted. It is always preferable to allow
the export to complete and then check for errors. Once the error is corrected the job can be re-run just
for the specific records that caused errors on the initial run.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Validating ODRL policies and records using SHACL</title>
      <p>
        Because the ODRL Information Model has been built using Linked Data[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] principles, it is fully
compatible with the Open World Assumption[
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], meaning that just because a statement doesn’t exist
about a resource, that doesn’t mean it can’t be true. It also means that having a statement about a
resource doesn’t preclude another, perhaps seemingly contradictory, statement being added. When
it comes to validating that any policies and rules created for records adhere, not only to the ODRL
Information Model, but also to the specific requirements of closure, this poses a challenge. For example,
in the closure model, all closure policies which are assigned to records must inherit from one other
policy (see figure 4) but there is nothing within RDF itself that can be used to enforce this. This leads
to the possibility of mistakes being made which could remain undetected and ultimately lead to false
conclusions about record closure being drawn.
      </p>
      <p>
        One solution is provided by the Shapes Constraint Language (SHACL)[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] which allows expected
data patterns or "shape graphs" written in RDF to be compared with the actual "data graphs"
containing the policies and rules that have been created. The W3C Permissions and Obligations
Expression Working Group provide some examples of SHACL shapes for validating policies at
https://www.w3.org/2016/poe/wiki/Validation#Validation.
      </p>
      <p>
        Following the approach shown in these examples, the Project Omega development team created
custom SHACL shapes for closure which could be used to validate all the policies generated by the
policy generation workflow. Furthermore we have incorporated SHACL validation into the workflow
itself, as can be seen in the ODRL validator step in figure 3. This was achieved by incorporating Apache
Jena SHACL[
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] into the Kettle Jena Plugins[
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] mentioned previously.
      </p>
    </sec>
    <sec id="sec-7">
      <title>7. Is it open or closed?</title>
      <p>When there is a need to know whether a record can be viewed by a member of the public, a logical
evaluation must take place in which all of the allocated and inherited permissions and prohibitions for
the record are merged and assessed. As the data is stored in RDF, a SPARQL query can be used for this
purpose, but it would also be possible (and probably easier) to use an RDF API such as RDF4J or Apache
Jena ARQ to build these queries. An example SPARQL query for this purpose is shown in Appendix A.</p>
      <p>The result of this assessment is the dynamic creation of a custom ODRL policy for the specific record.
This policy will contain only the discovered rules (permissions and prohibitions) of all of the relevant
policies. For an example of such a policy see Appendix B.</p>
      <sec id="sec-7-1">
        <title>7.1. Conflict strategy and ODRL profile</title>
        <p>
          Unless the record and description are closed, there will be a conflict arising between these rules because
the root policy of Closure states that reading is not allowed. Any permission granted to read a document
or description will conflict with this. ODRL provides a conflict strategy mechanism[
          <xref ref-type="bibr" rid="ref23">23</xref>
          ] to deal with this
which can result in either prohibitions overriding permissions or permissions overriding prohibitions.
PAC would take the latter approach as this allows Closure to be the default position, with the catalogue
team needing to make a positive choice to allow a user controlled access to the record or record collection.
This will help to prevent accidental publishing of closed records.
        </p>
        <p>
          The core ODRL profile defines a Read action to which permissions can be granted. It became apparent,
while modelling the closure information in the catalogue, that it would be very helpful to distinguish the
action of reading the description from the action of reading the record document. This way there would
be no ambiguity about what action the permission was granting. The ODRL Profile Mechanism[
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]
allows direct extension of the ODRL core vocabulary with additional semantics. This allows additional
ODRL actions for Read Document and Read Description to be created which extend the core Read action
by incorporating an Included In relationship. The TNA ODRL profile is essentially a small OWL[
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]
ontology and all definitions are within the ODRL namespace. The additional terms created are therefore:
• http://www.w3.org/ns/odrl/2/readDocument
• http://www.w3.org/ns/odrl/2/readDescription
        </p>
        <p>The draft ODRL profile file for The National Archives can be seen in Appendix C.</p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>8. Conclusions and future work</title>
      <p>The use of ODRL described in this paper, and the outcome of other design choices developed and
tested during Project Omega, is currently the subject of a review by TNA while they decide on a future
direction.</p>
      <p>To date, only the closure information for piece and item levels of the catalogue has been resolved,
meaning more work needs to be done to decide if and how ODRL policies would be used to describe
access to higher levels of the catalogue.</p>
      <p>There is also an open question about what happens when a closed record reaches a date specified in a
constraint for opening. Does this mean that the record can be read by the public from this date, or does
this mean that at that point, TNA will review the record, and it may or may not be opened as a result?
In this case we are not talking about public access but about a business process which The National
Archives needs to follow. It may be possible to model this process in ODRL by saying something like:</p>
      <p>The National Archives has a duty to review access to record A on the 1st January 2025
Additionally, there may be other novel ways to model this process outside of ODRL. This remains a
research area of outstanding interest.</p>
      <p>
        In general it is expected that ODRL will allow TNA to simplify how closure and access is applied to
records and their descriptions in future. The process of applying ODRL policies to records and having to
decide what prohibitions and permissions are needed has been extremely instructive in terms of better
understanding what information is needed for a logical assessment of closure to be made. The large
number of policy variations with varying descriptions but essentially identical efects are unlikely to be
needed for future records. We now know that record closure can be defined very precisely in terms
of prohibitions or permissions with optional constraints. At the same time, using a Linked Data[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]
model will enable us to link our ODRL policies to specific clauses of the Public Records Act (and other
legislation) via the legislation published as RDF on Legislation.gov.uk. Linking policies directly to the
appropriate legislation could even make the need for closure descriptions redundant.
      </p>
      <p>ODRL’s inherent flexibility means that in future it should also be possible to describe diferent degrees
of access to records, above and beyond closure. For example, TNA might want to diferentiate between
a record which can be delivered over the Internet and one which requires a visit to the invigilation
room at TNA for viewing. In another scenario, TNA might want to withhold specific records from
Google search, but still make them publicly available through their online catalogue.</p>
    </sec>
    <sec id="sec-9">
      <title>9. Acknowledgments</title>
      <p>Thank you to Dr K Faith Lawrence and Dr Jenny Bunn at The National Archives for their identification
of funding sources and other support.</p>
    </sec>
    <sec id="sec-10">
      <title>A. Example SPARQL query to evaluate inherited permissions and prohibitions for a record</title>
      <p>PREFIX cat: &lt;http://cat.nationalarchives.gov.uk/&gt;
PREFIX odrl: &lt;http://www.w3.org/ns/odrl/2/&gt;
PREFIX nat: &lt;http://www.nationalarchives.gov.uk/&gt;
PREFIX dct: &lt;http://purl.org/dc/terms/&gt;
BASE &lt;http://cat.nationalarchives.gov.uk/&gt;
CONSTRUCT {
?policyUri a odrl:Policy, odrl:Offer ;
odrl:profile nat:odrl-profile ;
odrl:conflict ?conflict ;
odrl:permission ?b1 ;
odrl:prohibition ?b2 .
?b1 ?p1 ?v1 ;
odrl:assigner cat:The_National_Archives ;
odrl:target ?resource .
?b2 ?p2 ?v2 ;
odrl:assigner cat:The_National_Archives ;
odrl:target ?resource .
?b1 odrl:constraint ?c1 .</p>
      <p>?c1 ?c2 ?c3 .
}
WHERE
{</p>
      <p>BIND(cat:ADM.2021.21L1TH.P.1 AS ?resource)
?resource dct:identifier ?identifier</p>
      <p>BIND(URI(CONCAT(?identifier,"-policy")) AS ?policyUri)
{
{</p>
      <p>SELECT DISTINCT ?permission
WHERE {</p>
      <p>BIND(cat:ADM.2021.21L1TH.P.1 AS ?resource)
?resource dct:accessRights ?accessRights .
?accessRights odrl:hasPolicy ?policy .
{ ?policy odrl:permission ?permission . }
UNION
{
?policy odrl:inheritFrom+ ?parentPolicy .</p>
      <p>?parentPolicy odrl:permission ?permission
}
}
SELECT DISTINCT ?prohibition
WHERE {</p>
      <p>BIND(cat:ADM.2021.21L1TH.P.1 AS ?resource)
?resource dct:accessRights ?accessRights .
?accessRights odrl:hasPolicy ?policy .
{ ?policy odrl:prohibition ?prohibition . }
UNION
{
?policy odrl:inheritFrom+ ?parentPolicy .</p>
      <p>?parentPolicy odrl:prohibition ?prohibition
}
}
BIND(BNODE() AS ?b2)
?prohibition ?p2 ?v2 .</p>
      <p>SELECT DISTINCT ?conflict
WHERE {</p>
      <p>BIND(cat:ADM.2021.21L1TH.P.1 AS ?resource)
?resource dct:accessRights ?accessRights .
?accessRights odrl:hasPolicy ?policy .
{ ?policy odrl:conflict ?conflict . }
UNION
{
?policy odrl:inheritFrom+ ?parentPolicy .</p>
      <p>?parentPolicy odrl:conflict ?conflict .</p>
    </sec>
    <sec id="sec-11">
      <title>B. Example of constructed policy for a record based on incorporating inherited permissions and prohibitions</title>
      <p>The example shown represents a record with an open description and open document with efect from
the 14th July 2015.
@prefix nat: &lt;http://www.nationalarchives.gov.uk/&gt; .
@prefix rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt; .
@prefix cat: &lt;http://cat.nationalarchives.gov.uk/&gt; .
@prefix xsd: &lt;http://www.w3.org/2001/XMLSchema#&gt; .
@prefix odrl: &lt;http://www.w3.org/ns/odrl/2/&gt; .</p>
      <p>C. The National Archives ODRL profile (draft)
&lt;http://www.nationalarchives.gov.uk/odrl-profile&gt;
rdf:type owl:Ontology ;
owl:imports odrl: ;
rdfs:label "The National Archives ODRL Profile"@en .
#################################################################
# Individuals
#################################################################
### http://www.nationalarchives.gov.uk/odrl-profile/#actions
&lt;http://www.nationalarchives.gov.uk/odrl-profile/#actions&gt;
rdf:type owl:NamedIndividual , skos:Collection ;
skos:member odrl:readDescription ,
odrl:readDocument ;
skos:prefLabel "Actions for Rules"@en ;
skos:scopeNote "The National Archives ODRL Profile"@en .
### http://www.w3.org/ns/odrl/2/odrl-profile
odrl:odrl-profile
rdf:type owl:NamedIndividual , skos:Collection ;
skos:member odrl:readDescription , odrl:readDocument ;
skos:prefLabel "The National Archives ODRL Profile"@en .
### http://www.w3.org/ns/odrl/2/readDescription
odrl:readDescription
rdf:type owl:NamedIndividual , skos:Concept , odrl:Action ;
odrl:includedIn odrl:read ;
rdfs:isDefinedBy odrl: ;
rdfs:label "Read Description"@en ;
skos:definition "To read a record description." .
### http://www.w3.org/ns/odrl/2/readDocument
odrl:readDocument
rdf:type owl:NamedIndividual , skos:Concept , odrl:Action ;
odrl:includedIn odrl:read ;
rdfs:isDefinedBy odrl: ;
rdfs:label "Read Document"@en ;
skos:definition "To read a record document." .</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <source>[1] Public Records Act</source>
          <year>1958</year>
          ,
          <source>Public Records Act</source>
          <year>1958</year>
          ,
          <article-title>Government of the United Kingdom</article-title>
          ,
          <year>1958</year>
          . https://www.legislation.gov.uk/ukpga/Eliz2/6-7/51/contents[accessed:
          <fpage>20</fpage>
          .
          <fpage>06</fpage>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <source>[2] Public Records Act</source>
          <year>1967</year>
          ,
          <source>Public Records Act</source>
          <year>1967</year>
          ,
          <article-title>Government of the United Kingdom</article-title>
          ,
          <year>1967</year>
          . https://www.legislation.gov.uk/ukpga/1967/44/contents[accessed:
          <fpage>20</fpage>
          .
          <fpage>06</fpage>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <source>[3] Freedom of Information Act</source>
          <year>2000</year>
          ,
          <source>Freedom of Information Act</source>
          <year>2000</year>
          ,
          <article-title>Government of the United Kingdom</article-title>
          ,
          <year>2000</year>
          . https://www.legislation.gov.uk/ukpga/2000/36/contents[accessed:
          <fpage>20</fpage>
          .
          <fpage>06</fpage>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A.</given-names>
            <surname>Retter</surname>
          </string-name>
          , Catalogue Model Proposal,
          <source>The National Archives</source>
          ,
          <year>2020</year>
          . https://cdn.nationalarchives. gov.uk/documents/omega-catalogue
          <article-title>-model-proposal</article-title>
          .
          <source>pdf[accessed: 13.06</source>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Linked</given-names>
            <surname>Data</surname>
          </string-name>
          ,
          <source>Linked Data, W3C</source>
          ,
          <year>2006</year>
          . https://www.w3.org/DesignIssues/LinkedData[accessed:
          <fpage>28</fpage>
          .
          <fpage>06</fpage>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6] Records in Context - Ontology, Records in Context - Ontology, International Council on Archives,
          <year>2023</year>
          . https://www.ica.org/resource/records-in
          <string-name>
            <surname>-</surname>
          </string-name>
          contexts-ontology/[accessed:
          <fpage>13</fpage>
          .
          <fpage>06</fpage>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>T.</given-names>
            <surname>Wildi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Dubois</surname>
          </string-name>
          , The
          <string-name>
            <surname>Matterhorn RDF Data Model: Formalizing Archival Metadata With</surname>
            <given-names>SHACL</given-names>
          </string-name>
          ,
          <year>2019</year>
          . https://ipres2019.org/static/proceedings/iPRES2019.pdf#
          <source>page=271[accessed: 20.06</source>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Retter</surname>
          </string-name>
          ,
          <source>Omega Catalogue Data Model, The National Archives</source>
          ,
          <year>2020</year>
          . https://cdn.nationalarchives. gov.uk/documents/omega-catalogue
          <article-title>-data-model</article-title>
          .
          <source>pdf[accessed: 03.07</source>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Shapes</given-names>
            <surname>Constraint</surname>
          </string-name>
          <article-title>Language (SHACL), Shapes Constraint Language (SHACL)</article-title>
          ,
          <year>W3C</year>
          ,
          <year>2017</year>
          . https: //www.w3.org/TR/shacl/[accessed:
          <fpage>13</fpage>
          .
          <fpage>06</fpage>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>DCMI</given-names>
            <surname>Metadata</surname>
          </string-name>
          <article-title>Terms, DCMI Metadata Terms</article-title>
          , DCMI,
          <year>2024</year>
          . https://www.dublincore.org/ specifications/dublin-core/dcmi-terms/[accessed:
          <fpage>03</fpage>
          .
          <fpage>07</fpage>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>D.</given-names>
            <surname>Brickley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Miller</surname>
          </string-name>
          ,
          <source>FOAF Vocabulary Specification</source>
          <volume>0</volume>
          .
          <fpage>99</fpage>
          ,
          <year>2014</year>
          . http://xmlns.com/foaf/ spec/[accessed:
          <fpage>03</fpage>
          .
          <fpage>07</fpage>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Resource</given-names>
            <surname>Description</surname>
          </string-name>
          <article-title>Framework (RDF), Resource Description Framework (RDF)</article-title>
          ,
          <year>W3C</year>
          ,
          <year>2014</year>
          . https://www.w3.org/RDF/[accessed:
          <fpage>20</fpage>
          .
          <fpage>06</fpage>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <source>[13] ODRL Information Model 2.2, ODRL Information Model 2</source>
          .2,
          <issue>W3C</issue>
          ,
          <year>2018</year>
          . https://www.w3.org/TR/ odrl-model/[accessed:
          <fpage>13</fpage>
          .
          <fpage>06</fpage>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <source>[14] ODRL Vocabulary &amp; Expression</source>
          <volume>2</volume>
          .2,
          <string-name>
            <given-names>ODRL</given-names>
            <surname>Vocabulary</surname>
          </string-name>
          &amp;
          <article-title>Expression 2</article-title>
          .2,
          <issue>W3C</issue>
          ,
          <year>2018</year>
          . https://www. w3.org/TR/odrl-vocab/[accessed:
          <fpage>13</fpage>
          .
          <fpage>06</fpage>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <article-title>Working with open standards, Working with open standards, GOV</article-title>
          .UK,
          <year>2016</year>
          . https://www.gov.uk/ service-manual/technology/working-with
          <string-name>
            <surname>-</surname>
          </string-name>
          open-standards
          <source>[accessed: 13.06</source>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <source>[16] ODRL Information Model 2</source>
          .2:
          <string-name>
            <surname>Asset</surname>
            <given-names>Class</given-names>
          </string-name>
          ,
          <source>ODRL Information Model 2</source>
          .2:
          <string-name>
            <surname>Asset</surname>
            <given-names>Class</given-names>
          </string-name>
          ,
          <year>W3C</year>
          ,
          <year>2018</year>
          . https://www.w3.org/TR/odrl-model/#
          <source>asset[accessed: 13.06</source>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <source>[17] IPTC and Rights Expression Languages, IPTC and Rights Expression Languages, IPTC</source>
          ,
          <year>2018</year>
          . http://dev.iptc.
          <article-title>org/REL-IPTC-and-</article-title>
          <string-name>
            <surname>Rights-</surname>
          </string-name>
          Expression-
          <source>Languages[accessed: 13.06</source>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>Pentaho</given-names>
            <surname>Data</surname>
          </string-name>
          <string-name>
            <surname>Integration</surname>
          </string-name>
          ,
          <source>Pentaho data integration</source>
          ,
          <year>2024</year>
          . https://pentaho.com/products/ pentaho-data-integration/[accessed:
          <fpage>13</fpage>
          .
          <fpage>06</fpage>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <article-title>Jena Plugins for Pentaho Kettle, Jena Plugins for Pentaho Kettle, The National Archives</article-title>
          , UK,
          <year>2023</year>
          . https://github.com/nationalarchives/kettle-jena-plugins
          <source>[accessed: 13.06</source>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Apache</surname>
            <given-names>Jena</given-names>
          </string-name>
          :
          <article-title>Creating Jena models, Apache Jena: Creating Jena models, The Apache Software Foundation</article-title>
          . https://jena.apache.org/documentation/notes/model-factory.
          <source>html[accessed: 21.6</source>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>C. M. Keet</surname>
          </string-name>
          , Open World Assumption, Springer New York, New York, NY,
          <year>2013</year>
          , pp.
          <fpage>1567</fpage>
          -
          <lpage>1567</lpage>
          . URL: https://doi.org/10.1007/978-1-
          <fpage>4419</fpage>
          -9863-7_
          <fpage>734</fpage>
          . doi:
          <volume>10</volume>
          .1007/978-1-
          <fpage>4419</fpage>
          -9863-7_
          <fpage>734</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>Apache</given-names>
            <surname>Jena</surname>
          </string-name>
          <string-name>
            <given-names>SHACL</given-names>
            ,
            <surname>Apache Jena</surname>
          </string-name>
          <string-name>
            <surname>SHACL</surname>
          </string-name>
          ,
          <article-title>The Apache Software Foundation</article-title>
          . https://jena.apache. org/documentation/shacl/[
          <source>accessed: 21.6</source>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          <source>[23] ODRL Information Model 2</source>
          .2:
          <string-name>
            <given-names>Policy</given-names>
            <surname>Conflict</surname>
          </string-name>
          <string-name>
            <surname>Strategy</surname>
          </string-name>
          ,
          <source>ODRL Information Model 2</source>
          .2:
          <string-name>
            <given-names>Policy</given-names>
            <surname>Conflict</surname>
          </string-name>
          <string-name>
            <surname>Strategy</surname>
          </string-name>
          ,
          <year>W3C</year>
          ,
          <year>2018</year>
          . https://www.w3.org/TR/odrl-model/#
          <source>conflict[accessed: 21.06</source>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          <source>[24] ODRL Information Model 2</source>
          .2:
          <string-name>
            <given-names>ODRL</given-names>
            <surname>Profiles</surname>
          </string-name>
          ,
          <source>ODRL Information Model 2</source>
          .2:
          <string-name>
            <given-names>ODRL</given-names>
            <surname>Profiles</surname>
          </string-name>
          ,
          <year>W3C</year>
          ,
          <year>2018</year>
          . https://www.w3.org/TR/odrl-model/#
          <source>profile[accessed: 21.06</source>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>Web</given-names>
            <surname>Ontology</surname>
          </string-name>
          <article-title>Language (OWL), Web Ontology Language (OWL)</article-title>
          ,
          <year>W3C</year>
          ,
          <year>2012</year>
          . https://www.w3. org/OWL/[accessed:
          <fpage>21</fpage>
          .
          <fpage>06</fpage>
          .
          <year>2024</year>
          ].
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>