X-Git-Url: http://nitlanguage.org diff --git a/lib/neo4j/neo4j.nit b/lib/neo4j/neo4j.nit index 8d3edb0..8c10f6e 100644 --- a/lib/neo4j/neo4j.nit +++ b/lib/neo4j/neo4j.nit @@ -14,16 +14,10 @@ # Neo4j connector through its JSON REST API using curl. # -# For ease of use and testing this module provide a wrapper to the `neo4j` command: -# -# # Start the Neo4j server -# var srv = new Neo4jServer -# assert srv.start_quiet -# # In order to connect to Neo4j you need a connector: # # # Create new Neo4j client -# var client = new Neo4jClient("http://localhost:7474") +# var client = new Neo4jClient("http://neo4j:7474") # assert client.is_ok # # The fundamental units that form a graph are nodes and relationships. @@ -66,39 +60,9 @@ module neo4j import curl_json import error -# Handles Neo4j server start and stop command -# -# `neo4j` binary must be in `PATH` in order to work -class Neo4jServer - - # Start the local Neo4j server instance - fun start: Bool do - sys.system("neo4j start console") - return true - end - - # Like `start` but redirect the console output to `/dev/null` - fun start_quiet: Bool do - sys.system("neo4j start console > /dev/null") - return true - end - - # Stop the local Neo4j server instance - fun stop: Bool do - sys.system("neo4j stop") - return true - end - - # Like `stop` but redirect the console output to `/dev/null` - fun stop_quiet: Bool do - sys.system("neo4j stop > /dev/null") - return true - end -end - # `Neo4jClient` is needed to communicate through the REST API # -# var client = new Neo4jClient("http://localhost:7474") +# var client = new Neo4jClient("http://neo4j:7474") # assert client.is_ok class Neo4jClient @@ -111,8 +75,6 @@ class Neo4jClient # REST service to send cypher requests private var cypher_url: String - private var curl = new Curl - init(base_url: String) do self.base_url = base_url var root = service_root @@ -142,7 +104,7 @@ class Neo4jClient # Save the node in base # - # var client = new Neo4jClient("http://localhost:7474") + # var client = new Neo4jClient("http://neo4j:7474") # # # Create a node # var andres = new NeoNode @@ -198,7 +160,7 @@ class Neo4jClient # Save the edge in base # From and to nodes will be created. # - # var client = new Neo4jClient("http://localhost:7474") + # var client = new Neo4jClient("http://neo4j:7474") # # var andres = new NeoNode # var kate = new NeoNode @@ -247,7 +209,7 @@ class Neo4jClient # Retrieve all nodes with specified `lbl` # - # var client = new Neo4jClient("http://localhost:7474") + # var client = new Neo4jClient("http://neo4j:7474") # # var andres = new NeoNode # andres.labels.add_all(["Human", "Male"]) @@ -273,7 +235,7 @@ class Neo4jClient # Retrieve nodes belonging to all the specified `labels`. # - # var client = new Neo4jClient("http://localhost:7474") + # var client = new Neo4jClient("http://neo4j:7474") # # var andres = new NeoNode # andres.labels.add_all(["Human", "Male"]) @@ -389,7 +351,7 @@ end # # Example: # -# var client = new Neo4jClient("http://localhost:7474") +# var client = new Neo4jClient("http://neo4j:7474") # var query = new CypherQuery # query.nmatch("(n)-[r:LOVES]->(m)") # query.nwhere("n.name=\"Andres\"") @@ -463,8 +425,10 @@ class CypherQuery # Return `self`. # # ``` - # var query = (new CypherQuery).nmatch("(n)").nwhere( - # "n.key = key").set("key", "foo") + # var query = (new CypherQuery). + # nmatch("(n)"). + # nwhere("n.key = \{key\}"). + # set("key", "foo") # # assert query.params["key"] == "foo" # ``` @@ -506,7 +470,7 @@ end # Then we can link the entity to the base: # # # Init client -# var client = new Neo4jClient("http://localhost:7474") +# var client = new Neo4jClient("http://neo4j:7474") # client.save_node(andres) # # The node is now linked # assert andres.is_linked @@ -598,7 +562,7 @@ end # # Creating new nodes: # -# var client = new Neo4jClient("http://localhost:7474") +# var client = new Neo4jClient("http://neo4j:7474") # # var andres = new NeoNode # andres.labels.add "Person" @@ -711,7 +675,7 @@ end # # Create a relationship: # -# var client = new Neo4jClient("http://localhost:7474") +# var client = new Neo4jClient("http://neo4j:7474") # # Create nodes # var andres = new NeoNode # andres["name"] = "Andres" @@ -804,7 +768,7 @@ end # # Example: # -# var client = new Neo4jClient("http://localhost:7474") +# var client = new Neo4jClient("http://neo4j:7474") # # var node1 = new NeoNode # var node2 = new NeoNode @@ -1011,7 +975,7 @@ end # This is a representation of a neo job in JSON Format # # Each job description should contain a `to` attribute, with a value relative to the data API root -# (so http://localhost:7474/db/data/node becomes just /node), and a `method` attribute containing +# (so http://neo4j:7474/db/data/node becomes just /node), and a `method` attribute containing # HTTP verb to use. # # Optionally you may provide a `body` attribute, and an `id` attribute to help you keep track