1 package net.obsearch.index.knngraph;
2
3 import static org.junit.Assert.*;
4
5 import java.io.File;
6 import java.io.IOException;
7
8 import net.obsearch.index.utils.Directory;
9 import net.obsearch.index.utils.TUtils;
10
11 import org.junit.Test;
12 import org.neo4j.api.core.Direction;
13 import org.neo4j.api.core.EmbeddedNeo;
14 import org.neo4j.api.core.NeoService;
15 import org.neo4j.api.core.Node;
16 import org.neo4j.api.core.RelationshipType;
17 import org.neo4j.api.core.ReturnableEvaluator;
18 import org.neo4j.api.core.StopEvaluator;
19 import org.neo4j.api.core.Transaction;
20 import org.neo4j.api.core.Traverser;
21
22 import cern.colt.Arrays;
23
24
25 public class TestNeo {
26
27 public enum Types implements RelationshipType {
28 KNOWS
29 }
30
31
32 @Test
33 public void testBasic() throws IOException{
34 File dir = new File( TUtils.getTestProperties().getProperty(
35 "test.neo.location"));
36 Directory.deleteDirectory(dir);
37 assertTrue(!dir.exists());
38 assertTrue(dir.mkdirs());
39 NeoService neo = new EmbeddedNeo( dir.getAbsolutePath()) ;
40
41 Transaction tx = neo.beginTx();
42
43
44 try
45 {
46
47 Node n = neo.createNode();
48 n.setProperty("name", "n");
49 n.setProperty("smap", new byte[]{1,2,3});
50 Node n2 = neo.createNode();
51 n2.setProperty("name", "n2");
52 n2.setProperty("smap", new byte[]{4,5,6});
53
54 n.createRelationshipTo(n2, Types.KNOWS);
55 n2.createRelationshipTo(n, Types.KNOWS);
56
57
58
59 tx.success();
60
61 Traverser nodes = n.traverse(
62 Traverser.Order.BREADTH_FIRST,
63 StopEvaluator.END_OF_GRAPH,
64 ReturnableEvaluator.ALL,
65 Types.KNOWS,
66 Direction.OUTGOING );
67
68 for(Node k : nodes){
69 if(k.hasProperty("name")){
70 System.out.println(k.getProperty("name"));
71 System.out.println(Arrays.toString((byte[])k.getProperty("smap")));
72 }
73 }
74
75 }
76 finally
77 {
78 tx.finish();
79 neo.shutdown();
80 }
81
82
83 }
84
85 }