Search in sources :

Example 66 with Node

use of org.neo4j.graphdb.Node in project neo4j by neo4j.

the class TestNeo4jCacheAndPersistence method testAddCacheCleared.

@Test
public void testAddCacheCleared() {
    Node nodeA = getGraphDb().createNode();
    nodeA.setProperty("1", 1);
    Node nodeB = getGraphDb().createNode();
    Relationship rel = nodeA.createRelationshipTo(nodeB, MyRelTypes.TEST);
    rel.setProperty("1", 1);
    commit();
    newTransaction();
    nodeA.createRelationshipTo(nodeB, MyRelTypes.TEST);
    int count = 0;
    for (Relationship relToB : nodeA.getRelationships(MyRelTypes.TEST)) {
        count++;
    }
    assertEquals(2, count);
    nodeA.setProperty("2", 2);
    assertEquals(1, nodeA.getProperty("1"));
    rel.setProperty("2", 2);
    assertEquals(1, rel.getProperty("1"));
    // trigger empty load
    getGraphDb().getNodeById(nodeA.getId());
    getGraphDb().getRelationshipById(rel.getId());
    // apply COW maps
    commit();
    newTransaction();
    count = 0;
    for (Relationship relToB : nodeA.getRelationships(MyRelTypes.TEST)) {
        count++;
    }
    assertEquals(2, count);
    assertEquals(1, nodeA.getProperty("1"));
    assertEquals(1, rel.getProperty("1"));
    assertEquals(2, nodeA.getProperty("2"));
    assertEquals(2, rel.getProperty("2"));
}
Also used : Node(org.neo4j.graphdb.Node) Relationship(org.neo4j.graphdb.Relationship) Test(org.junit.Test)

Example 67 with Node

use of org.neo4j.graphdb.Node in project neo4j by neo4j.

the class TestNeo4jCacheAndPersistence method testSameTxWithArray.

@Test
public void testSameTxWithArray() {
    commit();
    newTransaction();
    Node nodeA = getGraphDb().createNode();
    Node nodeB = getGraphDb().createNode();
    Relationship relA = nodeA.createRelationshipTo(nodeB, MyRelTypes.TEST);
    nodeA.setProperty(arrayKey, array);
    relA.setProperty(arrayKey, array);
    assertTrue(nodeA.getProperty(arrayKey) != null);
    assertTrue(relA.getProperty(arrayKey) != null);
    relA.delete();
    nodeA.delete();
    nodeB.delete();
}
Also used : Node(org.neo4j.graphdb.Node) Relationship(org.neo4j.graphdb.Relationship) Test(org.junit.Test)

Example 68 with Node

use of org.neo4j.graphdb.Node in project neo4j by neo4j.

the class TestNeo4jCacheAndPersistence method testNodeMultiRemoveProperty.

@Test
public void testNodeMultiRemoveProperty() {
    Node node = getGraphDb().createNode();
    node.setProperty("key0", "0");
    node.setProperty("key1", "1");
    node.setProperty("key2", "2");
    node.setProperty("key3", "3");
    node.setProperty("key4", "4");
    newTransaction();
    node.removeProperty("key3");
    node.removeProperty("key2");
    node.removeProperty("key3");
    newTransaction();
    assertEquals("0", node.getProperty("key0"));
    assertEquals("1", node.getProperty("key1"));
    assertEquals("4", node.getProperty("key4"));
    assertTrue(!node.hasProperty("key2"));
    assertTrue(!node.hasProperty("key3"));
    node.delete();
}
Also used : Node(org.neo4j.graphdb.Node) Test(org.junit.Test)

Example 69 with Node

use of org.neo4j.graphdb.Node in project neo4j by neo4j.

the class TestRelationship method testSimple2.

@Test
public void testSimple2() {
    Node node1 = getGraphDb().createNode();
    Node node2 = getGraphDb().createNode();
    for (int i = 0; i < 3; i++) {
        node1.createRelationshipTo(node2, MyRelTypes.TEST);
        node1.createRelationshipTo(node2, MyRelTypes.TEST_TRAVERSAL);
        node1.createRelationshipTo(node2, MyRelTypes.TEST2);
    }
    allGetRelationshipMethods(node1, Direction.OUTGOING);
    allGetRelationshipMethods(node2, Direction.INCOMING);
    newTransaction();
    allGetRelationshipMethods(node1, Direction.OUTGOING);
    allGetRelationshipMethods(node2, Direction.INCOMING);
    node1.getRelationships(MyRelTypes.TEST, Direction.OUTGOING).iterator().next().delete();
    node1.getRelationships(MyRelTypes.TEST_TRAVERSAL, Direction.OUTGOING).iterator().next().delete();
    node1.getRelationships(MyRelTypes.TEST2, Direction.OUTGOING).iterator().next().delete();
    node1.createRelationshipTo(node2, MyRelTypes.TEST);
    node1.createRelationshipTo(node2, MyRelTypes.TEST_TRAVERSAL);
    node1.createRelationshipTo(node2, MyRelTypes.TEST2);
    allGetRelationshipMethods(node1, Direction.OUTGOING);
    allGetRelationshipMethods(node2, Direction.INCOMING);
    newTransaction();
    allGetRelationshipMethods(node1, Direction.OUTGOING);
    allGetRelationshipMethods(node2, Direction.INCOMING);
    for (Relationship rel : node1.getRelationships()) {
        rel.delete();
    }
    node1.delete();
    node2.delete();
}
Also used : Node(org.neo4j.graphdb.Node) Relationship(org.neo4j.graphdb.Relationship) Test(org.junit.Test)

Example 70 with Node

use of org.neo4j.graphdb.Node in project neo4j by neo4j.

the class TestRelationship method testDirectedRelationship.

@Test
public void testDirectedRelationship() {
    Node node1 = getGraphDb().createNode();
    Node node2 = getGraphDb().createNode();
    Relationship rel2 = node1.createRelationshipTo(node2, MyRelTypes.TEST);
    Relationship rel3 = node2.createRelationshipTo(node1, MyRelTypes.TEST);
    Node[] nodes = rel2.getNodes();
    assertEquals(2, nodes.length);
    assertTrue(nodes[0].equals(node1) && nodes[1].equals(node2));
    nodes = rel3.getNodes();
    assertEquals(2, nodes.length);
    assertTrue(nodes[0].equals(node2) && nodes[1].equals(node1));
    assertEquals(node1, rel2.getStartNode());
    assertEquals(node2, rel2.getEndNode());
    assertEquals(node2, rel3.getStartNode());
    assertEquals(node1, rel3.getEndNode());
    Relationship[] relArray = getRelationshipArray(node1.getRelationships(MyRelTypes.TEST, Direction.OUTGOING));
    assertEquals(1, relArray.length);
    assertEquals(rel2, relArray[0]);
    relArray = getRelationshipArray(node1.getRelationships(MyRelTypes.TEST, Direction.INCOMING));
    assertEquals(1, relArray.length);
    assertEquals(rel3, relArray[0]);
    relArray = getRelationshipArray(node2.getRelationships(MyRelTypes.TEST, Direction.OUTGOING));
    assertEquals(1, relArray.length);
    assertEquals(rel3, relArray[0]);
    relArray = getRelationshipArray(node2.getRelationships(MyRelTypes.TEST, Direction.INCOMING));
    assertEquals(1, relArray.length);
    assertEquals(rel2, relArray[0]);
    rel2.delete();
    rel3.delete();
    node1.delete();
    node2.delete();
}
Also used : Node(org.neo4j.graphdb.Node) Relationship(org.neo4j.graphdb.Relationship) Test(org.junit.Test)

Aggregations

Node (org.neo4j.graphdb.Node)1281 Test (org.junit.Test)781 Transaction (org.neo4j.graphdb.Transaction)540 Relationship (org.neo4j.graphdb.Relationship)375 GraphDatabaseService (org.neo4j.graphdb.GraphDatabaseService)146 NotFoundException (org.neo4j.graphdb.NotFoundException)78 File (java.io.File)65 LinkedList (java.util.LinkedList)60 RelationshipType (org.neo4j.graphdb.RelationshipType)58 HashMap (java.util.HashMap)57 Label (org.neo4j.graphdb.Label)57 Path (org.neo4j.graphdb.Path)52 KernelTransaction (org.neo4j.kernel.api.KernelTransaction)46 HashSet (java.util.HashSet)45 Map (java.util.Map)45 WeightedPath (org.neo4j.graphalgo.WeightedPath)37 TestGraphDatabaseFactory (org.neo4j.test.TestGraphDatabaseFactory)35 ArrayList (java.util.ArrayList)30 List (java.util.List)27 CoreMatchers.containsString (org.hamcrest.CoreMatchers.containsString)26