Worked examples of the verb page content model, one per language (appendix to the verb feature docs).
English go
1. verb_lemmas
id
language
lemma
common
regular_overall
english_translation
4
en
go
true
false
to go
English uses the base form (“go”) as the lemma.
2. tenses
id
language
mood
tense_name
common_tense
40
en
Indicative
Present simple
true
41
en
Indicative
Past simple
true
42
en
Indicative
Future simple
true
43
en
Indicative
Present perfect
true
44
en
Indicative
Past perfect
true
45
en
Indicative
Future perfect
true
46
en
Imperative
Imperative
true
3. infinitives
id
verb_lemma_id
form
search_form
variant
sentences_matched
language
lemma
130
4
go
go
default
false
en
go
English infinitives have no variants, but the UI can render “to go” using the lemma.
search_form strips special characters for efficient matching.
4. verbals (participles and gerunds)
id
verb_lemma_id
type_key
gender
number
form
language
lemma
230
4
present_participle
NULL
NULL
going
en
go
231
4
past_participle
NULL
NULL
gone
en
go
English does not inflect participles for gender or number.
5. conjugations
id
verb_lemma_id
tense_id
person_seq
person_label
form
full_form
search_form
regular
negative
sentences_matched
language
lemma
mood
tense_name
360
4
40
1
I
go
I go
I go
false
false
false
en
go
Indicative
Present simple
361
4
40
3
he/she/it
goes
he goes
he goes
false
false
false
en
go
Indicative
Present simple
362
4
41
1
I
went
I went
I went
false
false
false
en
go
Indicative
Past simple
363
4
42
1
I
will go
I will go
I will go
false
false
false
en
go
Indicative
Future simple
364
4
43
1
I
have gone
I have gone
I have gone
false
false
false
en
go
Indicative
Present perfect
365
4
44
1
I
had gone
I had gone
I had gone
false
false
false
en
go
Indicative
Past perfect
366
4
45
1
I
will have gone
I will have gone
I will have gone
false
false
false
en
go
Indicative
Future perfect
367
4
46
2
(you)
go
go
go
false
false
false
en
go
Imperative
Imperative
Notes
English marks tense largely via auxiliaries (have, will) and irregular past forms (went).
These auxiliaries appear in full_form for the surface display, but may be tokenized separately if you later model auxiliary verbs.
Negation (“don’t go”, “won’t go”) could be handled as variants (negative=true) if desired, or left to a parsing layer.
6. sentences
id
language
sentence
verb_matched
1030
en
I go to work every day.
true
1031
en
He went home.
true
1032
en
I have gone to London twice.
true
1033
en
I will go tomorrow.
true
7. sentence_conjugations
id
sentence_id
conjugation_id
language
lemma
mood
tense_name
person_seq
person_label
conj_form
1530
1030
360
en
go
Indicative
Present simple
1
I
I go
1531
1031
362
en
go
Indicative
Past simple
3
he/she/it
he went
1532
1032
364
en
go
Indicative
Present perfect
1
I
I have gone
1533
1033
363
en
go
Indicative
Future simple
1
I
I will go
Cached fields enable fast queries without joins. See sentence_matching.md for matching details.
8. sentence_infinitives
id
sentence_id
infinitive_id
language
lemma
1630
(none in these)
(—)
(—)
(—)
Would appear for sentences like “I want to go now.” where the infinitive appears explicitly.
9. Explanation
Linguistic element
Example
Table representation
Base form
go
verb_lemmas
Infinitive
go (displayed as to go)
infinitives
Present participle
going
verbals(type_key='present_participle')
Past participle
gone
verbals(type_key='past_participle')
Present simple forms
I go, he goes
conjugations (tense_name='Present simple')
Past simple form
went
conjugations (tense_name='Past simple')
Perfect forms
have gone, had gone
conjugations + optional join to verbals('past_participle')
Sentence usage
I went home.
sentence_conjugations linking went to lemma go
10. Queries
-- All present-tense forms of "go"SELECTfull_form,person_labelFROMconjugationsWHERElanguage='en'ANDlemma='go'ANDtense_name='Present simple';-- All sentences containing "went"SELECTs.sentenceFROMsentencessJOINsentence_conjugationsscONsc.sentence_id=s.idWHEREsc.language='en'ANDsc.lemma='go'ANDsc.tense_name='Past simple';-- All participle formsSELECTformFROMverbalsWHERElanguage='en'ANDlemma='go';
How English fits the shared model
Feature
Implementation
Infinitive (“to go”)
infinitives.form='go', rendered with “to”.
Irregular past
Stored in conjugations.form='went'.
Past participle
verbals.form='gone'.
Continuous forms
Built from auxiliary be + verbals('present_participle').
Perfect forms
Built from auxiliary have + verbals('past_participle').
Negation (“don’t go”)
Optional negative flag or handled via parsing layer.
French aller
Perfect — here’s a worked French example showing exactly how each table (from lemma down to sentence link) would store data for aller, using realistic sample rows.
You can drop this section into your documentation after §5 or use it as a test fixture.
Example: French aller
Below we walk through how the single verb aller (“to go”) is represented in the database.
verb_lemmas
id
language
lemma
common
regular_overall
english_translation
1
fr
aller
true
false
to go
One record per base verb per language.
tenses
id
language
mood
tense_name
common_tense
10
fr
Indicatif
Présent
true
11
fr
Indicatif
Imparfait
true
12
fr
Indicatif
Passé composé
true
13
fr
Subjonctif
Présent
true
Each language/mood/tense pair appears once and is shared by many verbs.
infinitives
id
verb_lemma_id
form
search_form
variant
sentences_matched
language
lemma
100
1
aller
aller
default
false
fr
aller
Only one infinitive for aller. German verbs would have multiple variants (default, perfect).
search_form strips special characters for efficient matching.
verbals (participles and gerunds)
id
verb_lemma_id
type_key
gender
number
form
language
lemma
200
1
present_participle
NULL
NULL
allant
fr
aller
201
1
past_participle
m
sg
allé
fr
aller
202
1
past_participle
f
sg
allée
fr
aller
203
1
past_participle
m
pl
allés
fr
aller
204
1
past_participle
f
pl
allées
fr
aller
Gender and number allow correct agreement display in compound tenses.
conjugations (finite forms)
id
verb_lemma_id
tense_id
person_seq
person_label
form
full_form
search_form
regular
sentences_matched
language
lemma
mood
tense_name
300
1
10
1
je
vais
je vais
je vais
false
false
fr
aller
Indicatif
Présent
301
1
10
2
tu
vas
tu vas
tu vas
false
false
fr
aller
Indicatif
Présent
302
1
10
3
il/elle/on
va
il va
il va
false
false
fr
aller
Indicatif
Présent
303
1
10
4
nous
allons
nous allons
nous allons
false
false
fr
aller
Indicatif
Présent
304
1
10
5
vous
allez
vous allez
vous allez
false
false
fr
aller
Indicatif
Présent
305
1
10
6
ils/elles
vont
ils vont
ils vont
false
false
fr
aller
Indicatif
Présent
306
1
11
1
je
allais
j’allais
j allais
false
false
fr
aller
Indicatif
Imparfait
307
1
12
1
je
suis
je suis
je suis
false
false
fr
aller
Indicatif
Passé composé
form = raw morphological stem (e.g. suis),
full_form = surface with pronoun/elision (j'allais, je suis),
search_form = stripped for matching (e.g. j allais without apostrophe),
sentences_matched = has this conjugation been processed for sentence matching?
Compound forms like je suis allé(e) are composed dynamically:
conjugation.form = finite aux. (suis)
verbal.form = past participle (allé)
combined = je suis allé(e).
sentences
id
language
sentence
verb_matched
1000
fr
Je vais à l’école.
true
1001
fr
Nous sommes allés au cinéma.
true
sentence_conjugations
id
sentence_id
conjugation_id
language
lemma
mood
tense_name
person_seq
person_label
conj_form
1500
1000
300
fr
aller
Indicatif
Présent
1
je
je vais
1501
1001
307
fr
aller
Indicatif
Passé composé
1
je
je suis
Cached fields enable fast queries without joins. See sentence_matching.md for matching details.
sentence_infinitives
id
sentence_id
infinitive_id
language
lemma
1600
(none in example)
(—)
(—)
(—)
Used for sentences like “Il veut aller à Paris.” where the infinitive appears explicitly.
Summary of Relationships
VerbLemma (aller)
├── Infinitives → aller
├── Verbals → allant, allé/allée/allés/allées
└── Conjugations → vais, vas, va, allais, suis, ...
Sentences → linked via SentenceConjugations or SentenceInfinitives
Spanish ir
1. verb_lemmas
id
language
lemma
common
regular_overall
english_translation
5
es
ir
true
false
to go
The lemma is the base dictionary form, identical to the infinitive.
2. tenses
id
language
mood
tense_name
common_tense
50
es
Indicativo
Presente
true
51
es
Indicativo
Pretérito imperfecto
true
52
es
Indicativo
Pretérito perfecto simple
true
53
es
Indicativo
Futuro simple
true
54
es
Subjuntivo
Presente
true
55
es
Subjuntivo
Pretérito imperfecto
true
56
es
Imperativo
Afirmativo
true
57
es
Indicativo
Pretérito perfecto compuesto
true
Each row represents a unique (mood + tense) combination.
3. infinitives
id
verb_lemma_id
form
search_form
variant
sentences_matched
language
lemma
140
5
ir
ir
default
false
es
ir
Spanish infinitives have only one variant.
search_form strips special characters for efficient matching.
4. verbals (participles and gerunds)
id
verb_lemma_id
type_key
gender
number
form
language
lemma
240
5
present_participle
NULL
NULL
yendo
es
ir
241
5
past_participle
NULL
NULL
ido
es
ir
The participles are invariable — no gender or number agreement for ido, unlike French allé(e)(s).
5. conjugations
id
verb_lemma_id
tense_id
person_seq
person_label
form
full_form
search_form
regular
negative
sentences_matched
language
lemma
mood
tense_name
380
5
50
1
yo
voy
voy
voy
false
false
false
es
ir
Indicativo
Presente
381
5
50
2
tú
vas
vas
vas
false
false
false
es
ir
Indicativo
Presente
382
5
50
3
él/ella/usted
va
va
va
false
false
false
es
ir
Indicativo
Presente
383
5
50
4
nosotros
vamos
vamos
vamos
false
false
false
es
ir
Indicativo
Presente
384
5
50
5
vosotros
vais
vais
vais
false
false
false
es
ir
Indicativo
Presente
385
5
50
6
ellos/ellas/ustedes
van
van
van
false
false
false
es
ir
Indicativo
Presente
386
5
52
1
yo
fui
fui
fui
false
false
false
es
ir
Indicativo
Pretérito perfecto simple
387
5
51
1
yo
iba
iba
iba
false
false
false
es
ir
Indicativo
Pretérito imperfecto
388
5
53
1
yo
iré
iré
ire
false
false
false
es
ir
Indicativo
Futuro simple
389
5
54
1
yo
vaya
vaya
vaya
false
false
false
es
ir
Subjuntivo
Presente
390
5
55
1
yo
fuera
fuera
fuera
false
false
false
es
ir
Subjuntivo
Pretérito imperfecto
391
5
56
2
tú
ve
ve
ve
false
false
false
es
ir
Imperativo
Afirmativo
392
5
57
1
yo
he ido
he ido
he ido
false
false
false
es
ir
Indicativo
Pretérito perfecto compuesto
Notes
form = bare finite or auxiliary form; full_form = displayed text.
Compound tenses (e.g., he ido, había ido) are represented as a conjugation with the auxiliary haber; the participle ido is retrieved from verbals.
The irregularity of ir is reflected by regular=false.
6. sentences
id
language
sentence
verb_matched
1040
es
Voy al trabajo todos los días.
true
1041
es
Fui a Madrid el año pasado.
true
1042
es
He ido muchas veces.
true
1043
es
Espero que vaya mañana.
true
7. sentence_conjugations
id
sentence_id
conjugation_id
language
lemma
mood
tense_name
person_seq
person_label
conj_form
1540
1040
380
es
ir
Indicativo
Presente
1
yo
voy
1541
1041
386
es
ir
Indicativo
Pretérito perfecto simple
1
yo
fui
1542
1042
392
es
ir
Indicativo
Pretérito perfecto compuesto
1
yo
he ido
1543
1043
389
es
ir
Subjuntivo
Presente
1
yo
vaya
Cached fields enable fast queries without joins. See sentence_matching.md for matching details.
8. sentence_infinitives
id
sentence_id
infinitive_id
language
lemma
1640
(none in these)
(—)
(—)
(—)
Would appear for sentences like “Quiero ir ahora.” where the infinitive appears explicitly.
9. verbals in compound tenses
Type
Form
Usage
present_participle
yendo
Estoy yendo al supermercado.
past_participle
ido
He ido muchas veces.
These forms are referenced during rendering of compound tenses.
Estoy yendo (I am going) = conjugation for estar (present) + verbal(type_key='present_participle', form='yendo').
10. Queries
-- All indicative present forms of "ir"SELECTfull_form,person_labelFROMconjugationsWHERElanguage='es'ANDlemma='ir'ANDmood='Indicativo'ANDtense_name='Presente';-- All sentences containing a past simple formSELECTs.sentence,sc.matched_textFROMsentence_conjugationsscJOINsentencessONs.id=sc.sentence_idWHEREsc.language='es'ANDsc.lemma='ir'ANDsc.tense_name='Pretérito perfecto simple';
11. How Spanish fits the shared model
Feature
Implementation
Regular/irregular distinction
conjugations.regular=false for ir
Reflexive variants (irse)
future extension via lemma_variant or features JSONB
Compound tenses (he ido, había ido)
auxiliary in conjugations.full_form, participle in verbals('past_participle')
Subjunctive mood
separate tenses rows under mood='Subjuntivo'
Imperatives
mood='Imperativo', person_seq for second-person forms
Irregular verb; motion verb that takes auxiliary essere in compound tenses.
2. tenses
id
language
mood
tense_name
common_tense
60
it
Indicativo
Presente
true
61
it
Indicativo
Imperfetto
true
62
it
Indicativo
Passato prossimo
true
63
it
Indicativo
Futuro semplice
true
64
it
Congiuntivo
Presente
true
65
it
Imperativo
Afirmativo
true
(Extend as needed: Trapassato prossimo, Futuro anteriore, Congiuntivo imperfetto, etc.)
3. infinitives
id
verb_lemma_id
form
search_form
variant
sentences_matched
language
lemma
150
6
andare
andare
default
false
it
andare
4. verbals (participles and gerunds)
id
verb_lemma_id
type_key
gender
number
form
language
lemma
250
6
present_participle
NULL
NULL
andando
it
andare
251
6
past_participle
m
sg
andato
it
andare
252
6
past_participle
f
sg
andata
it
andare
253
6
past_participle
m
pl
andati
it
andare
254
6
past_participle
f
pl
andate
it
andare
Italian past participles agree in gender/number with the subject when the auxiliary is essere.
5. conjugations (finite forms)
id
verb_lemma_id
tense_id
person_seq
person_label
form
full_form
search_form
regular
negative
sentences_matched
language
lemma
mood
tense_name
400
6
60
1
io
vado
io vado
io vado
false
false
false
it
andare
Indicativo
Presente
401
6
60
2
tu
vai
tu vai
tu vai
false
false
false
it
andare
Indicativo
Presente
402
6
60
3
lui/lei
va
lui va
lui va
false
false
false
it
andare
Indicativo
Presente
403
6
60
4
noi
andiamo
noi andiamo
noi andiamo
false
false
false
it
andare
Indicativo
Presente
404
6
60
5
voi
andate
voi andate
voi andate
false
false
false
it
andare
Indicativo
Presente
405
6
60
6
loro
vanno
loro vanno
loro vanno
false
false
false
it
andare
Indicativo
Presente
406
6
61
1
io
andavo
io andavo
io andavo
false
false
false
it
andare
Indicativo
Imperfetto
407
6
62
1
io
sono
io sono
io sono
false
false
false
it
andare
Indicativo
Passato prossimo
408
6
63
1
io
andrò
io andrò
io andro
false
false
false
it
andare
Indicativo
Futuro semplice
409
6
64
1
che io
vada
che io vada
che io vada
false
false
false
it
andare
Congiuntivo
Presente
410
6
65
2
tu
vai / va’
vai / va’
vai va
false
false
false
it
andare
Imperativo
Afirmativo
Notes
form is the finite piece; full_form is the display with the subject label.
For compound tenses (Passato prossimo), form is the finite auxiliary (sono/sei/è/siamo/siete/sono); the participle comes from verbals and agrees with gender/number.
6. sentences
id
language
sentence
verb_matched
1050
it
Io vado al lavoro.
true
1051
it
Siamo andati al cinema.
true
1052
it
Domani andrò a Roma.
true
1053
it
Spero che tu vada bene.
true
7. sentence_conjugations
id
sentence_id
conjugation_id
language
lemma
mood
tense_name
person_seq
person_label
conj_form
1550
1050
400
it
andare
Indicativo
Presente
1
io
io vado
1551
1051
407
it
andare
Indicativo
Passato prossimo
4
noi
noi siamo
1552
1052
408
it
andare
Indicativo
Futuro semplice
1
io
io andrò
1553
1053
409
it
andare
Congiuntivo
Presente
1
che io
che io vada
Cached fields enable fast queries without joins. See sentence_matching.md for matching details.
8. sentence_infinitives
id
sentence_id
infinitive_id
language
lemma
1650
(none in these)
(—)
(—)
(—)
Would appear for sentences like “Voglio andare a casa.” where the infinitive appears explicitly.
10. How the compound forms assemble
Passato prossimo: conjugations.full_form (aux) + verbals.past_participle with agreement
Examples:
io sono andato / io sono andata
noi siamo andati / noi siamo andate
The auxiliary for andare is essere, so agreement is required. For verbs that take avere, agreement is usually not required unless a clitic object precedes.
11. Queries
-- All present-tense forms of "andare"SELECTfull_form,person_labelFROMconjugationsWHERElanguage='it'ANDlemma='andare'ANDmood='Indicativo'ANDtense_name='Presente'ORDERBYperson_seq;-- Sentences with "andare" in Passato prossimo (aux match)SELECTs.sentence,sc.matched_textFROMsentence_conjugationsscJOINsentencessONs.id=sc.sentence_idWHEREsc.language='it'ANDsc.lemma='andare'ANDsc.tense_name='Passato prossimo';-- Participles for agreement renderingSELECTgender,number,formFROMverbalsWHERElanguage='it'ANDlemma='andare'ANDtype_key='past_participle';
12. How Italian fits the shared model
Feature
Implementation
Irregular present forms (vado, vai, va, vanno)
conjugations.form values, regular=false
Compound tenses with essere
conjugations finite aux + verbals(past_participle)
Participial agreement
verbals(gender, number) rows
Subjunctive
tenses under mood='Congiuntivo'
Imperative (tu) forms including va’
stored in conjugations for mood='Imperativo'
Gerundio (andando)
verbals(type_key='present_participle') and combined with auxiliary in progressive constructions
Portuguese ir
1. verb_lemmas
id
language
lemma
common
regular_overall
english_translation
7
pt
ir
true
false
to go
Irregular verb; forms are partly suppletive (vou, fui, ido).
2. tenses
id
language
mood
tense_name
common_tense
70
pt
Indicativo
Presente
true
71
pt
Indicativo
Pretérito imperfeito
true
72
pt
Indicativo
Pretérito perfeito
true
73
pt
Indicativo
Futuro do presente
true
74
pt
Subjuntivo
Presente
true
75
pt
Subjuntivo
Pretérito imperfeito
true
76
pt
Imperativo
Afirmativo
true
77
pt
Indicativo
Pretérito perfeito composto
true
3. infinitives
id
verb_lemma_id
form
search_form
variant
sentences_matched
language
lemma
160
7
ir
ir
default
false
pt
ir
Portuguese infinitives may also appear as infinitivo pessoal (“irmos”, “irem”), but these can be modeled as conjugations under mood='Infinitivo pessoal' later if desired.
4. verbals (participles and gerunds)
id
verb_lemma_id
type_key
gender
number
form
language
lemma
260
7
present_participle
NULL
NULL
indo
pt
ir
261
7
past_participle
NULL
NULL
ido
pt
ir
The participle ido is invariable; Portuguese does not mark gender/number here.
5. conjugations
id
verb_lemma_id
tense_id
person_seq
person_label
form
full_form
search_form
regular
negative
sentences_matched
language
lemma
mood
tense_name
420
7
70
1
eu
vou
eu vou
eu vou
false
false
false
pt
ir
Indicativo
Presente
421
7
70
2
tu
vais
tu vais
tu vais
false
false
false
pt
ir
Indicativo
Presente
422
7
70
3
ele/ela
vai
ele vai
ele vai
false
false
false
pt
ir
Indicativo
Presente
423
7
70
4
nós
vamos
nós vamos
nos vamos
false
false
false
pt
ir
Indicativo
Presente
424
7
70
5
vós
ides
vós ides
vos ides
false
false
false
pt
ir
Indicativo
Presente
425
7
70
6
eles/elas
vão
eles vão
eles vao
false
false
false
pt
ir
Indicativo
Presente
426
7
71
1
eu
ia
eu ia
eu ia
false
false
false
pt
ir
Indicativo
Pretérito imperfeito
427
7
72
1
eu
fui
eu fui
eu fui
false
false
false
pt
ir
Indicativo
Pretérito perfeito
428
7
73
1
eu
irei
eu irei
eu irei
false
false
false
pt
ir
Indicativo
Futuro do presente
429
7
74
1
eu
vá
eu vá
eu va
false
false
false
pt
ir
Subjuntivo
Presente
430
7
75
1
eu
fosse
eu fosse
eu fosse
false
false
false
pt
ir
Subjuntivo
Pretérito imperfeito
431
7
76
2
tu
vai
vai
vai
false
false
false
pt
ir
Imperativo
Afirmativo
432
7
77
1
eu
tenho ido
eu tenho ido
eu tenho ido
false
false
false
pt
ir
Indicativo
Pretérito perfeito composto
Notes
Tenho ido (I have gone) is a compound tense: auxiliary ter in conjugations.form, participle ido in verbals.
Negation is handled at the sentence level or, optionally, by setting negative=true for não vou, não fui, etc.
Vou, vais, vai, etc., are irregular; regular=false.
6. sentences
id
language
sentence
verb_matched
1060
pt
Eu vou para casa.
true
1061
pt
Nós fomos ao mercado.
true
1062
pt
Eu tenho ido ao ginásio.
true
1063
pt
Espero que ela vá amanhã.
true
7. sentence_conjugations
id
sentence_id
conjugation_id
language
lemma
mood
tense_name
person_seq
person_label
conj_form
1560
1060
420
pt
ir
Indicativo
Presente
1
eu
eu vou
1561
1061
427
pt
ir
Indicativo
Pretérito perfeito
4
nós
nós fomos
1562
1062
432
pt
ir
Indicativo
Pretérito perfeito composto
1
eu
eu tenho ido
1563
1063
429
pt
ir
Subjuntivo
Presente
3
ela
vá
Cached fields enable fast queries without joins. See sentence_matching.md for matching details.
8. sentence_infinitives
id
sentence_id
infinitive_id
language
lemma
1660
(none in these)
(—)
(—)
(—)
Would appear for sentences like “Quero ir agora.” where the infinitive appears explicitly.
-- All indicative present forms of "ir"SELECTfull_form,person_labelFROMconjugationsWHERElanguage='pt'ANDlemma='ir'ANDmood='Indicativo'ANDtense_name='Presente'ORDERBYperson_seq;-- All compound tense forms (aux + participle)SELECTfull_formFROMconjugationsWHERElanguage='pt'ANDlemma='ir'ANDtense_nameLIKE'Pretérito perfeito composto';-- All participle or gerund formsSELECTtype_key,formFROMverbalsWHERElanguage='pt'ANDlemma='ir';
12. How Portuguese fits the shared model
Feature
Implementation
Suppletive irregular forms (vou, fui, ido)
regular=false; each form stored as-is in conjugations.form.
Compound tenses
Auxiliary (ter, haver) as form, participle from verbals('past_participle').
Subjunctive forms
Separate tenses with mood='Subjuntivo'.
Imperative
Stored in mood='Imperativo'.
Continuous (estou indo)
Auxiliary estar + verbals('present_participle').
Infinitivo pessoal
Future extension; can be stored as extra tenses if needed.