A utility library for working with Pelagios data on the JVM, written in Scala
Scala Java HTML
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
project
scalagios-core
scalagios-gazetteer
scalagios-legacy
scalagios-tools
test-data
.gitignore
build.sbt
gpl.txt
readme.md

readme.md

Scalagios

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

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")

scalagios-gazetteer

[TODO...]

scalagios-tools

[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

scalagios-legacy

  • 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!

License

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