As an anonymous user, you can only add new data. If you would like to also modify existing data, please create an account and indicate your languages on your user page.

User:Kipcool/Inflexions

From OmegaWiki
< User:Kipcool
Revision as of 12:19, 28 February 2011 by Kipcool (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

There are various types of inflexions, mainly declensions, genders and conjugations

Inflexions are expressions (?)

Each inflexion should allow to indicate its pronunciation.

It has to allow that some inflexions do not exist (verb "to rain", "you rain??"), and for some others, there can be alternatives (I don't have an example right now)

Contents

[edit] Language with no inflexions

Some very nice languages have no inflexion. This is the case for Mandarin (I'm sure) and Japanese (I think)

[edit] declensions and genders

They often work together.

[edit] Adjective

In English, it is a vector : comparative, superlative

In French, it is a table : column are singular/plural, rows are masculine/feminine

In German, it is a vector : komparativ, superlativ

[edit] Noun

In English, it is a vector : singular, plural

In French, it is a vector : singular, plural

In German, it is a table: columns are singular/plural, rows are Nominativ, Akkusativ, Dativ, Genitif.

[edit] Conjugation of Verbs

In French, See emboiter

In German, see denken


[edit] SQL implementation

[edit] Solution 1 that is not so great

In principle, an inflexion is a given expression (spelling e.g. "ate" + lang e.g. "English") that is attached to a syntrans (expression + definition, e.g. "eat" as a verb) for a certain kind of inflexion (e.g. "simple past"), which is a dm.

So a simple inflexion table could look like:

inflexion_id syntrans_id definedmeaning_id
(inflexion_type)
expression_id
1 =>eat(verb) =>simple past =>ate

In principle, this works. The practical problems are:

  • how to group inflexions that belong together, e.g. comparative, superlative ; or all declensions of a given word
  • how to display inflexions as a table (German declensions, conjugations)
  • how to reuse inflexions, so that if "be" has 2 definitions, the same inflexions can be attached to both instead of defining it for each ( !! sometimes, different inflexions are needed for the same expression with different meanings).

[edit] Solution 2

So, instead of a syntrans linked to one inflexion, we can imagine a syntrans linked to a table of inflexions.

syntrans_inflexion_id syntrans_id inflexion_set_id
1 =>eat(verb) 42

With this system, to different definitions of the same verb "eat" can be linked to the same inflexion_set.

Then we need to define inflexion_values which links to the expression_id which represent the actual inflexions (ate, eaten, etc.). A given inflexion (inflexion_id) belongs to a set/table of inflexions (inflexion_set_id), and the name of this inflexion is given by (inflexion_names_id)

inflexion_id inflexion_set_id inflexion_names_id table_number column row expression_id
XXX 42 8 1 1 1 => ate
XXX 42 8 1 2 1 => eaten

And we need to define inflexion_names which gives the names of the inflexions.

name_id inflexion_names_id table_number type (col, row, title) position definedmeaning_id
XXX 8 1 title 0 =>conjugation
XXX 8 1 col 1 =>simple past
XXX 8 1 col 2 =>past participle

The rows and column define a table. A position 0 gives the title of the table. In the case of conjugation, the conjugation of a verb is a set of tables, each table having a name. For example, French:

  • table 1 = indicatif
  • table 2 = subjonctif
  • table 1 rows = premiere personne du singulier , deuxieme personne du singulier, ...
  • table 1 columns = present, passé composé, imparfait, etc.

The last column "overview" gives the possibility to have a summarized inflexion table containing only some important inflexions. For example in German there are small tables http://de.wiktionary.org/wiki/essen and full tables http://de.wiktionary.org/wiki/essen_%28Konjugation%29

[edit] Solution 2 with German declension

value_id inflexion_set_id inflexion_names_id table_number column row expression_id
1 42 8 1 1 1 =>Aufruhr
2 42 8 1 1 2 =>Aufruhrs
3 42 8 1 1 3 =>Aufruhr
4 42 8 1 1 4 =>Aufruhr
5 42 8 1 2 1 =>Aufruhre
6 42 8 1 2 2 =>Aufruhre
7 42 8 1 2 3 =>Aufruhren
8 42 8 1 2 4 =>Aufruhre

Alternatively, it could be written this way, which would then allow to move columns/rows around more easily:

value_id inflexion_set_id name_id
(col ?)
name_aux_id
(row? or null)
expression_id
1 42 2 4 =>Aufruhr
2 42 2 5 =>Aufruhrs
3 42 2 6 =>Aufruhr
4 42 2 7 =>Aufruhr
5 42 3 4 =>Aufruhre
6 42 3 5 =>Aufruhre
7 42 3 6 =>Aufruhren
8 42 3 7 =>Aufruhre


And we need to define inflexion_names which gives the names of the inflexions.

name_id inflexion_names_id table_number type (col, row, title) position definedmeaning_id
1 8 1 title 0 =>declension
2 8 1 col 1 =>singular
3 8 1 col 2 =>plural
4 8 1 row 1 =>nominative
5 8 1 row 2 =>genitive
6 8 1 row 3 =>dative
7 8 1 row 4 =>accusative

And in the annotation table, we have

  • annotation_id = XXXX
  • annotation type = inflexion
  • depends on lang = German
  • depends on pos = noun
Personal tools
Namespaces

Variants
Actions
Navigation
Contributing
Toolbox
  • What links here
  • Related changes
  • User contributions
  • Logs
  • Special pages
  • Printable version
In other languages