Skip to content
Henry Story edited this page Jul 4, 2017 · 21 revisions

banana-rdf is a library for RDF, SPARQL and Linked Data technologies in Scala.

It can be used with existing libraries without any added cost. There is no wrapping involved: you manipulate directly the real objects. We currently support Jena, Sesame and Plantain, a pure Scala implementation.

With banana-rdf, you get Diesel, a nice DSL to build and navigate within pointed graphs (graphs with a pointer to an inner node). You also get an abstraction for graph stores (GraphStore), which do not have to be SPARQL engines (SparqlEngine). Of course, you can serialize and deserialize most of the RDF syntaxes as well as JSON-LD (RDFa will come soon) read more about features here

Documentation

Main features

Using banana-rdf

Scripting RDF with the Ammonite shell

Making a SPARQL request

Writing and reading RDF files

Working with RDF graphs

Reading and writing classes to RDF

Hacking banana-rdf

Getting started

Core concepts

Videos

Two presentations at Scala Conferences should help get you going.

An overview of RDF and Linked Data, its uses and some core concepts of banana-rdf were given at Scala-eXchange 2014 (slides here in pdf)

skillsmatter video: building a secure social web using scala and scala-js

The code to illustrate the concepts in this video are in the Scripting-with-Ammonite wiki page.

Alexandre Bertails dug much deeper into the structure of banana-rdf at his talk at ScalaDays 2015 in San Francisco.

Interacting with the Web of data in Scala

Powered by Banana-RDF

See Powered by Banana-RDF