Skip to content
A utility library for working with Pelagios data on the JVM, written in Scala
Scala Java HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Scalagios is a collection of utilities for working with data from the PELAGIOS project. Primarily, Scalagios provides libraries for use with your own Java Virtual Machine-based software. But there are also a few command-line tools for elementary data processing tasks.

Scalagios consists of four sub-projects:

  • scalagios-core. Base functionality for handling Pelagios data in your own JVM applications.
  • scalagios-gazetteer. A utility for setting up simple Lucene-based cross-gazetteer search infrastructure.
  • scalagios-tools. Command-line tools based on Scalagios.
  • scalagios-legacy. Helpers to process and convert legacy (OAC-based) annotations from Pelagios project phases 1 & 2.

Scalagios is written in the Scala programming language.


scalagios-core provides most of the base functionality needed to work with Pelagios data in your own JVM-based applications. It includes a convenient programming API based on Pelagios' domain model primitives: Annotations, AnnotatedThings, Places, Locations, etc., and provides utilities to read and write Pelagios annotation and gazetteer data to and from RDF.

Reading Pelagios RDF data from a file:

val data: Iterable[AnnotatedThing] = Scalagios.readAnnotations("data-file.ttl")

data.foreach(thing => {
  thing.annotations.foreach(annotation => {
    // Do something with annotations

Writing Pelagios RDF data to a file:

val thing = AnnotatedThing("", "My EGD")

val annotation = Annotation("", thing, 
                            place = "",
                            transcription = "ROMA")

Scalagios.writeAnnotations(annotatedThing, "data-file.ttl")





Quick intro:

  • you need to have the Java 1.6 or 1.7 JDK (not just JRE!) installed on your machine
  • install SBT - it should be sufficient to download and unzip (optionally, add the SBT folder to your system path to make the sbt command globally accessible.
  • to convert text to Recogito-compliant CSV run sbt tools/run and pick the 'TextToCSV' tool
  • note that the build will take a while when you run it the first time


  • utilities to work with Pelagios "legacy data"
  • graph database I/O utilities based on Tinkerpop Blueprints

Developer Information

Scalagios is written in Scala and built with SBT.

  • To build the sub-project libraries, run sbt package.
  • To run the unit tests, use sbt test
  • To generate an Eclipse project for each sub-project, run sbt eclipse.
  • To generate ScalaDoc, run sbt doc.

Note: dependency download may take a while the first time you build the project!


Scalagios is licensed under the GNU General Public License v3.0.

You can’t perform that action at this time.