In short: Alexandria is a text repository system in which you can store and edit documents. It is the reference implementation of TAG (Text-as-Graph), a flexible graph data model for text. TAG and Alexandria are under active development at the Research & Development group of the Humanities Cluster.
You may wonder, why use Alexandria if you already have a text editing tool? Well, if you'd like to carry out advanced text analysis, and you don't mind a little command-line work, Alexandria is the tool for you. If you're used to working with XML, you'll find it especially enlightening to work with a data model like TAG in which you can easily model overlapping structures, discontinuous elements, and nonlinear text without having to resort to workarounds.
- It is now possible, when a view other than the default view is active, to commit new and changed view definitions, and new tagml source files. Committing changes to tagml source files of existing documents is still only possible when the default view is active.
- Running
alexandria init
in your home directory is not allowed and will fail with an error message. alexandria status
will now only search one level deep in watched directories for files/directories that may be added.- When committing a view definition which is valid json, but does not contain at least one of the required fields
includeLayers
,excludeLayers
,includeMarkup
,excludeMarkup
, alexandria would silently accept this, producing an invalid view. This has been fixed: committing this view definition will not fail with an error message.
- query
- After a revert, the reverted file is now no longer shown as modified.
- It is now possible to run alexandria commands from any directory, provided one of its parent directories has been initialized.
- about
- add
- commit
- export-dot
- export-svg
- export-png
- export-xml
- The first markup is now always the root markup for the default layer, even if new layers are defined on that markup.
- This means that this first markup tag must correspond with the last closing markup tag, and suspending/resuming of this markup is not allowed.
Haentjens Dekker, Ronald. Invited talk at the Workshop on Scholarly Digital Editions, Graph Data-Models and Semantic Web Technologies, Université de Lausanne, 3 June 2019.
Below we explain how you can download and install Alexandria on your local machine, and what you need to operate it. We'll also provide links to a comprehensive tutorial and other helpful sites.
Keep in mind that both the TAG data model and the Alexandria implementation are under development. This means that by using Alexandria you will make a valuable contribution to the development process. We therefore encourage you to try it out and share your thoughts.
Alexandria is a command-line tool. In practice this means that it doesn't have a Graphical User Interface: you run Alexandria from your command line (sometimes also called the shell, the terminal, or the command prompt) and interact with it by typing out instructions in words and then hitting the Enter key. If you're unfamiliar with the command line, you'll find a good tutorial here or here.
Install Sublime Text 3, a cross-platform editor that has syntax highlighting for TAGML. We recommend you use it to view and create TAGML transcriptions; it makes your work a lot easier. Instructions on adding the Sublime package for TAGML syntax highlighting can be found here.
An up-to-date version of Alexandria can be downloaded from https://github.com/HuygensING/alexandria/releases/tag/2.4
Alternatively, you can build it yourself with
mvn package
The .zip in alexandria-markup-server/target
contains a lib
dir with the fat jar, a bin
dir with the alexandria scripts for linux and windows, and an example
dir.
Unpack the zip to a new directory of your choice. Remember the path to that directory. Now you have to make sure that your machine can always find the bin
directory that contains the Alexandria code when you call it. You have three options:
Open your .bash_profile. If you're on a Unix machine, you can type open -a "Sublime Text" ~/.bash_profile
in your terminal window. This will open your bash_profile in the Sublime Text editor (of course you can use an editor of your choice).
You can create an alias for Alexandria by writing alias alexandria="<path to alexandria>"
. For instance, your alias could say alias alexandria="/Users/alexandria-markup-server/bin/alexandria"
. Save and close your bash_profile. Before the alias works, you have to resource the bash_profile: type source ~/.bash_profile
in your terminal.
In your terminal window, type:
export PATH=$PATH:<path to the alexandria bin directory>
For example:
export PATH=$PATH:/Users/alexandria-markup-server/bin
if that's where you've stored Alexandria. You can check if it works by typing
echo $PATH
in your terminal window. It should return something like the following, with the path to Alexandria directory newly added at the end:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/alexandria-markup-server/bin/alexandria
If you don't want to change your path, you can create a softlink.
A soft link (also known as a symbolic link or symlink) consists of a special type of file that serves as a reference to another file or directory. You can create them on your command line:
$ ln -s {source-filename} {symbolic-filename}
For example:
$ ln -s /Users/alexandria-markup-server/bin/alexandria /usr/local/bin/alexandria
Verify if it works by running
$ ls -l /usr/local/bin/alexandria
Your output will look something like:
lrwxr-xr-x 1 veryv wheel 5 Mar 7 22:01 alexandria -> Users/alexandria-markup-server/bin/alexandria
Notice the ->
that indicates the link between the link name and the file.
If you'd like to get started right away, take a look at an overview of the commands with which you interact with Alexandria.
We also created a tutorial. The tutorial takes the form of a Jupyter Notebook. The notebook contains blocks of text and small snippets of code: commands that you give to your version of Alexandria. You can run these commands from within the notebook. The notebook, in other words, is a secure environment for you to play around with and get to know Alexandria.
-
Bleeker, Elli. 2018. “Adressing Ancient Promises: Text Modeling and Alexandria”. Invited talk at the DH-Kolloquium of the Berlin Brandenburgische Akademie der Wissenschaften, 2 November 2018. Slides.
-
Bleeker, Elli. 2018. "Advanced Text Modeling in Alexandria." Presentation for his Majesty the King of the Netherlands during his visit of the Royal Academy of Arts and Sciences in the Netherlands.
-
Haentjens Dekker, Ronald, Elli Bleeker, Bram Buitendijk, Astrid Kulsdom and David J. Birnbaum. 2018. “TAGML: A markup language of many dimensions.” Presented at Balisage: The Markup Conference 2018, Washington, DC, July 31 - August 3, 2018. In Proceedings of Balisage: The Markup Conference 2018. Balisage Series on Markup Technologies, vol. 21 (2018).
doi:https://doi.org/10.4242 BalisageVol21.HaentjensDekker01.
-
Bleeker, Elli, Bram Buitendijk, Ronald Haentjens Dekker, and Astrid Kulsdom. 2018. "Perspectives on Text. Synthesising Textual Knowledge". Presented at the international Computational Methods for Literary-Historical Textual Scholarship conference at De Montfort University, July 4th 2018.