Developer Workshop Outline

HIVE Home | Users | DevelopersHIVE TeamPublications
Workshops | Project Leaders | Vocabulary Partners

Block 1, HIVE overview, Participant Background

Workshop overview

  • Schedule
  • Interactive, less structure
  • Hands-on (work together)

Hive overview:

  1. The HIVE website (also known as hive-web) (HIVE 1) (HIVE 2) is primarily for demonstration purposes. The HIVE project is designed to be much more flexible.
  2. The HIVE Architecture consists of many technologies glued together to provide a framework for vocabulary services.

The structure of this workshop depends on the background of the people attending.

  1. What is your technical background?
    • Java
    • Tomcat/Webapps
    • RDF
    • Sesame
    • Lucene
  2. What are you most interested in getting out of this workshop?

Block 2, Using HIVE as a service

  1. The HIVE web application (HIVE 1) (HIVE 2)
  2. The HIVE REST services
  3. Activity: Writing code to call the hive-rs web services

Block 3, Installing and configuring HIVE services

Once you are accustomed to using HIVE as a service, you can install it on your own system. This allows more control over the vocabularies, and reduces the load on the central HIVE system.

  1. Downloading and installing hive-rs
  2. Configuration
    1. Structure of the configuration files
    2. Adding a new vocabulary, LTER
  3. Activity: Play with the web services that have been installed — does everything work with the new vocabulary?

Block 4, Using hive-core as a library

See sample code in the doc/sampleCode directory

The actual API classes are located in edu.unc.ils.mrc.hive.api

For example:

javac -Djava.ext.dirs=/home/hive-rs/WebRoot/WEB-INF/lib
java  -Djava.ext.dirs=/home/hive-rs/WebRoot/WEB-INF/lib -cp . SimpleHiveTest

Activity: Write a simple Java class that allows the user to query for a given term

Activity: Write a Java class that can read a text file and call the tagger.

Block 5, Understanding HIVE’s internals

  1. HIVE Architecture
  2. Details of hive-core
    1. General code layout
    2. Tracing flow of control for a simple term lookup (from command line)
  3. Details of hive-web
    1. Servlet structure and Google Web Toolkit
  4. Details of hive-rs

Block 6, HIVE supporting technologies

  1. Lucene and the structure of the Lucene index (Luke)
  2. Sesame and structure of the Sesame index (SPARQLmore SPARQL)
  3. Activity: Using SPARQL to query information from Sesame
  4. Details of KEA and automatic processing

Block 7, Developing and customizing HIVE for your own needs

  1. Obtaining Vocabularies
  2. Converting vocabularies to SKOS
  3. LTER sample services
  4. Pro/con discussion: hive-rs vs. hive-core library vs. hive-web
  5. Brainstorm applications that can benefit from HIVE, discuss how they might be implemented