package esl.cuenet.ranking; import com.hp.hpl.jena.ontology.OntModel; import com.hp.hpl.jena.rdf.model.ModelFactory; import com.hp.hpl.jena.rdf.model.Statement; import com.hp.hpl.jena.rdf.model.StmtIterator; import esl.cuenet.ranking.network.NeoOntologyImporter; import esl.cuenet.ranking.network.OntProperties; import esl.cuenet.ranking.network.PersistentEventEntityNetwork; import esl.system.SysLoggerUtils; import org.apache.commons.io.FileUtils; import org.apache.log4j.Logger; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.NotFoundException; import org.neo4j.graphdb.Transaction; import org.neo4j.kernel.EmbeddedGraphDatabase; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.util.HashSet; import java.util.Random; public class OntImportTests { private static String directory = "/data/graph_db/tests"; private Logger logger = Logger.getLogger(NeoGraphTest.class); private static OntModel model = null; @BeforeClass public static void setUp() { SysLoggerUtils.initLogger(); // System.out.println("Deleting Files in " + directory); // // File[] files = (new File(directory)).listFiles(); // if (files == null) files = new File[]{}; // for (File file: files) FileUtils.deleteQuietly(file); model = ModelFactory.createOntologyModel(); try { model.read(new FileReader("/home/arjun/Documents/Dropbox/Ontologies/cuenet-main/cuenet-main.owl"), "http://www.semanticweb.org/arjun/cuenet-main.owl"); } catch (FileNotFoundException e) { e.printStackTrace(); } } // @AfterClass // public static void tearDown() { // File[] files = (new File(directory)).listFiles(); // if (files == null) files = new File[]{}; // for (File file: files) FileUtils.deleteQuietly(file); // } @Test public void importTest() { GraphDatabaseService graphDb = new EmbeddedGraphDatabase( directory ); EventEntityNetwork network = new PersistentEventEntityNetwork( graphDb ); Transaction tx = graphDb.beginTx(); try { NeoOntologyImporter importer = new NeoOntologyImporter( model ); importer.loadIntoGraph(network); tx.success(); } catch (Exception e) { tx.failure(); logger.error("Exception = " + e.getLocalizedMessage()); } finally { tx.finish(); graphDb.shutdown(); } graphDb = new EmbeddedGraphDatabase( directory ); try { logger.info(" ---------------------------------- "); logger.info(" URIs "); logger.info(" ---------------------------------- "); Iterable<Node> nodes = graphDb.getAllNodes(); HashSet<String> uriSet = new HashSet<String>(); int i = 0; for (Node n: nodes) { try { logger.info((++i) + " " + n.getProperty(OntProperties.ONT_URI)); uriSet.add((String) n.getProperty(OntProperties.ONT_URI)); } catch (NotFoundException e) { logger.info(e.getMessage()); } } logger.info("uriSet.size() = " + uriSet.size()); } catch (Exception e) { logger.info("Exception = " + e.getMessage()); } finally { graphDb.shutdown(); } } }