import java.util.TreeMap;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import edu.unc.ils.mrc.hive.api.impl.elmo.SKOSServerImpl;
import edu.unc.ils.mrc.hive.api.SKOSConcept;
import edu.unc.ils.mrc.hive.api.SKOSSearcher;
import edu.unc.ils.mrc.hive.api.SKOSServer;
import edu.unc.ils.mrc.hive.api.SKOSScheme;
/**
A simple class to demonstrate basic HIVE method calls.
**/
public class SimpleHiveTest {
public static final String TEST_TERM="activity";
public static void main(String[] args) {
// set up the basic HIVE objects
SKOSServer skosServer = new SKOSServerImpl("/Users/ryan/lib/hive-mrc/trunk/hive-core/conf/vocabularies");
SKOSSearcher searcher = skosServer.getSKOSSearcher();
// for each available vocabulary...
TreeMap<String, SKOSScheme> vocabularies = skosServer.getSKOSSchemas();
Set<String> keys = vocabularies.keySet();
Iterator<String> it = keys.iterator();
while (it.hasNext()) {
SKOSScheme voc = vocabularies.get(it.next());
// list some basic properties
System.out.println("NAME: " + voc.getName());
System.out.println("\t LONG NAME: " + voc.getLongName());
System.out.println("\t NUMBER OF CONCEPTS: "
+ voc.getNumberOfConcepts());
// find a test term and list its properties
List<SKOSConcept> ranking = searcher.searchConceptByKeyword(TEST_TERM);
System.out.println("Results in SKOSServer: " + ranking.size());
for (SKOSConcept c : ranking) {
System.out.println("PrefLabel: " + c.getPrefLabel());
String uri = c.getQName().getNamespaceURI();
String lp = c.getQName().getLocalPart();
System.out.println("\t URI: " + uri + " Local part: " + lp);
}
System.out.println();
}
}
}