All Projects → neo4j-contrib → neo4j_doc_manager

neo4j-contrib / neo4j_doc_manager

Licence: Apache-2.0 license
Doc manager for Neo4j

Projects that are alternatives of or similar to neo4j doc manager

Graph Data Science
Source code for the Neo4j Graph Data Science library of graph algorithms.
Stars: ✭ 251 (+164.21%)
Mutual labels:  neo4j
ark.db
Small and fast JSON database for Node and browser. 😋
Stars: ✭ 65 (-31.58%)
Mutual labels:  mongodb-support
graphql
A GraphQL to Cypher query execution layer for Neo4j and JavaScript GraphQL implementations.
Stars: ✭ 397 (+317.89%)
Mutual labels:  neo4j
BusinessIntelligence
商务智能期末项目
Stars: ✭ 43 (-54.74%)
Mutual labels:  neo4j
database-journal
Databases: Concepts, commands, codes, interview questions and more...
Stars: ✭ 50 (-47.37%)
Mutual labels:  neo4j
PyEmbeo
graph embeddings for neo4j in python
Stars: ✭ 25 (-73.68%)
Mutual labels:  neo4j
Neo4j Java Driver
Neo4j Bolt driver for Java
Stars: ✭ 241 (+153.68%)
Mutual labels:  neo4j
faunadb-importer
Importer tool to load data into FaunaDB
Stars: ✭ 33 (-65.26%)
Mutual labels:  importer
buttercup-importer
🎣 3rd-party archive importer for Buttercup
Stars: ✭ 39 (-58.95%)
Mutual labels:  importer
neo4j-expire
GraphAware Module for Expiring (Deleting) Nodes and Relationships
Stars: ✭ 30 (-68.42%)
Mutual labels:  neo4j
twitch-project
A weekly stream in which I build a web application with Neo4j and Typescript
Stars: ✭ 78 (-17.89%)
Mutual labels:  neo4j
neo4j-faker
Use faker cypher functions to generate demo and test data with cypher
Stars: ✭ 30 (-68.42%)
Mutual labels:  neo4j
assertj-neo4j
Assertions for Neo4J
Stars: ✭ 13 (-86.32%)
Mutual labels:  neo4j
sublime-simple-import
A Sublime Text Plugin that helps you to import your modules.
Stars: ✭ 15 (-84.21%)
Mutual labels:  importer
neo4j-jdbc
JDBC driver for Neo4j
Stars: ✭ 110 (+15.79%)
Mutual labels:  neo4j
Neo4j Framework
GraphAware Neo4j Framework
Stars: ✭ 247 (+160%)
Mutual labels:  neo4j
neo4j-ogm-university
Example Project for Neo4j OGM
Stars: ✭ 52 (-45.26%)
Mutual labels:  neo4j
CyFHIR
A Neo4j Plugin for Handling HL7 FHIR Data
Stars: ✭ 39 (-58.95%)
Mutual labels:  neo4j
ComplexNetwork
中国娱乐圈关系挖掘,可以快速的查询明星之间的关系。This is a complex network of course assignments. The realization of the relationship analysis and visualization of China's entertainment industry, you can quickly query the relationship between the stars
Stars: ✭ 24 (-74.74%)
Mutual labels:  neo4j
angular-neo4j
Neo4j Bolt driver wrapper for Angular
Stars: ✭ 18 (-81.05%)
Mutual labels:  neo4j

Overview

The Neo4j Doc Manager takes MongoDB documents and makes it easy to query them for relationships by making them available in a Neo4j graph structure, following the format specified by Mongo Connector. It is intended for live one-way syncronization from MongoDB to Neo4j, where you have both databases running and take advantage of each databases' strength in your application (polyglot persistance).

Note

The software in this repository is provided AS IS, with no guarantees of any kind.

Installing

You must have Python installed in order to use this project. Python 3 is recommended.

First, install neo4j_doc_manager with pip:

pip install neo4j-doc-manager

(You might need sudo privileges).

Refer to this document for more information if you experience any difficulties installing with pip.

Using Neo4j Doc Manager

Ensure that you have a Neo4j instance up and running. If you have authentication enabled (version 2.2+) for Neo4j, be sure to set NEO4J_AUTH environment variable, containing your user and password.

export NEO4J_AUTH=user:password

Ensure that mongo is running a replica set. To initiate a replica set start mongo with:

mongod --replSet myDevReplSet

Then open mongo-shell and run:

rs.initiate()

Please refer to Mongo Connector FAQ for more information.

Start the mongo-connector service with the following command:

mongo-connector -m localhost:27017 -t http://localhost:7474/db/data -d neo4j_doc_manager

-m provides Mongo endpoint -t provides Neo4j endpoint. Be sure to specify the protocol (http). -d specifies Neo4j Doc Manager.

Data synchronization

With the neo4j_doc_manager service running, any documents inserted into mongo will be converted into a graph structure and immediately inserted into Neo4j as well. Neo4j Doc Manager will turn keys into graph nodes. Nested values on each key will become properties.

To see this in action, consider the following document:

{
  "session": {
    "title": "12 Years of Spring: An Open Source Journey",
    "abstract": "Spring emerged as a core open source project in early 2003 and evolved to a broad portfolio of open source projects up until 2015."
  },
  "topics":  ["keynote", "spring"],
  "room": "Auditorium",
  "timeslot": "Wed 29th, 09:30-10:30",
  "speaker": {
    "name": "Juergen Hoeller",
    "bio": "Juergen Hoeller is co-founder of the Spring Framework open source project.",
    "twitter": "https://twitter.com/springjuergen",
    "picture": "http://www.springio.net/wp-content/uploads/2014/11/juergen_hoeller-220x220.jpeg"
  }
}

Insert the following document into mongo using the mongo-shell:

db.talks.insert(  { "session": { "title": "12 Years of Spring: An Open Source Journey", "abstract": "Spring emerged as a core open source project in early 2003 and evolved to a broad portfolio of open source projects up until 2015." }, "topics":  ["keynote", "spring"], "room": "Auditorium", "timeslot": "Wed 29th, 09:30-10:30", "speaker": { "name": "Juergen Hoeller", "bio": "Juergen Hoeller is co-founder of the Spring Framework open source project.", "twitter": "https://twitter.com/springjuergen", "picture": "http://www.springio.net/wp-content/uploads/2014/11/juergen_hoeller-220x220.jpeg" } } );

This document will be converted to a graph structure and immediately inserted into Neo4j:

Refer to this document for more information and examples.

Resources

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].