Neo4j Enterprise embedded database - neo4j

I'm going to try Neo4j Enterprise embedded database. Right now I can't find any tutorials that explain how to configure and use Neo4j Enterprise embedded database togher with Maven and Spring.
In order to use embedded Neo4j Enterprise should I download Neo4j zip archive and start it or Maven dependency should be enough ? I don't understand collaboration between Java configuration and for example downloaded distributions.
Could you please tell me the proper way how to use Neo4j Enterprise embedded database together with my application ?

If you really need to embed Neo4j into an application, you most likely just need the core and kernel apis which is under the org.neo4j:neo4j dependency not the enterprise dependencies (org.neo4j:neo4j-enterprise).
Your maven config would have the following dependency:
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j</artifactId>
<version>NEO4J VERSION HERE</version>
</dependency>
Your question makes me think that you may really want to just run Neo4j as a server and connect to it via REST or any of it's BOLT drivers. You don't download and start the embedded version - you do that with the server. Can you clarify exactly what you want to do?

Just add a neo4j dependency on org.neo4j:neo4j-enterprise:<version>
If you don't need HA that's all you need.

Related

Add Neo4j to Gremlin Server - how to?

I have downloaded Gremlin Server with an intention of being able to use Gremlin to traverse a Neo4j DB.
Now, speaking of the latter, it has to be somehow added to the Gremlin Server installation, but I have difficulty finding any up-to-date guidance on how to do that. There are a few posts here on SO describing various kinds of problems people run into, but no definitive solution, much less one for the current versions of both Tinkerpop and Neo4j.
Would appreciate specific links, tips etc.
Thanks!
There is a "TIP" describing Gremlin Server configuration in the TinkerPop reference documentation found here. Basically, you -install Neo4j dependencies:
bin/gremlin-server.sh install org.apache.tinkerpop neo4j-gremlin 3.3.4
then you edit your Gremlin Server YAML configuration file to connect to your database. Gremlin Server contains a sample file to get you started and is found the /conf directory of the installation. Of critical note is this entry:
graphs: {
graph: conf/neo4j-empty.properties}
It specifies the Neo4j configuration to use and the sample one that ships with Gremlin Server looks like this:
gremlin.graph=org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph
gremlin.neo4j.directory=/tmp/neo4j
gremlin.neo4j.conf.dbms.auto_index.nodes.enabled=true
gremlin.neo4j.conf.dbms.auto_index.relationships.enabled=true
As you can see, the configuration basically just passes through Neo4j specific configuration to Neo4j itself. Only the first two lines are TinkerPop options. In this case, it sets up Neo4j for embedded mode, meaning Neo4j runs within the Gremlin Server JVM. You can make Gremlin Server part of a Neo4j HA cluster with instructions found in the reference documentation here.
Note that you asked for "current" versions of both TinkerPop and Neo4j. While these instructions are current for TinkerPop, I'm afraid that the Neo4j version TinkerPop supports is well behind their latest release. It would be nice if someone had time to issue a pull request for that.

Neo4j - Kafka, How to connect these two?

How to connect or load data from Kafka to neo4j. I saw Mazerunner, DocManager in Neo4j documentation to connect Neo4j with Spark and MongoDB. Is there any such kind of projects related to Kafka and neo4j.
Thanks.
Please check this GitHub project. This is with Neo4j 2.2.3 KernelExtention.
Link: https://github.com/ducky427/neo-kafka
You may need to change the settings code for any 3.0.x version.
Another way, if you are using Neo4j Embedded version, you can simply integrate these through your custom API.
Do share, if you have found other ways to integrate.

Installation error with Neo4j enterprise edition 2.0.0

I am a developer at a company. We started using Neo4j recently. We have been using Neo4j community editions till now. We use Amazon as our cloud. We put up the neo database onto cloud and we are using ubuntu instance for this. I was able to put Neo4j community editions onto the cloud till now and put data on it. We have now bought the enterprise edition of Neo4j (Neo4j Enterprise edition 2.0.0) . I am trying to put the new enterprise edition onto the cloud using ubuntu.
I have downloaded the enterprise version and extracted the contents of it on ubuntu. Now I am trying to install Neo database using the command:
var/lib/neo4j/ neo4j-community-2.0.0 $ sudo ./bin/neo4j-installer install
This gives me output as:
WARNING: this installer is deprecated and may not be the optimal way to install Neo4j on your system.
Please see the Neo4j Manual for up to date information on installing Neo4j.
Press any key to continue
Graph-like power should be handled carefully. What user should run Neo4j? [neo4j] ubuntu
ln: failed to create symbolic link ‘/etc/init.d/neo4j-service’: File exists
update-rc.d: /etc/init.d/neo4j-service: file does not exist
This does not install neo database now. The same command was working fine with Neo4j community editions. Please let me know what should be done for this? I am stuck on this for several hours now. I have no clue what should be done.
Any help would be greatly appreciated. Please help.
Thanks in advance.
As you are a customer, probably best to open a support ticket, and then add an answer here, so that other people can learn about it?
Did you remove the community installation first? It could be a clash of the two versions.
Because the manual actually says the same thing here:
http://docs.neo4j.org/chunked/stable/server-installation.html#linux-install

archiva standalone vs web

can some one help me. I want to setup a internal repository for maven. For this i wanted to use Apache Archiva and i'm new to both maven and archiva. My question is what is the exact difference b/w standalone and web archiva installations (i found these 2 ways in archiva documentation).
My intention is to create internal repository to be used by all developers. Every one should get dependencies from there. I have to install archiva in a server with in our organization(LAN). What is the preferable for my situation?
I found steps to install in both ways, but they are little confused as i am new to archiva. Could some one please explain me clearly?
Operating System : Windows
Maven : 3.0.5
Archiva : 1.3.6
Thanks in advance.
The standalone distribution is more easy to install.
The wrapper will restart your instance in case of issues.
The important part is to separate content from installation see http://archiva.apache.org/docs/1.4-M3/adminguide/standalone.html section "Separating the base from the installation"

Grails and Cloudbees

I am following this tutorial on Grails and Cloudbees And it says :
"to use CloudBees databases locally from your application, you first need to add the CloudBees SDK's appserver.jar file to your grails classpath"
Does anyone know what is this appserver.jar? Where can I find it?
Yes, as mentioned in the comment - you can get that jar file from the SDK you download.
However, it is perfectly find (and possibly better) to use the mysql driver directly as mentioned.
When running on cloudbees, you can bind your app to a database - so that at runtime the right database is injected - using the bees db:bind SDK command.

Resources