Skip to content

pelagios/scalagios

Repository files navigation

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.

About

A utility library for working with Pelagios data on the JVM, written in Scala

Resources

Stars

Watchers

Forks

Packages

No packages published