Skip to content

Commit

Permalink
added STAM-translate extension
Browse files Browse the repository at this point in the history
  • Loading branch information
proycon committed Oct 14, 2024
1 parent e92213d commit a20182e
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 5 deletions.
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,7 @@ The following are currently defined:
* [STAM-CSV](extensions/stam-csv) - Defines an alternative serialisation format using CSV.
* [STAM Query Language (STAMQL)](extensions/stam-query) - This STAM extension defines a query language that allows end-users to formulate and subsequently execute searches on a STAM model.
* [STAM-Transpose](extensions/stam-transpose) - This is an extension on top of STAM that allows linking identical textual parts across resources, which we call transposition. This extension defines a vocabulary and prescribes functionality enabled through this vocabulary.

Implementations *SHOULD* explicitly state which extensions they support.
* [STAM-Translate](extensions/stam-translate) - This is a more generic variant of transpositions, that allows relating any texts, even if not identical. It is useful for alignments of translations, corrections, normalisations, etc.. .This extension defines a vocabulary.

## Implementations

Expand Down
41 changes: 41 additions & 0 deletions extensions/stam-translate/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# STAM-Translate: Linking related text selections

## Introduction

This is an extension on top of STAM that allows linking arbitrary textual parts
(including across resources), which we call *translation*. This extension defines a
vocabulary and prescribes functionality enabled through this vocabulary. This
extension does not alter the underlying core data model.

This is a simpler and more generic variant of the [STAM transpose](../stam-transpose/) extension.
Whereas, transposition defines an exact mapping between any text selections, translations
are texts that are somehow related but where the textual content is not identical.
We use this term in a wide definition, so it covers not just natural language translation, but also things like
transliteration, text normalisation, spelling correction, etc..

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
interpreted as described in RFC 2119.

## Vocabulary

A **translation** is, like everything in STAM, just an annotation. Annotations
that describe translations are explicitly marked as being a translation by
the following key in the annotation dataset with identifier
``https://w3id.org/stam/extensions/stam-translate/``:

* `Translation` (type: `Null`) - Marks an annotation as being a transposition. A transposition *MUST* use a `DirectionalSelector` or `CompositeSelector`, with underneath an `TextSelector` to target two or more text selections directly.

In case the translation is a natural language translation, this extension
*RECOMMENDS* the use of the following key to identify the language:

* `lang` (type: `String`) - The value *MUST* be an [iso-639-3 language code](https://iso639-3.sil.org/code_tables/639/data).

## Functionality

STAM implementations implementing this extension do not need to provide any specific functionality.

## Limitations

Translations do not hold the same properties as transpositions do, i.e. you can not use them to transpose annotations over.
If you want to map equal text in different places, then use [transposigions (STAM-transpose extension)](../stam-transpose/README.md) instead.
7 changes: 4 additions & 3 deletions extensions/stam-transpose/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# STAM-Transpose: Linking identical text selections across resources
# STAM-Transpose: Linking identical text selections

## Introduction

This is an extension on top of STAM that allows linking identical textual parts
across resources, which we call *transposition*. This extension defines a
(including across resources), which we call *transposition*. This extension defines a
vocabulary and prescribes functionality enabled through this vocabulary. This
extension does not alter the underlying core data model.

Expand Down Expand Up @@ -180,4 +180,5 @@ transposed variant:
Transposition is by definition limited to relating text selections whilst
preserving their textual content unmodified. It *MUST NOT* be used in cases
where you want to relate text selections of a different nature, such as
translations, transliterations, normalisations or corrections.
translations, transliterations, normalisations or corrections. Use
[translations (STAM-translate extension)](../stam-translate/README.md) for those.

0 comments on commit a20182e

Please sign in to comment.