Skip to content
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

Develop neo #224

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -206,4 +206,93 @@ Download mobile App

And start receiving notifications immediately! It's as simple as this. The App is available in Google Play for Android and App Store iOS.

![Figure N - Sinfonier Topologies Instapush Configure Drain](images/sinfonier_topologies_modules_instapush_install_app.png "Figure N - Sinfonier Topologies Instapush Configure Drain")
![Figure N - Sinfonier Topologies Instapush Configure Drain](images/sinfonier_topologies_modules_instapush_install_app.png "Figure N - Sinfonier Topologies Instapush Configure Drain")

###<a name="section3.6"></a>Display

####<a name="section3.6.1"></a>Neo4j

Neo4j is a world's leading open source Graph Database. It is completely developed by using Java Language by Neo Technology.

![Figure N - Sinfonier Topologies Neo4j Logo](images/sinfonier_topologies_modules_neo4j_logo.png "Figure N - Sinfonier Topologies Neo4j Logo")

Neo4j is a one of the popular Graph Databases and CQL stands for Cypher Query Language. Neo4j is written in Java Language.

Neo4j is supported by a rich ecosystem of libraries, tools, drivers and guides provided by partners, users and community contributors. We want to give an overview about what’s available and link to the original sources. We try to focus on the freely available solutions here, and provide links to commercial options where appropriate.

**Common uses causes**

* Social Networks
* Recommendation Engines
* Geo Routing

Sinfonier Neo4jEntitiesLabel Bolt allow users create uniques nodes associated to a specific label.

![Figure N - Sinfonier Topologies Neo4j Neo4jEntitiesLabel](images/sinfonier_topologies_modules_neo4j_neo4jentitieslabel.PNG "Figure N - Sinfonier Topologies Neo4jEntitiesLabel")

Fields description:

* **urlDatabase** are used to connect with your database. REST URL: http://Host:Port/db/data/.
* **user:pass** authorization to database, REST USERNAME:REST PASSWORD.
* **index** value of the index nodes, the node is created if it doesn’t exist in the unique index already.
* **listEntities**
+ *Key* : Parameter to identify the key of a node.
+ *Value* : Parameter to the tuple to identify a node.
+ *Default* : Parameter to set the label of a node.


Sinfonier Neo4jListParams Drain allow users set parameters to a node associated to a specific key-value.

![Figure N - Sinfonier Topologies Neo4j ParamsNeo](images/sinfonier_topologies_modules_neo4j_paramsneo.PNG "Figure N - Sinfonier Topologies ParamsNeo")

Fields description:

* **urlDatabase** are used to connect with your database. REST URL: http://Host:Port/db/data/.
* **user:pass** authorization to database, REST USERNAME:REST PASSWORD.
* **index** value of the index nodes, the node is created if it doesn’t exist in the unique index already.
* **listEntities**
+ *Key* : Parameter to identify the key of a node.
+ *Value* : Parameter to the tuple to identify a node.
* **listParams**
+ *Key* : Parameter to identify the key of a parameter.
+ *Value* : Parameter to the tuple to set the parameter.


Sinfonier Neo4jRelationshipsUniqueId Drain allow users create uniques relationships between nodes.

![Figure N - Sinfonier Topologies Neo4j RelationsNeo](images/sinfonier_topologies_modules_neo4j_relationsneo.PNG "Figure N - Sinfonier Topologies RelationsNeo")

Fields description:

* **urlDatabase** are used to connect with your database. REST URL: http://Host:Port/db/data/.
* **user:pass** authorization to database, REST USERNAME:REST PASSWORD.
* **index** value of the index nodes, the node is created if it doesn’t exist in the unique index already.
* **key** value of the key which identify to all nodes on the relationships.
* **listEntities**
+ *Key* : Parameter to the tuple to identify a start node.
+ *Value* : Parameter to set the type of the relationship.
+ *Default* : Parameter to the tuple to identify a end node.

Before you can use these modules on Sinfonier you must to create an Neo4j database, you can download it and install locally on the URL below:

[NEO4J](http://neo4j.com/)

Also you can use a remote database, one website with free account is: [Graphenedb](http://www.graphenedb.com/)

![Figure N - Sinfonier Topologies Neo4j Graphene](images/sinfonier_topologies_modules_neo4j_graphene.PNG "Figure N - Sinfonier Topologies Graphene")

When you have the database right it's time to use the modules.

This is a topology example to use in a social network.

![Figure N - Sinfonier Topologies Neo4j Topology](images/sinfonier_topologies_modules_neo4j_topology.png "Figure N - Sinfonier Topologies Topology")

In this case the source of information is twitter and all they do is collect both the user screen_name and the URLs appear and store in the database, creating two nodes with URL tags and USERTWITTER, then add some more parameters to create nodes and the relationship between them, the type TWEET.

![Figure N - Sinfonier Topologies Neo4j Topology Zoom](images/sinfonier_topologies_modules_neo4j_topology2.png "Figure N - Sinfonier Topologies Topology Zoom")

And the result of this topology, five minutes after receiving tweets is shown below:

![Figure N - Sinfonier Topologies Neo4j Topology Result](images/graph_result.png "Figure N - Sinfonier Topologies Topology Result")

What can you do?