-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Neo4j adapter for fortune #119
Comments
I think the most powerful way of interacting with Neo4J is using the Cypher query language http://neo4j.com/docs/2.0/cypher-refcard/?mkt_tok=3RkMMJWWfF9wsRogu6%2FAZKXonjHpfsX94%2B0uWKG%2FlMI%2F0ER3fOvrPUfGjI4ESMZlI%2BSLDwEYGJlv6SgFTbfGMadv1LgNXRQ%3D There are a number of Node.js modules available http://neo4j.com/developer/javascript/ . The most usable, I have found to be is https://github.com/philippkueng/node-neo4j An update is slightly complex in Neo4J and basically can be achieved the same way as an insert. The MERGE keyword (explained here http://graphaware.com/neo4j/2014/07/31/cypher-merge-explained.html) is the function I have used in the past, basically it checks to see if the node exists, if not it inserts or updates it. Without using the MERGE it can be tricky to ensure that nodes and their relationships are unique (which is not always a requirement in graph databases) . Neo4J does provide a Rest API Ex: GET /db/data/node/0 MIght return something like: { |
I have started the technical specification , feel free to comment NOTE: This is not a generic adaptor, as a first pass we will create an initial class to handle a particular data model. https://docs.google.com/document/d/1BgC1oD0gv9FqYl7qhL5C54Eh4USiCt3K4jxc-PKRnRM/edit?usp=sharing |
Fork for this task https://github.com/avrono/fortune.git - ignore first spec - will create a generic adapter for Neo4J |
can possibly use the Rest API directly http://neo4j.com/docs/stable/rest-api.html |
Neo4j as a data store can open up a number of options for us in terms of analysing our data. This could be as a primary data store, or as a secondary store synced from a different adapter, e.g MongoDB.
As a first pass we should prototype an adapter to insert into and read from a neo4j instance.
Should we use an npm es package? Which one? Or the raw HTTP interface?
Is there a bulk insert API?
How should we do updates?
The text was updated successfully, but these errors were encountered: