Introduction

Elmo is a role based Java persistent Bean pool developed by James Leigh and Peter Mika. It provides a simple API to access ontology oriented data inside a Sesame repository through concepts and behaviours that may have been designed and developed independently.

Elmo's provides a static typed interface to RDF properties within an RDF store. For example, the following code accesses FOAF properties from the RDF/XML file "foaf.rdf" and prints them to standard out.

ElmoModule module = new ElmoModule();
SesameManagerFactory factory = new SesameManagerFactory(module);
SesameManager manager = factory.createElmoManager();
File file = new File("foaf.rdf");
manager.getConnection().add(file, "", RDFFormat.RDFXML);
for (Person person : manager.findAll(Person.class)) {
    System.out.print("Name: ");
    System.out.print(person.getFoafNames());
}

With Elmo's role based interface and component oriented design, software becomes more flexible and allows for novel opportunities for developing and modularizing domain driven designs. The domain model is simplified into independent concerns that are mixed together for multi-dimensional, inter-operating, or integrated applications.

Elmo is a subject-oriented programming library that addresses common problems in traditional object-oriented designs. With Elmo, application design and development can: