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

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

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

Node.addLabel介绍

[英]Adds a Label to this node. If this node doesn't already have this label it will be added. If it already has the label, nothing will happen.
[中]将标签添加到此节点。如果此节点尚未具有此标签,则将添加它。如果它已经有了标签,什么也不会发生。

代码示例

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

  1. public static Function<Node,Node> addLabel( Label label )
  2. {
  3. return node ->
  4. {
  5. node.addLabel( label );
  6. return node;
  7. };
  8. }

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

  1. @Override
  2. public void accept( Transaction transaction )
  3. {
  4. node.addLabel( label );
  5. }
  6. };

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

  1. public NodeRepresentation createNode( Map<String,Object> properties, Label... labels )
  2. throws PropertyValueException
  3. {
  4. Node node = graphDb.createNode();
  5. propertySetter.setProperties( node, properties );
  6. if ( labels != null )
  7. {
  8. for ( Label label : labels )
  9. {
  10. node.addLabel( label );
  11. }
  12. }
  13. return new NodeRepresentation( node );
  14. }

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

  1. private void addLabels( Node node, Label... labels )
  2. {
  3. try ( Transaction tx = dbRule.beginTx() )
  4. {
  5. for ( Label label : labels )
  6. {
  7. node.addLabel( label );
  8. }
  9. tx.success();
  10. }
  11. }

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

  1. private void addLabelToUnLabeledNode( Node unLabeledNode )
  2. {
  3. try ( Transaction tx = db.beginTx() )
  4. {
  5. unLabeledNode.addLabel( LABEL );
  6. tx.success();
  7. }
  8. }

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

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

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

  1. private void addLabelToExistingNode( List<Pair<Long,Label[]>> nodesInStore )
  2. {
  3. int targetIndex = random.nextInt( nodesInStore.size() );
  4. Pair<Long,Label[]> existingNode = nodesInStore.get( targetIndex );
  5. Node node = db.getNodeById( existingNode.first() );
  6. node.addLabel( EXTRA_LABEL );
  7. }

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

  1. public void add( Node node, String label )
  2. {
  3. node.addLabel( label( label ) );
  4. put( added, node, label );
  5. }

代码示例来源: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. @Test
  2. public void testSingleNodeLabels()
  3. {
  4. Node n = gdb.createNode();
  5. n.addLabel( Label.label( "Foo" ) );
  6. n.addLabel( Label.label( "Bar" ) );
  7. final ExecutionResult result = result( "node", n );
  8. final SubGraph graph = CypherResultSubGraph.from( result, gdb, false );
  9. assertEquals( "create (_" + n.getId() + ":`Foo`:`Bar`)" + lineSeparator() + ";" + lineSeparator(),
  10. doExportGraph( graph ) );
  11. }

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

  1. private void addLabels( long nodeId, int startLabelIndex, int count )
  2. {
  3. try ( Transaction tx = dbRule.beginTx() )
  4. {
  5. Node node = dbRule.getNodeById( nodeId );
  6. int endLabelIndex = startLabelIndex + count;
  7. for ( int i = startLabelIndex; i < endLabelIndex; i++ )
  8. {
  9. node.addLabel( labelWithIndex( i ) );
  10. }
  11. tx.success();
  12. }
  13. }

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

  1. @Test
  2. public void addConcurrentlySameLabelToANode() throws Throwable
  3. {
  4. final long nodeId = initWithNode( db );
  5. Thread t1 = newThreadForNodeAction( nodeId, node -> node.addLabel( Label.label( "A" ) ) );
  6. Thread t2 = newThreadForNodeAction( nodeId, node -> node.addLabel( Label.label( "A" ) ) );
  7. startAndWait( t1, t2 );
  8. db.shutdown();
  9. assertDatabaseConsistent();
  10. }

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

  1. @Test
  2. public void shouldNotWarnOnSmallLabelScansWithLoadCVS()
  3. {
  4. try ( Transaction tx = db().beginTx() )
  5. {
  6. db().createNode().addLabel( label( "A" ) );
  7. tx.success();
  8. }
  9. Stream.of( "CYPHER 3.1", "CYPHER 3.5" ).forEach( version ->
  10. {
  11. shouldNotNotifyInStream( version, "EXPLAIN LOAD CSV FROM 'file:///ignore/ignore.csv' AS line MATCH (a:A) RETURN *" );
  12. shouldNotNotifyInStream( version, "EXPLAIN LOAD CSV FROM 'file:///ignore/ignore.csv' AS line MERGE (a:A) RETURN *" );
  13. } );
  14. }

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

  1. @Test
  2. public void shouldWarnOnLargeLabelScansWithLoadCVSMatch()
  3. {
  4. for ( int i = 0; i < 11; i++ )
  5. {
  6. try ( Transaction tx = db().beginTx() )
  7. {
  8. db().createNode().addLabel( label( "A" ) );
  9. tx.success();
  10. }
  11. }
  12. Stream.of( "CYPHER 3.1", "CYPHER 3.5" ).forEach(
  13. version -> assertNotifications( version + "EXPLAIN LOAD CSV FROM 'file:///ignore/ignore.csv' AS line MATCH (a:A) RETURN *",
  14. containsNoItem( largeLabelCSVWarning ) ) );
  15. }

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

  1. @Test
  2. public void shouldWarnOnLargeLabelScansWithLoadCVSMerge()
  3. {
  4. for ( int i = 0; i < 11; i++ )
  5. {
  6. try ( Transaction tx = db().beginTx() )
  7. {
  8. db().createNode().addLabel( label( "A" ) );
  9. tx.success();
  10. }
  11. }
  12. Stream.of( "CYPHER 3.1", "CYPHER 3.5" ).forEach(
  13. version -> assertNotifications( version + "EXPLAIN LOAD CSV FROM 'file:///ignore/ignore.csv' AS line MERGE (a:A) RETURN *",
  14. containsNoItem( largeLabelCSVWarning ) ) );
  15. }

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

  1. @Test
  2. public void shouldWarnOnMisspelledLabel()
  3. {
  4. try ( Transaction tx = db().beginTx() )
  5. {
  6. db().createNode().addLabel( label( "Person" ) );
  7. tx.success();
  8. }
  9. Stream.of( "CYPHER 2.3", "CYPHER 3.1", "CYPHER 3.5" ).forEach( version ->
  10. {
  11. assertNotifications(version + "EXPLAIN MATCH (n:Preson) RETURN *", containsItem( unknownLabelWarning ) );
  12. shouldNotNotifyInStream( version, "EXPLAIN MATCH (n:Person) RETURN *" );
  13. });
  14. }

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

  1. public void addLabelToNode( long node, String labelName )
  2. {
  3. try ( Transaction tx = database.getGraph().beginTransaction( implicit, AnonymousContext.writeToken() ) )
  4. {
  5. database.getGraph().getNodeById( node ).addLabel( label( labelName ) );
  6. tx.success();
  7. }
  8. }

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

  1. @Test
  2. public void shouldNotNotifyOnDynamicPropertyLookupWithLabelHavingNoIndex()
  3. {
  4. Stream.of( "CYPHER 2.3", "CYPHER 3.1", "CYPHER 3.5" ).forEach( version ->
  5. {
  6. db().execute( "CREATE INDEX ON :Person(name)" );
  7. db().execute( "Call db.awaitIndexes()" );
  8. try ( Transaction tx = db().beginTx() )
  9. {
  10. db().createNode().addLabel( label( "Foo" ) );
  11. tx.success();
  12. }
  13. shouldNotNotifyInStream( version, "EXPLAIN MATCH (n:Foo) WHERE n['key-' + n.name] = 'value' RETURN n" );
  14. } );
  15. }

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

  1. @Test
  2. public void shouldWarnOnMisspelledRelationship()
  3. {
  4. try ( Transaction tx = db().beginTx() )
  5. {
  6. db().createNode().addLabel( label( "Person" ) );
  7. tx.success();
  8. }
  9. Stream.of( "CYPHER 2.3", "CYPHER 3.1", "CYPHER 3.5" ).forEach( version ->
  10. {
  11. db().execute( "CREATE (n)-[r:R]->(m)");
  12. assertNotifications(version + "EXPLAIN MATCH ()-[r:r]->() RETURN *", containsItem( unknownRelationshipWarning ) );
  13. shouldNotNotifyInStream( version, "EXPLAIN MATCH ()-[r:R]->() RETURN *" );
  14. });
  15. }

相关文章