Open Stemmata Database
This repository contains an open source collection of historical text genealogies, in forms of tree-like graphs (stemma) for a variety of languages.
Contributing
Sending your contribution
You can contribute by sending us images and/or metadata and DOT files,
- by making a pull request on the main branch (preferred);
- by sending it to us via email.
If you wish to contribute, have a look at the examples folder:
It contains several cases:
- a minimal record:
- a simple case, but with very complete metadata: [./tree/dev/examples/Segre_1971_Roland]
- an intermediary case: [./tree/dev/examples/Paris_1872_Alexis]
- a full case with …
You can also read our more detailed Guidelines !
Organisation of a record
Actual data is stored in the data folder, and are sorted by linguistic code (e.g., fro
for Old French traditions; gmh
for Middle High German).
Each record is contained in a dedicated folder, and can contain up to three elements:
stemma.png
: scan from the source edition;metadata.txt
: metadata file about the stemmastemma.gv
: GraphViz DOT format file for the stemma.
Generating metadata and DOT files
The following resources can help you create the necessary files:
- Our form metadata creator: just fill up the form and get the txt content.
- Edotor: a free online DOT editor with graphical view.
DOT format is quite easy to master, and uses the following patterns:
a -> b
link from a to ba -> b [style="dashed"]
dashed link from a to b (contamination)alpha -> b
link from alpha to balpha[color="grey"]
color alpha in grey (for hypothetical nodes, i.e., not extant manuscripts);1 -> a
link from 1 (unnamed hypothetical node in the source) to a.
If you're hesitant, head over to the online editor for creating the file !
We use the following conventions for the DOT files:
- directed links (
->
, with exceptional undirected links if existing in the source indicated with[dir=none]
) - dashed lines for contamination (with
[style="dashed"]
) - grey color for hypothetical link (with
[color="grey"]
- numbers for unnamed nodes in the source.
Here is an (already complex) example file with output:
digraph {
# To refactor nodes, place the cursor left to a node name
omega -> b;
omega -> c;
c -> d;
c -> e;
omega -> 1;
1 -> a # use numbers for unlabelled nodes in the source stemma
1 -> aprime
b -> e [style="dashed"] # use "dashed" to indicate contamination
b -> c [dir=none, style="dashed"]; # use dir=none for the exception where an undirected link is existant.
# Hover over color names to get a color picker
# Grey color is used for hypothetical nodes; labels can be redefined if needed
1 [color="grey", label=""];
aprime[label="a'"] # We can use the label attribute to indicate the visual representation of a nodes' name
# It is common to use Greek letters for hypotetical nodes.
# We recommend naming them with a transliteration of their name in the Latin script ("alpha", "beta", etc.)
# Optionally, we can add the Greek letters as the label fot those nodes.
# Here is a list of those letters if you don't know how to type them on your keyboard:
# Α α, Β β, Γ γ, Δ δ, Ε ε, Ζ ζ, Η η, Θ θ, Ι ι, Κ κ, Λ λ, Μ μ, Ν ν, Ξ ξ, Ο ο, Π π, Ρ ρ, Σ σ, Τ τ, Υ υ, Φ φ, Χ χ, Ψ ψ, Ω ω
omega [color="grey", label="ω"];
}
Result:
License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.