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("http://pelagios.org/egds/01", "My EGD")
val annotation = Annotation("http://pelagios.org/egds/01/annotations/01", thing,
place = "http://pleiades.stoa.org/places/423025",
transcription = "ROMA")
Scalagios.writeAnnotations(annotatedThing, "data-file.ttl")
[TODO...]
[TODO...]
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
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.