How to enable Neo4j REST Streaming with spring-data-neo4j - neo4j

I am using spring-data-neo4j to access the Neo4j database. I want to enable REST streaming for improving the performance of my Neo4j interactions.
Can anyone please guide me on how to leverage streaming via spring-data-neo4j? i.e. How do I tell spring data to send the 'stream=true' header in every REST request to the Neo4j server?

It is already enabled by default.
You can control it by the System property: org.neo4j.rest.stream=true
https://github.com/neo4j/java-rest-binding#configuration-system-properties

Related

How do I use Neo4j in a reactive Spring webflux application without causing any blocking?

I'm starting a new Spring boot project and I've chosen a neo4j graph database as there is a lot of connected data.
I would like to use Reactive Streams in the project as there is a lot of push notifications from the server to the client. I'm looking at using Spring Webflux for this reason.
I'm weary of accidentally using blocking calls/api's that will negate the decision to use webflux.
I've searched for information on using neo4j with reactive streams. It doesn't look like there is a reactive driver at the moment, although there is an asynchronous mechanism using CompletableFuture.
Please could I have some guidance on how to fit these two peices, webflux & neo4j, together.
thanks

How to query Titan Graph Database from iOS App

If I set up a graph-database with an AWS DynamoDB backend using the Titan plug-in, how do I then actually send queries to the database and return values? From this Diagram that I found here, it looks like the TinkerPop API can be used to send these queries. But I can't find any information on running TinkerPop on an iOS device. So how do I interact with the database from the app?
Thanks.
TinkerPop and Titan are Java libraries, so if you are writing an IOS app, you should go through the TinkerPop Gremlin Server. As described in the TinkerPop documentation,
[Gremlin Server] Provides a method for Non-JVM languages (e.g. Python, Javascript, etc.) to communicate with the TinkerPop stack.... By default, communication with Gremlin Server occurs over WebSockets and exposes a custom sub-protocol for interacting with the server.
In your IOS app, you can connect to the Gremlin Server using a WebSockets client library, such as SocketRocket (Objective-C) or Starscream (Swift). Then you would need to send a RequestMessage to the Gremlin Server following the format described in the TinkerPop documentation. An initial approach to create a Gremlin Driver in Swift has been attempted (gist).
Alhtough WebSockets is the default connection protocol, you can optionally configure HTTP on the Gremlin Server instead, then make HTTP requests to the server.

Neo4j connection for IBM Watson Analytics

There doesn't seem to be a Neo4j connection available in Watson Analytic Account Settings Data Connections. Has anyone had any experience connecting Watson to a Neo4j database?
Disclaimer: never used IBM Watson Analytics myself.
If it supports JDBC datasources you can probably use the Neo4j JDBC driver, https://github.com/neo4j-contrib/neo4j-jdbc. Be aware that the bolt based JDBC driver is pretty new, so please do report back your experiences.
Since Watson Analytics is a web application, you cannot add your own JDBC driver. If you feel that Neo4j would be useful, you can request an enhancement. Just Google "ibm request for enhancement" to get a link to the site. Or use this link: https://www.ibm.com/developerworks/rfe/
Alternatively, you could write a script uses the Neo4J and Watson Analytics REST APIs to upload data from Neo4J into Watson Analytics.

Neo4j OGM library with embedded server

Is it possible to use the OGM library with one embedded server ?
The examples I have seen so for the session is always obtain via remote http connection to the neo4j server.
I would like to have the elegant programming model of the OGM library without the having the make network IO to the database.
Thank you, kindly
Oscar
The current release of the OGM (1.1.4) supports only the Neo4j remote server.
OGM 2.0 will provide support for Neo4j remote server (http) and embedded Neo4j. Once Neo4j 3.0 is released, OGM 2.x will support the new binary (Bolt) protocol as well.
The first milestone of OGM 2.0 is expected within the next two weeks.

Using Rexter API to interact with Neo4j

Is there a way to interact with a neo4j graph db (running externally HA mode) via Rexter API. Neo4j's REST api is great but using Rexter makes my application completely agnostic of the remote graph db implementation stack. This will enable me to swap in other tinkerpop based graph db stacks like titan without affecting/changing my application code.
You should be able to use the Neo4jHaGraph Blueprints implementation:
https://github.com/tinkerpop/blueprints/wiki/Neo4jHa-Implementation
Here's some instructions for connecting using Rexster:
https://github.com/tinkerpop/rexster/wiki/Specific-Graph-Configurations#neo4j-high-availability-cluster

Resources