Neo4j Server: Client¶
Bulbs low-level client for Neo4j Server.
Neo4jClient¶
- class bulbs.neo4jserver.client.Neo4jClient(config=None)[source]¶
Low-level client that sends a request to Neo4j Server and returns a response.
Parameters: config (bulbs.config.Config) – Optional Config object. Defaults to default Config.
Variables: - config – Config object.
- registry – Registry object.
- scripts – GroovyScripts object.
- type_system – JSONTypeSystem object.
- request – Neo4jRequest object.
Example:
>>> from bulbs.neo4jserver import Neo4jClient >>> client = Neo4jClient() >>> response = client.get_all_vertices() >>> result = response.results.next()
- default_uri = 'http://localhost:7474/db/data/'¶
Default URI for the database.
- request_class¶
Request class for the Client.
alias of Neo4jRequest
- gremlin(script, params=None)[source]¶
Executes a Gremlin script and returns the Response.
Parameters: - script (str) – Gremlin script to execute.
- params (dict) – Param bindings for the script.
Return type: Neo4jResponse
- cypher(query, params=None)[source]¶
Executes a Cypher query and returns the Response.
Parameters: - query (str) – Cypher query to execute.
- params (dict) – Param bindings for the query.
Return type: Neo4jResponse
- create_vertex(data)[source]¶
Creates a vertex and returns the Response.
Parameters: data (dict) – Property data. Return type: Neo4jResponse
- get_vertex(_id)[source]¶
Gets the vertex with the _id and returns the Response.
Parameters: data (int) – Vertex ID. Return type: Neo4jResponse
- get_all_vertices()[source]¶
Returns a Response containing all the vertices in the Graph.
Return type: Neo4jResponse
- update_vertex(_id, data)[source]¶
Updates the vertex with the _id and returns the Response.
Parameters: - _id (dict) – Vertex ID.
- data (dict) – Property data.
Return type: Neo4jResponse
- delete_vertex(_id)[source]¶
Deletes a vertex with the _id and returns the Response.
Parameters: _id (dict) – Vertex ID. Return type: Neo4jResponse
- create_edge(outV, label, inV, data=None)[source]¶
Creates a edge and returns the Response.
Parameters: - outV (int) – Outgoing vertex ID.
- label (str) – Edge label.
- inV (int) – Incoming vertex ID.
- data (dict or None) – Property data.
Return type: Neo4jResponse
- get_edge(_id)[source]¶
Gets the edge with the _id and returns the Response.
Parameters: data (int) – Edge ID. Return type: Neo4jResponse
- get_all_edges()[source]¶
Returns a Response containing all the edges in the Graph.
Return type: Neo4jResponse
- update_edge(_id, data)[source]¶
Updates the edge with the _id and returns the Response.
Parameters: - _id (dict) – Edge ID.
- data (dict) – Property data.
Return type: Neo4jResponse
- delete_edge(_id)[source]¶
Deletes a edge with the _id and returns the Response.
Parameters: _id (dict) – Edge ID. Return type: Neo4jResponse
- outE(_id, label=None, start=None, limit=None)[source]¶
Returns the outgoing edges of the vertex.
Parameters: - _id (dict) – Vertex ID.
- label (str) – Optional edge label. Defaults to None.
Return type: Neo4jResponse
- inE(_id, label=None, start=None, limit=None)[source]¶
Returns the incoming edges of the vertex.
Parameters: - _id (dict) – Vertex ID.
- label (str) – Optional edge label. Defaults to None.
Return type: Neo4jResponse
- bothE(_id, label=None, start=None, limit=None)[source]¶
Returns the incoming and outgoing edges of the vertex.
Parameters: - _id (dict) – Vertex ID.
- label (str) – Optional edge label. Defaults to None.
Return type: Neo4jResponse
- outV(_id, label=None, start=None, limit=None)[source]¶
Returns the out-adjacent vertices of the vertex.
Parameters: - _id (dict) – Vertex ID.
- label (str) – Optional edge label. Defaults to None.
Return type: Neo4jResponse
- inV(_id, label=None, start=None, limit=None)[source]¶
Returns the in-adjacent vertices of the vertex.
Parameters: - _id (dict) – Vertex ID.
- label (str) – Optional edge label. Defaults to None.
Return type: Neo4jResponse
- bothV(_id, label=None, start=None, limit=None)[source]¶
Returns the incoming- and outgoing-adjacent vertices of the vertex.
Parameters: - _id (dict) – Vertex ID.
- label (str) – Optional edge label. Defaults to None.
Return type: Neo4jResponse
- create_vertex_index(index_name, *args, **kwds)[source]¶
Creates a vertex index with the specified params.
Parameters: index_name (str) – Name of the index to create. Return type: Neo4jResponse
- get_vertex_index(index_name)[source]¶
Returns the vertex index with the index_name.
Parameters: index_name (str) – Name of the index. Return type: Neo4jResponse
- get_or_create_vertex_index(index_name, *args, **kwds)[source]¶
Get a Vertex Index or create it if it doesn’t exist.
Parameters: - index_name (str) – Index name.
- index_config (dict) – Index configuration.
Return type: bulbs.neo4jserver.index.Index
- delete_vertex_index(index_name)[source]¶
Deletes the vertex index with the index_name.
Parameters: index_name (str) – Name of the index. Return type: Neo4jResponse
- create_edge_index(index_name, *args, **kwds)[source]¶
Creates a edge index with the specified params.
Parameters: index_name (str) – Name of the index. Return type: Neo4jResponse
- get_edge_index(index_name)[source]¶
Returns the edge index with the index_name.
Parameters: index_name (str) – Name of the index. Return type: Neo4jResponse
- get_or_create_edge_index(index_name, *args, **kwds)[source]¶
Get a Edge Index or create it if it doesn’t exist.
Parameters: - index_name (str) – Index name.
- index_config (dict) – Index configuration.
Return type: bulbs.neo4jserver.index.Index
- delete_edge_index(index_name)[source]¶
Deletes the edge index with the index_name.
Parameters: index_name (str) – Name of the index. Return type: Neo4jResponse
- put_vertex(index_name, key, value, _id)[source]¶
Adds a vertex to the index with the index_name.
Parameters: - index_name (str) – Name of the index.
- key (str) – Name of the key.
- value (str) – Value of the key.
- _id (int) – Vertex ID
Return type: Neo4jResponse
- lookup_vertex(index_name, key, value)[source]¶
Returns the vertices indexed with the key and value.
Parameters: - index_name (str) – Name of the index.
- key (str) – Name of the key.
- value (str) – Value of the key.
Return type: Neo4jResponse
- query_vertex(index_name, query)[source]¶
Queries the index and returns the Response.
Parameters: - index_name (str) – Name of the index.
- query (str) – Lucene query string
Return type: Neo4jResponse
- remove_vertex(index_name, _id, key=None, value=None)[source]¶
Removes a vertex from the index and returns the Response.
Parameters: - index_name (str) – Name of the index.
- key (str) – Optional. Name of the key.
- value (str) – Optional. Value of the key.
Return type: Neo4jResponse
- put_edge(index_name, key, value, _id)[source]¶
Adds an edge to the index and returns the Response.
Parameters: - index_name (str) – Name of the index.
- key (str) – Name of the key.
- value (str) – Value of the key.
- _id (int) – Edge ID
Return type: Neo4jResponse
- lookup_edge(index_name, key, value)[source]¶
Looks up an edge in the index and returns the Response.
Parameters: - index_name (str) – Name of the index.
- key (str) – Name of the key.
- value (str) – Value of the key.
Return type: Neo4jResponse
- query_edge(index_name, query)[source]¶
Queries the index and returns the Response.
Parameters: - index_name (str) – Name of the index.
- query (str) – Lucene query string
Return type: Neo4jResponse
- remove_edge(index_name, _id, key=None, value=None)[source]¶
Removes an edge from the index and returns the Response.
Parameters: - index_name (str) – Name of the index.
- _id (int) – Edge ID
- key (str) – Optional. Name of the key.
- value (str) – Optional. Value of the key.
Return type: Neo4jResponse
- create_indexed_vertex(data, index_name, keys=None)[source]¶
Creates a vertex, indexes it, and returns the Response.
Parameters: - data (dict) – Property data.
- index_name (str) – Name of the index.
- keys (list) – Property keys to index.
Return type: Neo4jResponse
- update_indexed_vertex(_id, data, index_name, keys=None)[source]¶
Updates an indexed vertex and returns the Response.
Parameters: - index_name (str) – Name of the index.
- data (dict) – Property data.
- index_name – Name of the index.
- keys (list) – Property keys to index.
Return type: Neo4jResponse
- create_indexed_edge(outV, label, inV, data, index_name, keys=None)[source]¶
Creates a edge, indexes it, and returns the Response.
Parameters: - outV (int) – Outgoing vertex ID.
- label (str) – Edge label.
- inV (int) – Incoming vertex ID.
- data (dict) – Property data.
- index_name (str) – Name of the index.
- keys (list) – Property keys to index. Defaults to None (indexes all properties).
Return type: Neo4jResponse
- update_indexed_edge(_id, data, index_name, keys=None)[source]¶
Updates an indexed edge and returns the Response.
Parameters: - _id (int) – Edge ID.
- data (dict) – Property data.
- index_name (str) – Name of the index.
- keys (list) – Property keys to index. Defaults to None (indexes all properties).
Return type: Neo4jResponse
- set_metadata(key, value)[source]¶
Sets the metadata key to the supplied value.
Parameters: - key (str) – Metadata key
- value (str, int, or list) – Metadata value.
Return type: Neo4jResponse
Neo4jRequest¶
- class bulbs.neo4jserver.client.Neo4jRequest(config, content_type)[source]¶
Makes HTTP requests to Neo4j Server and returns a Neo4jResponse.
- response_class¶
alias of Neo4jResponse
- get(path, params=None)¶
Convenience method that sends GET requests to the client.
Parameters: - path (str) – Path to the server resource, relative to the root URI.
- params (dict) – Optional URI params for the resource.
Return type: Response
- put(path, params=None)¶
Convenience method that sends PUT requests to the client.
Parameters: - path (str) – Path to the server resource, relative to the root URI.
- params (dict) – Optional URI params for the resource.
Return type: Response
- post(path, params=None)¶
Convenience method that sends POST requests to the client.
Parameters: - path (str) – Path to the server resource, relative to the root URI.
- params (dict) – Optional URI params for the resource.
Return type: Response
- delete(path, params=None)¶
Convenience method that sends DELETE requests to the client.
Parameters: - path (str) – Path to the server resource, relative to the root URI.
- params (dict) – Optional URI params for the resource.
Return type: Response
- send(message)¶
Convenience method that sends request messages to the client.
Parameters: - message – Tuple containing: (HTTP method, path, params)
- params (dict) – Optional URI params for the resource.
Return type: Response
- request(method, path, params)¶
Sends a request to the client.
Parameters: - method (str) – HTTP method: GET, PUT, POST, or DELETE.
- path (str) – Path to the server resource, relative to the root URI.
- params (dict) – Optional URI parameters for the resource.
Return type: Response
Neo4jResponse¶
- class bulbs.neo4jserver.client.Neo4jResponse(response, config)[source]¶
Container class for the server response.
Parameters: - response (tuple) – httplib2 response: (headers, content).
- config (bulbs.config.Config) – Config object.
Variables: - config – Config object.
- headers – httplib2 response headers, see:
- content – A dict containing the HTTP response content.
- results – A generator of Neo4jResult objects, a single Neo4jResult object, or None, depending on the number of results returned.
- total_size – The number of results returned.
- raw – Raw HTTP response. Only set when log_level is DEBUG.
- result_class¶
alias of Neo4jResult
- handle_response(response)[source]¶
Check the server response and raise exception if needed.
Parameters: response (tuple) – httplib2 response: (headers, content). Return type: None
- get_headers(response)[source]¶
Returns a dict containing the headers from the response.
Parameters: response (tuple) – httplib2 response: (headers, content). Return type: httplib2.Response
- get_content(response)[source]¶
Returns a dict containing the content from the response.
Parameters: response (tuple) – httplib2 response: (headers, content). Return type: dict or None
- get_results()[source]¶
Returns the results contained in the response.
Returns: A tuple containing two items: 1. Either a generator of Neo4jResult objects, a single Neo4jResult object, or None, depending on the number of results returned; 2. An int representing the number results returned. Return type: tuple
- get(attribute)¶
Return a client-specific attribute.
- one()¶
Returns one result or raises an error if there is more than one result.
Return type: Result