> For the complete documentation index, see [llms.txt](https://developers.laws.africa/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.laws.africa/tutorials/module-1-build-a-legislation-reader/introductory-concepts.md).

# Introductory concepts

Some key details before we build our legislation app.

### In this section

* Works and Expressions
* FRBR URIs

### Works and expressions

<figure><img src="https://4163728571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LrrJ5L0RJ3goKWzqKVC%2Fuploads%2F57E7Nh7eLnWMsmoDwfU1%2Fimage.avif?alt=media&amp;token=c8e68bdc-d44f-41bc-ba28-03219bf44e63" alt=""><figcaption></figcaption></figure>

A **work** is a piece of legislation.

It *does* include all the metadata concerning publication and other lifecycle events (commencements, amendments, and repeals).

It *does not* include the text and other content, because there can be more than one version of the content (depending on the language and date).

An **expression** is the content of a work, in a given language and at a given date.

A work can have multiple expressions. Most of the metadata on an expression is inherited from its work.

One key difference between a work and an expression is that an expression can have a different title from the work's, according to its language and date.

The language and date belong to the expression only.

{% hint style="info" %}
Read more about the terminology used by Laws.Africa in our [Terminology Guide](https://docs.laws.africa/getting-started/terminology-guide).
{% endhint %}

#### FRBR URI essentials

An FRBR URI uniquely identifies a work and an expression.

The FRBR URI is created using some core metadata of the work and expression.

Work-level FRBR URI example:

> `/akn/za/act/1996/93`

Because an expression inherits these core pieces of metadata from its work, an expression-level FRBR URI is the parent URI, plus the language and the date of the expression.

Expression-level FRBR URI examples:

> `/akn/za/act/1996/93/eng@1996-11-22`
>
> `/akn/za/act/1996/93/eng@2000-08-01`

In the above example, the expressions are the English-language versions, from 22 November 1996 onwards, and from 1 August 2000 onwards, of a South African national Act, 93 of 1996. The work is Act 93 of 1996, which can and does have multiple expressions.

While the work's title is the National Road Traffic Act, the expressions may have different titles. This is more common in the case of different language versions, although some pieces of legislation are renamed over time. In those cases, the older expressions will have the old title, and the work and the newer expressions will have the new one.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://developers.laws.africa/tutorials/module-1-build-a-legislation-reader/introductory-concepts.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
