package esl.cuenet.ranking; 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.kernel.EmbeddedGraphDatabase; import java.io.File; public class EENTests { private static String directory = "/data/graph_db/tests"; private Logger logger = Logger.getLogger(EENTests.class); @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); } @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 createSimpleEEN() { GraphDatabaseService graphDb = new EmbeddedGraphDatabase( directory ); EventEntityNetwork network = new PersistentEventEntityNetwork( graphDb ); URINode n1 = network.createNode(); n1.setProperty("name", "Agatha"); URINode n2 = network.createNode(); n2.setProperty("name", "Poirot"); URINode n3 = network.createNode(); n3.setProperty("name", "Marple"); n1.createEdgeTo(n2); n1.createEdgeTo(n3); n2.createEdgeTo(n3); n3.createEdgeTo(n2); logger.info("n1 = " + n1.getProperty("name")); logger.info("n2 = " + n2.getProperty("name")); logger.info("n3 = " + n3.getProperty("name")); for (TypedEdge e: n1.getAllRelationships()) { logger.info(e.getStartNode().getProperty("name") + " => " + e.getEndNode().getProperty("name")); } } @Test public void createSimpleEENWithIndex() { GraphDatabaseService graphDb = new EmbeddedGraphDatabase( directory ); EventEntityNetwork network = new PersistentEventEntityNetwork( graphDb ); URINode n1 = network.createNode(); n1.setProperty("name", "Agatha"); URINode n2 = network.createNode(); n2.setProperty("name", "Poirot"); URINode n3 = network.createNode(); n3.setProperty("name", "Marple"); n1.createEdgeTo(n2); n1.createEdgeTo(n3); n2.createEdgeTo(n3); n3.createEdgeTo(n2); logger.info("n1 = " + n1.getProperty("name")); logger.info("n2 = " + n2.getProperty("name")); logger.info("n3 = " + n3.getProperty("name")); TextIndex sample = network.textIndex("sample"); sample.put(n1, "name", n1.getProperty("name")); sample.put(n2, "name", n2.getProperty("name")); sample.put(n2, "fictional", "true"); sample.put(n3, "name", n3.getProperty("name")); sample.put(n3, "fictional", "true"); URINode u = sample.lookup("name", "Agatha"); logger.info("u = " + u.getProperty("name")); } }