|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface BatchInserter
The batch inserter drops support for transactions and concurrency in favor
of insertion speed. When done using the batch inserter shutdown()
must be invoked and complete successfully for the Neo4j store to be in
consistent state.
Only one thread at a time may work against the batch inserter, multiple threads performing concurrent access have to employ synchronization.
Transactions are not supported so if the JVM/machine crashes or you fail to
invoke shutdown()
before JVM exits the Neo4j store can be considered
being in non consistent state and the insertion has to be re-done from
scratch.
Method Summary | |
---|---|
void |
createNode(long id,
Map<String,Object> properties)
Creates a node with supplied id and properties. |
long |
createNode(Map<String,Object> properties)
Creates a node assigning next available id to id and also adds any properties supplied. |
long |
createRelationship(long node1,
long node2,
RelationshipType type,
Map<String,Object> properties)
Creates a relationship between two nodes of a specific type. |
Map<String,Object> |
getNodeProperties(long nodeId)
Returns a map containing all the properties of this node. |
long |
getReferenceNode()
Deprecated. The reference node concept is obsolete - indexes are the canonical way of getting hold of entry points in the graph. |
BatchRelationship |
getRelationshipById(long relId)
Gets a relationship by id. |
Iterable<Long> |
getRelationshipIds(long nodeId)
Returns an iterable over all the relationship ids connected to node with supplied id. |
Map<String,Object> |
getRelationshipProperties(long relId)
Returns a map containing all the properties of the relationships. |
Iterable<BatchRelationship> |
getRelationships(long nodeId)
Returns an iterable of relationships connected
to the node with supplied id. |
String |
getStoreDir()
Returns the path to this Neo4j store. |
boolean |
nodeExists(long nodeId)
Checks if a node with the given id exists. |
boolean |
nodeHasProperty(long node,
String propertyName)
Returns true iff the node with id node has a property with name
propertyName . |
boolean |
relationshipHasProperty(long relationship,
String propertyName)
Returns true iff the relationship with id relationship has a
property with name propertyName . |
void |
removeNodeProperty(long node,
String property)
Removes the property named property from the node with id
id , if present. |
void |
removeRelationshipProperty(long relationship,
String property)
Removes the property named property from the relationship with id
id , if present. |
void |
setNodeProperties(long node,
Map<String,Object> properties)
Sets the properties of a node. |
void |
setNodeProperty(long node,
String propertyName,
Object propertyValue)
Sets the property with name propertyName of node with id
node to the value propertyValue . |
void |
setRelationshipProperties(long rel,
Map<String,Object> properties)
Sets the properties of a relationship. |
void |
setRelationshipProperty(long relationship,
String propertyName,
Object propertyValue)
Sets the property with name propertyName of relationship with id
relationship to the value propertyValue . |
void |
shutdown()
Shuts down this batch inserter syncing all changes that are still only in memory to disk. |
Method Detail |
---|
long createNode(Map<String,Object> properties)
properties
- a map containing properties or null
if no
properties should be added.
boolean nodeExists(long nodeId)
nodeId
- the id of the node.
true
if the node exists.void setNodeProperties(long node, Map<String,Object> properties)
For best performance try supply all the nodes properties upon creation
of the node. This method will delete any existing properties so using it
together with getNodeProperties(long)
will have bad performance.
node
- the id of the node.properties
- map containing the properties or null
to
clear all properties.boolean nodeHasProperty(long node, String propertyName)
node
has a property with name
propertyName
.
node
- The node id of the node to check.propertyName
- The property name to check for
boolean relationshipHasProperty(long relationship, String propertyName)
relationship
has a
property with name propertyName
.
relationship
- The relationship id of the relationship to check.propertyName
- The property name to check for
void setNodeProperty(long node, String propertyName, Object propertyValue)
propertyName
of node with id
node
to the value propertyValue
. If the property exists
it is updated, otherwise created.
node
- The node id of the node whose property is to be setpropertyName
- The name of the property to setpropertyValue
- The value of the property to setvoid setRelationshipProperty(long relationship, String propertyName, Object propertyValue)
propertyName
of relationship with id
relationship
to the value propertyValue
. If the property
exists it is updated, otherwise created.
relationship
- The node id of the relationship whose property is to
be setpropertyName
- The name of the property to setpropertyValue
- The value of the property to setMap<String,Object> getNodeProperties(long nodeId)
nodeId
- the id of the node.
Iterable<Long> getRelationshipIds(long nodeId)
nodeId
- the id of the node.
Iterable<BatchRelationship> getRelationships(long nodeId)
relationships
connected
to the node with supplied id.
nodeId
- the id of the node.
void createNode(long id, Map<String,Object> properties)
id
- the id of the node to create.properties
- map containing properties or null
if no
properties should be added.long createRelationship(long node1, long node2, RelationshipType type, Map<String,Object> properties)
node1
- the start node.node2
- the end node.type
- relationship type.properties
- map containing properties or null
if no
properties should be added.
BatchRelationship getRelationshipById(long relId)
relId
- the relationship id.
void setRelationshipProperties(long rel, Map<String,Object> properties)
For best performance try supply all the relationship properties upon
creation of the relationship. This method will delete any existing
properties so using it together with
getRelationshipProperties(long)
will have bad performance.
rel
- the id of the relationship.properties
- map containing the properties or null
to
clear all properties.Map<String,Object> getRelationshipProperties(long relId)
relId
- the id of the relationship.
void removeNodeProperty(long node, String property)
property
from the node with id
id
, if present.
node
- The id of the node from which to remove the propertyproperty
- The name of the propertyvoid removeRelationshipProperty(long relationship, String property)
property
from the relationship with id
id
, if present.
relationship
- The id of the relationship from which to remove the
propertyproperty
- The name of the propertyvoid shutdown()
After this method has been invoked any other method call to this batch inserter is illegal.
String getStoreDir()
@Deprecated long getReferenceNode()
-1
if it doesn't exist.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |