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

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

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

Node.getRelationshipTypes介绍

[英]Returns relationship types which this node has one more relationships for. If this node doesn't have any relationships an empty Iterablewill be returned.
[中]返回此节点具有一个或多个关系的关系类型。如果此节点没有任何关系,则将返回空的iterablew。

代码示例

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

  1. private void assertExpectedRelationshipTypes( Set<String> expectedTypes, Node node, boolean commit )
  2. {
  3. Set<String> actual = Iterables.asSet( asStrings( node.getRelationshipTypes() ) );
  4. assertEquals( expectedTypes, actual );
  5. if ( commit )
  6. {
  7. newTransaction();
  8. }
  9. assertEquals( expectedTypes, Iterables.asSet( asStrings( node.getRelationshipTypes() ) ) );
  10. }

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

  1. private void assertDegrees( Node node )
  2. {
  3. for ( RelationshipType type : node.getRelationshipTypes() )
  4. {
  5. for ( Direction direction : Direction.values() )
  6. {
  7. long degree = node.getDegree( type, direction );
  8. long actualDegree = count( node.getRelationships( type, direction ) );
  9. assertEquals( actualDegree, degree );
  10. }
  11. }
  12. }

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

  1. @Test
  2. public void shouldOnlyReturnTypeOnce()
  3. {
  4. // Given
  5. Node node;
  6. try ( Transaction tx = db.beginTx() )
  7. {
  8. node = db.createNode();
  9. node.createRelationshipTo( db.createNode(), RelationshipType.withName( "R" ) );
  10. node.createRelationshipTo( db.createNode(), RelationshipType.withName( "R" ) );
  11. node.createRelationshipTo( db.createNode(), RelationshipType.withName( "R" ) );
  12. tx.success();
  13. }
  14. // Then
  15. try ( Transaction tx = db.beginTx() )
  16. {
  17. assertThat( Iterables.asList( node.getRelationshipTypes() ),
  18. equalTo( singletonList( RelationshipType.withName( "R" ) ) ) );
  19. }
  20. }

代码示例来源:origin: neo4j-contrib/neo4j-apoc-procedures

  1. public void mergeRelsWithSameTypeAndDirectionInMergeNodes(Node node, RefactorConfig config, Direction dir) {
  2. for (RelationshipType type : node.getRelationshipTypes()) {
  3. StreamSupport.stream(node.getRelationships(dir,type).spliterator(), false)
  4. .collect(Collectors.groupingBy(rel -> Pair.of(rel.getStartNode(), rel.getEndNode())))
  5. .values().stream()
  6. .filter(list -> !list.isEmpty())
  7. .forEach(list -> {
  8. Relationship first = list.get(0);
  9. for (int i = 1; i < list.size(); i++) {
  10. mergeRels(list.get(i), first, true, config);
  11. }
  12. });
  13. }
  14. }
  15. }

代码示例来源:origin: neo4j-contrib/neo4j-apoc-procedures

  1. private void addRelationships(Map<String, Map<String, MetaResult>> metaData, Map<String, MetaResult> nodeMeta, String labelName, Node node, Map<String, Iterable<ConstraintDefinition>> relConstraints) {
  2. for (RelationshipType type : node.getRelationshipTypes()) {
  3. int out = node.getDegree(type, Direction.OUTGOING);
  4. if (out == 0) continue;
  5. String typeName = type.name();
  6. Iterable<ConstraintDefinition> constraints = relConstraints.get(typeName);
  7. if (!nodeMeta.containsKey(typeName)) nodeMeta.put(typeName, new MetaResult(labelName,typeName));
  8. // int in = node.getDegree(type, Direction.INCOMING);
  9. Map<String, MetaResult> typeMeta = metaData.get(typeName);
  10. if (!typeMeta.containsKey(labelName)) typeMeta.put(labelName,new MetaResult(typeName,labelName));
  11. MetaResult relMeta = nodeMeta.get(typeName);
  12. addOtherNodeInfo(node, labelName, out, type, relMeta , typeMeta, constraints);
  13. }
  14. }

代码示例来源:origin: neo4j-contrib/neo4j-apoc-procedures

  1. @UserFunction("apoc.node.relationship.types")
  2. @Description("apoc.node.relationship.types(node, rel-direction-pattern) - returns a list of distinct relationship types")
  3. public List<String> relationshipTypes(@Name("node") Node node, @Name(value = "types",defaultValue = "") String types) {
  4. if (node==null) return null;
  5. List<String> relTypes = Iterables.asList(Iterables.map(RelationshipType::name, node.getRelationshipTypes()));
  6. if (types == null || types.isEmpty()) return relTypes;
  7. List<String> result = new ArrayList<>(relTypes.size());
  8. for (Pair<RelationshipType, Direction> p : parse(types)) {
  9. String name = p.first().name();
  10. if (relTypes.contains(name) && node.hasRelationship(p.first(),p.other())) {
  11. result.add(name);
  12. }
  13. }
  14. return result;
  15. }

代码示例来源:origin: neo4j-contrib/neo4j-apoc-procedures

  1. public void sample(GraphDatabaseService db, Sampler sampler, int sampleSize) {
  2. for (Label label : db.getAllLabelsInUse()) {
  3. ResourceIterator<Node> nodes = db.findNodes(label);
  4. int count = 0;
  5. while (nodes.hasNext() && count++ < sampleSize) {
  6. Node node = nodes.next();
  7. sampler.sample(label,count,node);
  8. for (RelationshipType type : node.getRelationshipTypes()) {
  9. sampleRels(sampleSize, sampler, label, count, node, type);
  10. }
  11. }
  12. nodes.close();
  13. }
  14. }

代码示例来源:origin: com.graphaware.neo4j/common

  1. /**
  2. * @see org.neo4j.graphdb.Node#getRelationshipTypes().
  3. */
  4. public Iterable<RelationshipType> getRelationshipTypes() {
  5. return getWrappedNode().getRelationshipTypes();
  6. }

相关文章