@Test @Transactional public void shouldCreateRelationshipWithProperty() throws Exception { Relationship relationship = neo4jTemplate.createRelationshipBetween(referenceNode, node1, "has", map("name", "rel2")); assertNotNull(relationship); assertEquals(referenceNode, relationship.getStartNode()); assertEquals(node1, relationship.getEndNode()); assertEquals(HAS.name(), relationship.getType().name()); assertEquals("rel2", relationship.getProperty("name", "not set")); }
@Test public void listing3_9_add_properties_to_relationships() { usersAndMovies.addPropertiesToRelationships(); try (Transaction tx = graphDb.beginTx()) { Relationship hasSeen = usersAndMovies.user1.getSingleRelationship( MyRelationshipTypes.HAS_SEEN, Direction.OUTGOING); assertEquals(5, hasSeen.getProperty("stars")); tx.success(); } }
@Test public void testDeleteRelationship() { Transaction tx = restAPI.beginTx(); Node n1 = restAPI.createNode(map("name", "newnode1")); Node n2 = restAPI.createNode(map("name", "newnode2")); Relationship rel = restAPI.createRelationship(n1, n2, Type.TEST, map("name", "rel")); rel.delete(); tx.success(); tx.finish(); Relationship foundRelationship = TestHelper.firstRelationshipBetween( n1.getRelationships(Type.TEST, Direction.OUTGOING), n1, n2); Assert.assertNull("found relationship", foundRelationship); }
@Test public void testCreateRelationshipToNodeOutsideofBatch() throws Exception { final Node node1 = restAPI.createNode(map()); final Transaction tx = restAPI.beginTx(); Node node2 = restAPI.createNode(map()); final Relationship relationship = node1.createRelationshipTo(node2, DynamicRelationshipType.withName("foo")); tx.success(); tx.finish(); assertEquals("foo", relationship.getType().name()); assertEquals( "foo", getGraphDatabase().getRelationshipById(relationship.getId()).getType().name()); }
@Test public void shouldGetSynonymsFromSavingSide() { wordRepository.save(earth); assertThat("earth's synonyms count", earth.getSynonymsCount(), is(0)); wordRepository.save(globe); // as earth and globe both are under controll of springdata graph, no need to further call // earth.save() earth.synonymWith(globe, "the planet we live"); assertThat("earth's synonyms count", earth.getSynonymsCount(), is(equalTo(1))); assertThat("earth's synonym contains globe", earth.getSynonyms(), hasItem(globe)); Relationship relationship = earth.getSynonymRelationshipTo(globe); assertThat("relationship should work properly", relationship.getWord(), is(earth)); assertThat("relationship should work properly", relationship.getAnotherWord(), is(globe)); assertThat( "relationship should work properly", relationship.getOnEnglish(), is("the planet we live")); }
@Test public void shouldGetIdiomFromSavingSide() { wordRepository.save(earth); assertThat("earth's idioms count", earth.getIdiomsCount(), is(0)); wordRepository.save(onEarth); // as earth and sky both are under controll of springdata graph, no need to further call // earth.save() earth.idiomWith(onEarth, "added a prefix 'on'"); assertThat("earth's idioms count", earth.getIdiomsCount(), is(equalTo(1))); assertThat("earth's idioms contains onEarth", earth.getIdioms(), hasItem(onEarth)); Relationship relationship = earth.getIdiomRelationshipTo(onEarth); assertThat("relationship should work properly", relationship.getWord(), is(earth)); assertThat("relationship should work properly", relationship.getAnotherWord(), is(onEarth)); assertThat( "relationship should work properly", relationship.getOnEnglish(), is("added a prefix 'on'")); }
@Test public void shouldGetExtensionFromSavingSide() { wordRepository.save(earth); assertThat("earth's extensions count", earth.getExtensionsCount(), is(0)); wordRepository.save(sky); // as earth and sky both are under controll of springdata graph, no need to further call // earth.save() earth.extendWith(sky, "earth and sky just intuitive"); assertThat("earth's extensions count", earth.getExtensionsCount(), is(equalTo(1))); assertThat("earth's extensions contains sky", earth.getExtensions(), hasItem(sky)); Relationship relationship = earth.getExtensionRelationshipTo(sky); assertThat("relationship should work properly", relationship.getWord(), is(earth)); assertThat("relationship should work properly", relationship.getAnotherWord(), is(sky)); assertThat( "relationship should work properly", relationship.getOnEnglish(), is("earth and sky just intuitive")); }
@Test public void shouldGetAntonymFromSavingSide() { wordRepository.save(happy); assertThat("happy's antonym count", happy.getAntonymsCount(), is(0)); wordRepository.save(sad); // as earth and sky both are under controll of springdata graph, no need to further call // earth.save() happy.antonymWith(sad, "feel good vs feel bad"); assertThat("happy's antonym count", happy.getAntonymsCount(), is(equalTo(1))); assertThat("happy's antonym contains sad", happy.getAntonyms(), hasItem(sad)); Relationship relationship = happy.getAntonymRelationshipTo(sad); assertThat("relationship should work properly", relationship.getWord(), is(happy)); assertThat("relationship should work properly", relationship.getAnotherWord(), is(sad)); assertThat( "relationship should work properly", relationship.getOnEnglish(), is("feel good vs feel bad")); Set<Relationship> relationships = happy.getRelationshipsTo(sad); assertThat(relationships.size(), is(1)); assertThat(relationships, hasItem(relationship)); }
@Test public void checkAddingRelationship() { rManager.removeAll(); cManager.removeAll(); iManager.removeAll(); Cake cake = new Cake(CAKE_NAME, CAKE_PRICE, CAKE_WEIGHT); cManager.addCake(cake); cake = cManager.getAll().get(0); Ingredient ing = new Ingredient(ING_NAMES.get(0), ING_KINDS.get(0)); iManager.addIngredient(ing); ing = iManager.getAll().get(0); rManager.addRelationship(cake, ing); List<Relationship> relations = rManager.getAll(); Relationship r = relations.get(0); assertEquals(CAKE_NAME, cManager.getOne(r.getCakeId()).getName()); assertEquals(ING_NAMES.get(0), iManager.getOne(r.getIngredientId()).getName()); }
@Override public String convert(Relationship value, Class<String> type) { return (String) value.getProperty("name"); }
@Test @Transactional public void testGetRelationship() throws Exception { Relationship lookedUpRelationship = neo4jTemplate.getRelationship(relationship1.getId()); assertThat(lookedUpRelationship, is(relationship1)); }