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

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

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

Node.getLabels介绍

[英]Lists all labels attached to this node. If this node has no labels an empty Iterable will be returned.
[中]列出附加到此节点的所有标签。如果此节点没有标签,将返回一个空的Iterable。

代码示例

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

  1. void addNode( long id, Node data )
  2. {
  3. nodes.put( id, data );
  4. labels.addAll( Iterables.asCollection( data.getLabels() ) );
  5. }

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

  1. private String labelString( Node node )
  2. {
  3. Iterator<Label> labels = node.getLabels().iterator();
  4. if ( !labels.hasNext() )
  5. {
  6. return "";
  7. }
  8. StringBuilder result = new StringBuilder();
  9. while ( labels.hasNext() )
  10. {
  11. Label next = labels.next();
  12. result.append( ':' ).append( quote( next.name() ) );
  13. }
  14. return result.toString();
  15. }

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

  1. public ListRepresentation getNodeLabels( long nodeId ) throws NodeNotFoundException
  2. {
  3. Iterable<String> labels = new IterableWrapper<String,Label>( node( nodeId ).getLabels() )
  4. {
  5. @Override
  6. protected String underlyingObjectToObject( Label object )
  7. {
  8. return object.name();
  9. }
  10. };
  11. return ListRepresentation.string( labels );
  12. }

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

  1. @Override
  2. protected boolean matchesSafely( Node item, Description mismatchDescription )
  3. {
  4. foundLabels = asLabelNameSet( item.getLabels() );
  5. if ( foundLabels.size() == expectedLabels.size() && foundLabels.containsAll( expectedLabels ) )
  6. {
  7. return true;
  8. }
  9. mismatchDescription.appendText( "was " + foundLabels.toString() );
  10. return false;
  11. }
  12. };

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

  1. private static String labelsOf( Node node )
  2. {
  3. StringBuilder builder = new StringBuilder();
  4. for ( Label label : node.getLabels() )
  5. {
  6. builder.append( label.name() + " " );
  7. }
  8. return builder.toString();
  9. }

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

  1. @Override
  2. protected boolean matchesSafely( Node item, Description mismatchDescription )
  3. {
  4. boolean result = item.hasLabel( myLabel );
  5. if ( !result )
  6. {
  7. Set<String> labels = asLabelNameSet( item.getLabels() );
  8. mismatchDescription.appendText( labels.toString() );
  9. }
  10. return result;
  11. }
  12. };

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

  1. private static Node mockNode( long id, Label[] labels, Properties properties )
  2. {
  3. Node node = mockPropertyContainer( Node.class, properties );
  4. when( node.getId() ).thenReturn( id );
  5. when( node.getLabels() ).thenReturn( Iterables.asResourceIterable( asList( labels ) ) );
  6. return node;
  7. }

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

  1. private void assertNoLabels( long nodeId )
  2. {
  3. try ( org.neo4j.graphdb.Transaction ignore = graphDb.beginTx() )
  4. {
  5. assertThat( graphDb.getNodeById( nodeId ).getLabels(), equalTo( Iterables.empty() ) );
  6. }
  7. }

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

  1. private void assertLabels( long nodeId, String label )
  2. {
  3. try ( org.neo4j.graphdb.Transaction ignore = graphDb.beginTx() )
  4. {
  5. assertThat( graphDb.getNodeById( nodeId ).getLabels(), containsInAnyOrder( label( label ) ) );
  6. }
  7. }

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

  1. public Iterable<String> getNodeLabels( long node )
  2. {
  3. return new IterableWrapper<String, Label>( database.getGraph().getNodeById( node ).getLabels() )
  4. {
  5. @Override
  6. protected String underlyingObjectToObject( Label object )
  7. {
  8. return object.name();
  9. }
  10. };
  11. }

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

  1. private void modifyLabelsOnExistingNode( List<Pair<Long,Label[]>> existingNodes )
  2. {
  3. int targetIndex = random.nextInt( existingNodes.size() );
  4. Pair<Long,Label[]> existingPair = existingNodes.get( targetIndex );
  5. long nodeId = existingPair.first();
  6. Node node = db.getNodeById( nodeId );
  7. node.getLabels().forEach( node::removeLabel );
  8. Label[] newLabels = randomLabels();
  9. for ( Label label : newLabels )
  10. {
  11. node.addLabel( label );
  12. }
  13. existingNodes.remove( targetIndex );
  14. existingNodes.add( Pair.of( nodeId, newLabels ) );
  15. }

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

  1. private void modifyLabelsOnExistingNode( List<Pair<Long,Label[]>> existingNodes )
  2. {
  3. int targetIndex = random.nextInt( existingNodes.size() );
  4. Pair<Long,Label[]> existingPair = existingNodes.get( targetIndex );
  5. long nodeId = existingPair.first();
  6. Node node = db.getNodeById( nodeId );
  7. node.getLabels().forEach( node::removeLabel );
  8. Label[] newLabels = randomLabels();
  9. for ( Label label : newLabels )
  10. {
  11. node.addLabel( label );
  12. }
  13. existingNodes.remove( targetIndex );
  14. existingNodes.add( Pair.of( nodeId, newLabels ) );
  15. }

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

  1. private void verifyLabels( long nodeId, int startLabelIndex, int count )
  2. {
  3. try ( Transaction tx = dbRule.beginTx() )
  4. {
  5. Node node = dbRule.getNodeById( nodeId );
  6. Set<String> labelNames = Iterables.asList( node.getLabels() )
  7. .stream()
  8. .map( Label::name )
  9. .sorted()
  10. .collect( toSet() );
  11. assertEquals( count, labelNames.size() );
  12. int endLabelIndex = startLabelIndex + count;
  13. for ( int i = startLabelIndex; i < endLabelIndex; i++ )
  14. {
  15. assertTrue( labelNames.contains( labelName( i ) ) );
  16. }
  17. tx.success();
  18. }
  19. }

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

  1. private void assertNodeEquals( InputEntity input, Node node )
  2. {
  3. // properties
  4. assertPropertiesEquals( input, node );
  5. // labels
  6. Set<String> expectedLabels = asSet( input.labels() );
  7. for ( Label label : node.getLabels() )
  8. {
  9. assertTrue( expectedLabels.remove( label.name() ) );
  10. }
  11. assertTrue( expectedLabels.isEmpty() );
  12. }

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

  1. @Test
  2. public void shouldGiveNiceErrorWhenShutdownKernelApi()
  3. {
  4. GraphDatabaseService graphDb = graph;
  5. Node node = graphDb.createNode();
  6. commit();
  7. graphDb.shutdown();
  8. try
  9. {
  10. asList( node.getLabels().iterator() );
  11. fail( "Did not get a nice exception" );
  12. }
  13. catch ( DatabaseShutdownException e )
  14. { // good
  15. }
  16. }

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

  1. private static void doStuff( GraphDatabaseService db, Label label, String propertyKey )
  2. {
  3. try ( Transaction tx = db.beginTx() )
  4. {
  5. for ( Node node : loop( db.findNodes( label, propertyKey, 3323 ) ) )
  6. {
  7. count( node.getLabels() );
  8. }
  9. }
  10. }

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

  1. private long countNodes( String... labels )
  2. {
  3. Set<Label> givenLabels = new HashSet<>( labels.length );
  4. for ( String label : labels )
  5. {
  6. givenLabels.add( Label.label( label ) );
  7. }
  8. try ( Transaction transaction = graphdb().beginTx() )
  9. {
  10. long count = 0;
  11. for ( Node node : graphdb().getAllNodes() )
  12. {
  13. Set<Label> nodeLabels = Iterables.asSet( node.getLabels() );
  14. if ( nodeLabels.containsAll( givenLabels ) )
  15. {
  16. count++;
  17. }
  18. }
  19. transaction.failure();
  20. return count;
  21. }
  22. }

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

  1. @Mapping( "metadata" )
  2. public MapRepresentation metadata()
  3. {
  4. if ( isDeleted() )
  5. {
  6. return new MapRepresentation( map( "id", node.getId(), "deleted", Boolean.TRUE ) );
  7. }
  8. else
  9. {
  10. Collection<String> labels = Iterables.asCollection( new IterableWrapper<String,Label>( node.getLabels() )
  11. {
  12. @Override
  13. protected String underlyingObjectToObject( Label label )
  14. {
  15. return label.name();
  16. }
  17. } );
  18. return new MapRepresentation( map( "id", node.getId(), "labels", labels ) );
  19. }
  20. }

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

  1. public long getLabelCount( long nodeId )
  2. {
  3. try ( Transaction transaction = database.getGraph().beginTransaction( implicit, AnonymousContext.read() ) )
  4. {
  5. return count( database.getGraph().getNodeById( nodeId ).getLabels());
  6. }
  7. }
  8. }

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

  1. @Test
  2. public void removingLabelDoesNotBreakPreviouslyCreatedLabelsIterator()
  3. {
  4. // GIVEN
  5. GraphDatabaseService db = dbRule.getGraphDatabaseAPI();
  6. Label label1 = label( "A" );
  7. Label label2 = label( "B" );
  8. try ( Transaction tx = db.beginTx() )
  9. {
  10. Node node = db.createNode( label1, label2 );
  11. for ( Label next : node.getLabels() )
  12. {
  13. node.removeLabel( next );
  14. }
  15. tx.success();
  16. }
  17. }

相关文章