org.neo4j.graphdb
Interface GraphDatabaseService

All Known Subinterfaces:
GraphDatabaseAPI
All Known Implementing Classes:
AbstractGraphDatabase, EmbeddedGraphDatabase, EmbeddedReadOnlyGraphDatabase, InternalAbstractGraphDatabase

public interface GraphDatabaseService

The main access point to a running Neo4j instance. The most common implementation is the EmbeddedGraphDatabase class, which is used to embed Neo4j in an application. Typically, you would create an EmbeddedGraphDatabase instance as follows:

 GraphDatabaseService graphDb = new EmbeddedGraphDatabase( "var/graphDb" );
 // ... use Neo4j
 graphDb.shutdown();
 
GraphDatabaseService provides operations to create nodes, get nodes given an id, get the reference node and ultimately shutdown Neo4j.

Please note that all operations that write to the graph must be invoked in a transactional context. Failure to do so will result in a NotInTransactionException being thrown.


Method Summary
 Transaction beginTx()
          Starts a new transaction and associates it with the current thread.
 Node createNode()
          Creates a new node.
 Iterable<Node> getAllNodes()
          Deprecated. this operation can be found in GlobalGraphOperations instead.
 Node getNodeById(long id)
          Looks up a node by id.
 Node getReferenceNode()
          Deprecated. The reference node concept is obsolete - indexes are the canonical way of getting hold of entry points in the graph.
 Relationship getRelationshipById(long id)
          Looks up a relationship by id.
 Iterable<RelationshipType> getRelationshipTypes()
          Deprecated. this operation can be found in GlobalGraphOperations instead.
 IndexManager index()
          Returns the IndexManager paired with this graph database service and is the entry point for managing indexes coupled with this database.
 KernelEventHandler registerKernelEventHandler(KernelEventHandler handler)
          Registers handler as a handler for kernel events which are generated from different places in the lifecycle of the kernel.
<T> TransactionEventHandler<T>
registerTransactionEventHandler(TransactionEventHandler<T> handler)
          Registers handler as a handler for transaction events which are generated from different places in the lifecycle of each transaction.
 void shutdown()
          Shuts down Neo4j.
 KernelEventHandler unregisterKernelEventHandler(KernelEventHandler handler)
          Unregisters handler from the list of kernel event handlers.
<T> TransactionEventHandler<T>
unregisterTransactionEventHandler(TransactionEventHandler<T> handler)
          Unregisters handler from the list of transaction event handlers.
 

Method Detail

createNode

Node createNode()
Creates a new node.

Returns:
the created node.

getNodeById

Node getNodeById(long id)
Looks up a node by id. Please note: Neo4j reuses its internal ids when nodes and relationships are deleted, which means it's bad practice to refer to them this way. Instead, use application generated ids.

Parameters:
id - the id of the node
Returns:
the node with id id if found
Throws:
NotFoundException - if not found

getRelationshipById

Relationship getRelationshipById(long id)
Looks up a relationship by id. Please note: Neo4j reuses its internal ids when nodes and relationships are deleted, which means it's bad practice to refer to them this way. Instead, use application generated ids.

Parameters:
id - the id of the relationship
Returns:
the relationship with id id if found
Throws:
NotFoundException - if not found

getReferenceNode

@Deprecated
Node getReferenceNode()
Deprecated. The reference node concept is obsolete - indexes are the canonical way of getting hold of entry points in the graph.

Returns the reference node, which is a "starting point" in the node space. Usually, a client attaches relationships to this node that leads into various parts of the node space.

Returns:
the reference node
Throws:
NotFoundException - if unable to get the reference node

getAllNodes

Iterable<Node> getAllNodes()
Deprecated. this operation can be found in GlobalGraphOperations instead.

Returns all nodes in the graph.

Returns:
all nodes in the graph.

getRelationshipTypes

Iterable<RelationshipType> getRelationshipTypes()
Deprecated. this operation can be found in GlobalGraphOperations instead.

Returns all relationship types currently in the underlying store. Relationship types are added to the underlying store the first time they are used in a successfully commited node.createRelationshipTo(...). Note that this method is guaranteed to return all known relationship types, but it does not guarantee that it won't return more than that (e.g. it can return "historic" relationship types that no longer have any relationships in the node space).

Returns:
all relationship types in the underlying store

shutdown

void shutdown()
Shuts down Neo4j. After this method has been invoked, it's invalid to invoke any methods in the Neo4j API and all references to this instance of GraphDatabaseService should be discarded.


beginTx

Transaction beginTx()
Starts a new transaction and associates it with the current thread.

Returns:
a new transaction instance

registerTransactionEventHandler

<T> TransactionEventHandler<T> registerTransactionEventHandler(TransactionEventHandler<T> handler)
Registers handler as a handler for transaction events which are generated from different places in the lifecycle of each transaction. To guarantee that the handler gets all events properly it shouldn't be registered when the application is running (i.e. in the middle of one or more transactions). If the specified handler instance has already been registered this method will do nothing.

Type Parameters:
T - the type of state object used in the handler, see more documentation about it at TransactionEventHandler.
Parameters:
handler - the handler to receive events about different states in transaction lifecycles.
Returns:
the handler passed in as the argument.

unregisterTransactionEventHandler

<T> TransactionEventHandler<T> unregisterTransactionEventHandler(TransactionEventHandler<T> handler)
Unregisters handler from the list of transaction event handlers. If handler hasn't been registered with registerTransactionEventHandler(TransactionEventHandler) prior to calling this method an IllegalStateException will be thrown. After a successful call to this method the handler will no longer receive any transaction events.

Type Parameters:
T - the type of state object used in the handler, see more documentation about it at TransactionEventHandler.
Parameters:
handler - the handler to receive events about different states in transaction lifecycles.
Returns:
the handler passed in as the argument.
Throws:
IllegalStateException - if handler wasn't registered prior to calling this method.

registerKernelEventHandler

KernelEventHandler registerKernelEventHandler(KernelEventHandler handler)
Registers handler as a handler for kernel events which are generated from different places in the lifecycle of the kernel. To guarantee proper behaviour the handler should be registered right after the graph database has been started. If the specified handler instance has already been registered this method will do nothing.

Parameters:
handler - the handler to receive events about different states in the kernel lifecycle.
Returns:
the handler passed in as the argument.

unregisterKernelEventHandler

KernelEventHandler unregisterKernelEventHandler(KernelEventHandler handler)
Unregisters handler from the list of kernel event handlers. If handler hasn't been registered with registerKernelEventHandler(KernelEventHandler) prior to calling this method an IllegalStateException will be thrown. After a successful call to this method the handler will no longer receive any kernel events.

Parameters:
handler - the handler to receive events about different states in the kernel lifecycle.
Returns:
the handler passed in as the argument.
Throws:
IllegalStateException - if handler wasn't registered prior to calling this method.

index

IndexManager index()
Returns the IndexManager paired with this graph database service and is the entry point for managing indexes coupled with this database.

Returns:
the IndexManager for this database.


Copyright © 2002-2012 The Neo4j Graph Database Project. All Rights Reserved.