org.neo4j.graphdb.Node.delete()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(7.0k)|赞(0)|评价(0)|浏览(272)

本文整理了Java中org.neo4j.graphdb.Node.delete()方法的一些代码示例,展示了Node.delete()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Node.delete()方法的具体详情如下:
包路径:org.neo4j.graphdb.Node
类名称:Node
方法名:delete

Node.delete介绍

[英]Deletes this node if it has no relationships attached to it. If delete() is invoked on a node with relationships, an unchecked exception will be raised when the transaction is committing. Invoking any methods on this node after delete() has returned is invalid and will lead to NotFoundException being thrown.
[中]如果此节点没有附加关系,则删除此节点。如果在具有关系的节点上调用delete(),则在提交事务时将引发未经检查的异常。在delete()返回后调用此节点上的任何方法无效,并将导致引发NotFoundException。

代码示例

代码示例来源:origin: neo4j/neo4j

  1. private void deleteAlistairAndStefanNodes()
  2. {
  3. try ( Transaction tx = graphDb.beginTx() )
  4. {
  5. aKnowsS.delete();
  6. sKnowsA.delete();
  7. alistair.delete();
  8. stefan.delete();
  9. tx.success();
  10. }
  11. }

代码示例来源:origin: neo4j/neo4j

  1. private void deleteNode( Node node )
  2. {
  3. try ( Transaction tx = dbRule.beginTx() )
  4. {
  5. node.delete();
  6. tx.success();
  7. }
  8. }

代码示例来源:origin: neo4j/neo4j

  1. private static void delete( Node node )
  2. {
  3. for ( Relationship rel : node.getRelationships() )
  4. {
  5. rel.delete();
  6. }
  7. node.delete();
  8. }

代码示例来源:origin: neo4j/neo4j

  1. @Test
  2. public void testMultipleDeleteNode()
  3. {
  4. Node node1 = getGraphDb().createNode();
  5. node1.delete();
  6. try
  7. {
  8. node1.delete();
  9. Transaction tx = getTransaction();
  10. tx.success();
  11. tx.close();
  12. fail( "Should not validate" );
  13. }
  14. catch ( Exception e )
  15. {
  16. // ok
  17. }
  18. }

代码示例来源:origin: neo4j/neo4j

  1. @Test
  2. public void testRandomPropertyName()
  3. {
  4. Node node1 = getGraphDb().createNode();
  5. String key = "random_"
  6. + new Random( System.currentTimeMillis() ).nextLong();
  7. node1.setProperty( key, "value" );
  8. assertEquals( "value", node1.getProperty( key ) );
  9. node1.delete();
  10. }

代码示例来源:origin: neo4j/neo4j

  1. @Test
  2. public void shouldHandleDeleteNodeConcurrentlyWithIndexDrop() throws Throwable
  3. {
  4. shouldHandleIndexDropConcurrentlyWithOperation( nodeId -> db.getNodeById( nodeId ).delete() );
  5. }

代码示例来源:origin: neo4j/neo4j

  1. @Test( expected = NotFoundException.class )
  2. public void deletionOfAlreadyDeletedNodeShouldThrow()
  3. {
  4. // Given
  5. Node node;
  6. try ( Transaction tx = db.beginTx() )
  7. {
  8. node = db.createNode();
  9. tx.success();
  10. }
  11. try ( Transaction tx = db.beginTx() )
  12. {
  13. node.delete();
  14. tx.success();
  15. }
  16. // When
  17. try ( Transaction tx = db.beginTx() )
  18. {
  19. node.delete(); // should throw NotFoundException as this node is already deleted
  20. tx.success();
  21. }
  22. }

代码示例来源:origin: neo4j/neo4j

  1. @Override
  2. public void createTestGraph( GraphDatabaseService graphDb )
  3. {
  4. List<Node> deleted = new ArrayList<>();
  5. try ( Transaction tx = graphDb.beginTx() )
  6. {
  7. for ( int i = 0; i < N_NODES; i++ )
  8. {
  9. Node node = graphDb.createNode();
  10. if ( random.nextBoolean() )
  11. {
  12. NODE_IDS.add( node.getId() );
  13. }
  14. else
  15. {
  16. deleted.add( node );
  17. }
  18. }
  19. tx.success();
  20. }
  21. try ( Transaction tx = graphDb.beginTx() )
  22. {
  23. for ( Node node : deleted )
  24. {
  25. node.delete();
  26. }
  27. tx.success();
  28. }
  29. }

代码示例来源:origin: neo4j/neo4j

  1. private void makeSureAdditionsCanBeRemoved( boolean restartTx )
  2. {
  3. Index<Node> index = nodeIndex( LuceneIndexImplementation.EXACT_CONFIG );
  4. String key = "name";
  5. String value = "Mattias";
  6. assertNull( index.get( key, value ).getSingle() );
  7. Node node = graphDb.createNode();
  8. index.add( node, key, value );
  9. if ( restartTx )
  10. {
  11. restartTx();
  12. }
  13. assertEquals( node, index.get( key, value ).getSingle() );
  14. index.remove( node, key, value );
  15. assertNull( index.get( key, value ).getSingle() );
  16. restartTx();
  17. assertNull( index.get( key, value ).getSingle() );
  18. node.delete();
  19. index.delete();
  20. }

代码示例来源:origin: neo4j/neo4j

  1. @Test
  2. public void testDeletedRelationship()
  3. {
  4. Node node1 = getGraphDb().createNode();
  5. Node node2 = getGraphDb().createNode();
  6. Relationship relationship = node1.createRelationshipTo( node2, TEST );
  7. relationship.delete();
  8. try
  9. {
  10. relationship.setProperty( "key1", 1 );
  11. fail( "Adding property to deleted rel should throw exception." );
  12. }
  13. catch ( Exception e )
  14. { // good
  15. }
  16. node1.delete();
  17. node2.delete();
  18. }

代码示例来源:origin: neo4j/neo4j

  1. @Test
  2. public void testAddPropertyDeletedNode()
  3. {
  4. Node node = getGraphDb().createNode();
  5. node.delete();
  6. try
  7. {
  8. node.setProperty( key, 1 );
  9. fail( "Add property on deleted node should not validate" );
  10. }
  11. catch ( Exception e )
  12. {
  13. // good
  14. }
  15. }

代码示例来源:origin: neo4j/neo4j

  1. @Test
  2. public void testRemoveNodeFromIndex()
  3. {
  4. Index<Node> index = nodeIndex( LuceneIndexImplementation.EXACT_CONFIG );
  5. String key = "key";
  6. String value = "MYID";
  7. Node node = createAndIndexNode( index, key, value );
  8. index.remove( node );
  9. node.delete();
  10. Node node2 = createAndIndexNode( index, key, value );
  11. assertEquals( node2, index.get( key, value ).getSingle() );
  12. }

代码示例来源:origin: neo4j/neo4j

  1. @Test
  2. public void shouldListAllLabelsInUse()
  3. {
  4. // Given
  5. GraphDatabaseService db = dbRule.getGraphDatabaseAPI();
  6. createNode( db, Labels.MY_LABEL );
  7. Node node = createNode( db, Labels.MY_OTHER_LABEL );
  8. try ( Transaction tx = db.beginTx() )
  9. {
  10. node.delete();
  11. tx.success();
  12. }
  13. List<Label> labels = null;
  14. // When
  15. try ( Transaction tx = db.beginTx() )
  16. {
  17. labels = asList( db.getAllLabelsInUse() );
  18. }
  19. // Then
  20. assertEquals( 1, labels.size() );
  21. assertThat( map( Label::name, labels ), hasItems( Labels.MY_LABEL.name() ) );
  22. }

代码示例来源:origin: neo4j/neo4j

  1. private void deleteNode( Node node )
  2. {
  3. try ( Transaction tx = db.beginTx() )
  4. {
  5. node.delete();
  6. tx.success();
  7. }
  8. }

代码示例来源:origin: neo4j/neo4j

  1. private void createSomeTransactions( GraphDatabaseService db )
  2. Node node1 = db.createNode();
  3. Node node2 = db.createNode();
  4. node1.createRelationshipTo( node2,
  5. RelationshipType.withName( "relType1" ) );
  6. tx.success();
  7. tx.close();
  8. node1.delete();
  9. tx.success();
  10. try
  11. tx.success();
  12. tx.close();

代码示例来源:origin: neo4j/neo4j

  1. public static void cleanupAllRelationshipsAndNodes( GraphDatabaseService db )
  2. {
  3. try ( Transaction tx = db.beginTx() )
  4. {
  5. for ( Relationship relationship : db.getAllRelationships() )
  6. {
  7. relationship.delete();
  8. }
  9. for ( Node node : db.getAllNodes() )
  10. {
  11. node.delete();
  12. }
  13. tx.success();
  14. }
  15. }
  16. }

代码示例来源:origin: neo4j/neo4j

  1. public void clear()
  2. {
  3. for ( Node node : nodes.values() )
  4. {
  5. for ( Relationship relationship : node.getRelationships() )
  6. {
  7. relationship.delete();
  8. }
  9. node.delete();
  10. }
  11. nodes.clear();
  12. nodeNames.clear();
  13. edges.clear();
  14. }

代码示例来源:origin: neo4j/neo4j

  1. private void makeSureSomeAdditionsCanBeRemoved( boolean restartTx )
  2. {
  3. Index<Node> index = nodeIndex( LuceneIndexImplementation.EXACT_CONFIG );
  4. String key1 = "name";
  5. String key2 = "title";
  6. String value1 = "Mattias";
  7. assertNull( index.get( key1, value1 ).getSingle() );
  8. assertNull( index.get( key2, value1 ).getSingle() );
  9. Node node = graphDb.createNode();
  10. Node node2 = graphDb.createNode();
  11. index.add( node, key1, value1 );
  12. index.add( node, key2, value1 );
  13. index.add( node2, key1, value1 );
  14. if ( restartTx )
  15. {
  16. restartTx();
  17. }
  18. index.remove( node, key1, value1 );
  19. index.remove( node, key2, value1 );
  20. assertEquals( node2, index.get( key1, value1 ).getSingle() );
  21. assertNull( index.get( key2, value1 ).getSingle() );
  22. assertEquals( node2, index.get( key1, value1 ).getSingle() );
  23. assertNull( index.get( key2, value1 ).getSingle() );
  24. node.delete();
  25. index.delete();
  26. }

代码示例来源:origin: neo4j/neo4j

  1. @Test
  2. public void testAddPropertyThenDelete()
  3. {
  4. Node node1 = getGraphDb().createNode();
  5. Node node2 = getGraphDb().createNode();
  6. Relationship rel = node1.createRelationshipTo( node2, TEST );
  7. rel.setProperty( "test", "test" );
  8. newTransaction();
  9. rel.setProperty( "test2", "test2" );
  10. rel.delete();
  11. node1.delete();
  12. node2.delete();
  13. newTransaction();
  14. }

代码示例来源:origin: neo4j/neo4j

  1. @Test
  2. public void testDeletedNode()
  3. {
  4. // do some evil stuff
  5. Node node = getGraphDb().createNode();
  6. node.delete();
  7. try
  8. {
  9. node.setProperty( "key1", 1 );
  10. fail( "Adding stuff to deleted node should throw exception" );
  11. }
  12. catch ( Exception e )
  13. { // good
  14. }
  15. }

相关文章