Distribution

License

OpenRDF Elmo is licensed under the BSD license and as such is free to use and modify as stated below.

Copyright (c) 2005-2008, James Leigh All rights reserved, unless otherwise specified.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Installation

Elmo stores all persistent data in a Sesame repository store. Sesame supports interchangeable repository stores. The one discussed in this user guide, MemoryStore, is a self-managed library and does not use a database server. The MemoryStore stores all values in memory and can save values to disk in a configured directory, it is suitable for storing 1 million values with half a gigabyte of memory. The NativeStore is another store that can scale much higher and stores values in the local file system under a configured directory. Please consult the Sesame User Guide for more details on backing RDF stores.

To use Elmo the following jars must be included in the class-path along with their dependencies.

elmo-1.4.jar

Includes the API, composite engine, core behaviours, Sesame repository decorators, manager, and integration classes for Spring and Tapestry.

Elmo 1.4 depends on the following libraries:

Elmo also ships with the following optional jars.

elmo-{ns}.jar

Contains Elmo concepts for popular ontologies; just drop into your class-path and start using the concepts listed in the javadocs.

elmo-codegen.jar

Self executable jar to create your own roles and ontologies. This jar has additional dependencies on commons-cli and optionally groovy, asm, and antrl if the elmo:groovy annotation is used.

elmo-scutter.jar

Contains an RDF crawler that follows rdfs:seeAlso links in RDF documents.

elmo-scutter-webapp.war

Ready-to-deploy war file (downloaded separately) containing a web interface to the RDF crawler.

elmo-smusher.jar

Self executable jar to find equivalent instances in large sets of data. This jar has additional dependencies on commons-codec and commons-httpclient.

elmo-examples.war

Ready-to-deploy war file (downloaded separately) containing three example applications and all needed dependencies for use within a J2EE server.

Elmo and Sesame can be downloaded from openRDF.org and are also available as maven artifacts in the maven repository http://repo.aduna-software.org/maven2/releases . Below is a extract from a maven pom.xml.

<dependencies>
  <dependency>
    <groupId>org.openrdf.elmo</groupId>
    <artifactId>elmo-sesame</artifactId>
    <version>1.4</version>
  </dependency>
  <dependency>
    <groupId>org.openrdf.sesame</groupId>
    <artifactId>sesame-runtime</artifactId>
    <version>2.2.3</version>
  </dependency>
</dependencies>
<repositories>
  <repository>
    <id>aduna-opensource.releases</id>
    <name>Aduna Open Source - Maven releases</name>
    <url>http://repo.aduna-software.org/maven2/releases</url>
  </repository> 
</repositories>