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

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

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

Node.getGraphDatabase介绍

暂无

代码示例

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

private void resolveMonitor( Node node )
{
  if ( dataMonitor == null )
  {
    GraphDatabaseService service = node.getGraphDatabase();
    if ( service instanceof GraphDatabaseFacade )
    {
      Monitors monitors = ((GraphDatabaseFacade) service).getDependencyResolver().resolveDependency( Monitors.class );
      dataMonitor = monitors.newMonitor( DataMonitor.class );
    }
  }
}

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

private Relationship createRelationship( Node node )
{
  try ( Transaction tx = node.getGraphDatabase().beginTx() )
  {
    Relationship rel = node.createRelationshipTo( node, MyRelTypes.TEST );
    tx.success();
    return rel;
  }
}

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

@PluginTarget( Node.class )
public Node getThisNodeOrById( @Source Node start, @Parameter( name = "id", optional = true ) Long id )
{
  optional = id;
  if ( id == null )
  {
    return start;
  }
  try ( Transaction tx = start.getGraphDatabase().beginTx() )
  {
    Node node = start.getGraphDatabase().getNodeById( id );
    tx.success();
    return node;
  }
}

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

public static void destroy( Map<String, Node> nodes )
{
  if ( nodes.isEmpty() )
  {
    return;
  }
  GraphDatabaseService db = nodes.values().iterator().next().getGraphDatabase();
  try ( Transaction tx = db.beginTx() )
  {
    for ( Node node : db.getAllNodes() )
    {
      for ( Relationship rel : node.getRelationships() )
      {
        rel.delete();
      }
      node.delete();
    }
    tx.success();
  }
}

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

void setProperty( String nodeName, String propertyName, Object propertyValue )
{
  Node i = this.getNode( nodeName );
  GraphDatabaseService db = i.getGraphDatabase();
  try ( Transaction tx = db.beginTx() )
  {
    i.setProperty( propertyName, propertyValue );
    tx.success();
  }
}

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

@PluginTarget( Node.class )
public Node getThisNodeOrById( @Source Node start, @Parameter( name = "id", optional = true ) Long id )
{
  optional = id;
  if ( id == null )
  {
    return start;
  }
  return start.getGraphDatabase()
      .getNodeById( id );
}

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

@PluginTarget( Node.class )
public Iterable<Relationship> getRelationshipsBetween( @Source final Node start,
    @Parameter( name = "other" ) final Node end )
{
  List<Relationship> result = new ArrayList<>();
  try ( Transaction tx = start.getGraphDatabase().beginTx() )
  {
    for ( Relationship relationship : start.getRelationships() )
    {
      if ( relationship.getOtherNode( start ).equals( end ) )
      {
        result.add( relationship );
      }
    }
    tx.success();
  }
  return result;
}

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

@PluginTarget( Node.class )
public Iterable<Relationship> createRelationships( @Source Node start,
    @Parameter( name = "type" ) RelationshipType type, @Parameter( name = "nodes" ) Iterable<Node> nodes )
{
  List<Relationship> result = new ArrayList<>();
  try ( Transaction tx = start.getGraphDatabase().beginTx() )
  {
    for ( Node end : nodes )
    {
      result.add( start.createRelationshipTo( end, type ) );
    }
    tx.success();
  }
  return result;
}

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

@Name( GET_CONNECTED_NODES )
@PluginTarget( Node.class )
public Iterable<Node> getAllConnectedNodes( @Source Node start )
{
  ArrayList<Node> nodes = new ArrayList<>();
  try ( Transaction tx = start.getGraphDatabase().beginTx() )
  {
    for ( Relationship rel : start.getRelationships() )
    {
      nodes.add( rel.getOtherNode( start ) );
    }
    tx.success();
  }
  return nodes;
}

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

@Override
protected Traverser instantiateTraverser( Node start, Node end )
{
  GraphDatabaseService db = start.getGraphDatabase();
  TraversalDescription sideBase = db.traversalDescription().breadthFirst().uniqueness( NODE_PATH );
  return db.bidirectionalTraversalDescription().mirroredSides( sideBase.expand( expander ) )
    .sideSelector( LEVEL_STOP_DESCENT_ON_RESULT, maxDepth )
    .collisionEvaluator( toDepth( maxDepth ) )
    .traverse( start, end );
}

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

@PluginTarget( Node.class )
public Iterable<Relationship> createRelationships( @Source Node start,
    @Parameter( name = "type" ) RelationshipType type, @Parameter( name = "nodes" ) Iterable<Node> nodes )
{
  List<Relationship> result = new ArrayList<>();
  try ( Transaction tx = start.getGraphDatabase().beginTx() )
  {
    for ( Node end : nodes )
    {
      result.add( start.createRelationshipTo( end, type ) );
    }
    tx.success();
  }
  return result;
}

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

@Override
void extraData( MappingSerializer serializer )
{
  if ( !isDeleted() )
  {
    MappingWriter writer = serializer.writer;
    MappingWriter properties = writer.newMapping( RepresentationType.PROPERTIES, "data" );
    new PropertiesRepresentation( node ).serialize( properties );
    if ( writer.isInteractive() )
    {
      serializer.putList( "relationship_types", ListRepresentation.relationshipTypes(
          node.getGraphDatabase().getAllRelationshipTypes() ) );
    }
    properties.done();
  }
}

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

private static Function<Node,StartRelationship> incoming( String type )
{
  return node ->
  {
    GraphDatabaseService db = node.getGraphDatabase();
    RelationshipType relType = withName( type );
    return new StartRelationship(
        db.createNode().createRelationshipTo( node, relType ).getId(),
        Direction.INCOMING,
        relType );
  };
}

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

private static Function<Node,StartRelationship> outgoing( String type )
{
  return node ->
  {
    GraphDatabaseService db = node.getGraphDatabase();
    RelationshipType relType = withName( type );
    return new StartRelationship(
        node.createRelationshipTo( db.createNode(), relType ).getId(),
        Direction.OUTGOING,
        relType );
  };
}

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

private Relationship getFirstRelationshipFromRomeoNode()
{
  Node romeo = getNode( "Romeo" );
  try ( Transaction transaction = romeo.getGraphDatabase().beginTx() )
  {
    ResourceIterable<Relationship> relationships = (ResourceIterable<Relationship>) romeo.getRelationships();
    try ( ResourceIterator<Relationship> iterator = relationships.iterator() )
    {
      return iterator.next();
    }
  }
}

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

@PluginTarget( Node.class )
  public Path pathToReference( @Source Node me )
  {
    PathFinder<Path> finder = GraphAlgoFactory.shortestPath( PathExpanders.allTypesAndDirections(), 6 );
    return finder.findSinglePath( me.getGraphDatabase()
        .createNode(), me );
  }
}

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

@Override
  protected Traverser instantiateTraverser( Node start, Node end )
  {
    // Bidirectional traversal
    GraphDatabaseService db = start.getGraphDatabase();
    TraversalDescription base = db.traversalDescription().depthFirst().uniqueness( uniqueness() );
    return db.bidirectionalTraversalDescription()
        .startSide( base.expand( expander ).evaluator( toDepth( maxDepth / 2 ) ) )
        .endSide( base.expand( expander.reverse() ).evaluator( toDepth( maxDepth - maxDepth / 2 ) ) )
        .traverse( start, end );
  }
}

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

private ResourceIterable<WeightedPath> findPaths( Node start, Node end, boolean multiplePaths )
{
  PathInterest interest;
  if ( multiplePaths )
  {
    interest = stopAfterLowestWeight ? PathInterestFactory.allShortest() : PathInterestFactory.all();
  }
  else
  {
    interest = PathInterestFactory.single();
  }
  GraphDatabaseService db = start.getGraphDatabase();
  TraversalDescription traversalDescription = db.traversalDescription().uniqueness( Uniqueness.NONE )
      .expand( expander, initialState );
  lastTraverser = traversalDescription.order(
      new SelectorFactory( end, interest ) )
      .evaluator( includeWhereEndNodeIs( end ) )
      .traverse( start );
  return Iterators.asResourceIterable(
      new WeightedPathIterator( lastTraverser.iterator(), costEvaluator, stopAfterLowestWeight ) );
}

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

@Test
@Graph( "I know you" )
public void get_Relationship_by_ID() throws JsonParseException
{
  Node node = data.get().get( "I" );
  Relationship relationship;
  try ( Transaction transaction = node.getGraphDatabase().beginTx() )
  {
    relationship = node.getSingleRelationship(
        RelationshipType.withName( "know" ),
        Direction.OUTGOING );
  }
  String response = gen().expectedStatus(
      com.sun.jersey.api.client.ClientResponse.Status.OK.getStatusCode() ).get(
      getRelationshipUri( relationship ) ).entity();
  assertTrue( JsonHelper.jsonToMap( response ).containsKey( "start" ) );
}

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

@Override
  protected Traverser instantiateTraverser( Node start, Node end )
  {
    GraphDatabaseService db = start.getGraphDatabase();
    TraversalDescription side =
        db.traversalDescription().breadthFirst().uniqueness( uniqueness ).order(
            ( startSource, expander ) -> new LiteDepthFirstSelector( startSource, startThreshold, expander ) );
    return db.bidirectionalTraversalDescription().startSide( side.expand( expander ).evaluator( toDepth( onDepth / 2 ) ) )
        .endSide( side.expand( expander.reverse() ).evaluator( toDepth( onDepth - onDepth / 2 ) ) )
        .collisionEvaluator( atDepth( onDepth ) )
        // TODO Level side selector will make the traversal return wrong result, why?
        //                .sideSelector( SideSelectorPolicies.LEVEL, onDepth )
        .traverse( start, end );
  }
}

相关文章