Does DataStax Enterprise Graph support Directed Acyclic Graphs? - datastax-enterprise

Does DataStax Enterprise Graph support directed acyclic graphs (DAGs)? I have searched but cannot find confirmation. My assumption is yes.
If so, what limitations around the graph structure are there?

Yes, DES Graph supports the DAG implementation. It is the responsibility of the developer to ensure edges are properly established to meet the DAG requirements of the Graph. DSE Graph does not support any features to enforce acyclicness.

Related

NEO4j, Storing more than `3` models in the catalog is available with a licensed Graph Data Science library

I am using NEO4j to do graph embedding. This is the document I follow. When I am running the code in Neo4j.
CALL gds.beta.graphSage.train(
'noPropertiesGraph',
{
modelName: 'myModel',
featureProperties: ['degree']
}
)
YIELD trainMillis
RETURN trainMillis
I met this error. How do I solve this?
Graph Data Science GDS library has its own separate license for its Enterprise Edition, which is not covered under Neo4j Enterprise Edition. You might wanna drop some of your older models to get this working.
Check this GitHub discussion.

Can I install neo4j at each users computer?

I am using neo4j as server solution but was thinking of also using it in other situations.
Is it, from a technical, installation, licensing perspective etc, possible to install neo4j at each users own computer for local storage of data?
I would like to incorporate the neo4j db installation as part of my own software installation process to avoid technical problems for the end user.
It will probably only be very small set of data in each database so performance is probably not an issue in this case.
It is not clear why you want every user to have their own local neo4j installation (since, for example, their local DBs will not contain the same data).
But, if you really wanted to, there is no problem (technically or legally) with installing the community edition of neo4j on multiple machines.
In this You Tube Video, about 30 minutes into it, "Neo4j Licensing: Which Edition Is Right For You" Rik Van Bruggen mention that one must contact neo4j if one want to distribute neo4j together with other software. One possible solution, according to the video, is an OEM agreement. One need to discuss the commercial terms.
He also says that it is not allowed to be done with the Community Edition
It also written at neo4j.com/licensing that
"I want to include Neo4j in software that I’m shipping. What are my options?
Neo4j offers a mature OEM program tailored to your needs. Learn more →"

How to Undo/Redo/Rollback in Neo4j?

I have read the Neo4j Java Developer Reference Document recently, but I didn't see the information about Undo/Redo/Rollback, so I wonder is the Neo4j support these operations?
neo4j does not support undo/redo, but it does support transactions (so, rollbacks are supported).
See the specific documentation for Java, Cypher, the HTTP API, and Bolt.

Azure Could Computing high availoability vs NEO4J high availability?

We are planning to use Azure Storage in a virtual Environment. Azure already offers very high availability, load balancing and replication of data around the world. If we install NEO4j Graph (using Java embedded) in a IIS server with high availability. Do we still need to design and use the NEO4j high availability architecture?
We still need the backup option of NEO4J (enterprise license for sure) but it would be nice not to get in the business of load balancing and replication. Azure Cloud does a very good job already. Thank you!
Best,
George Moon
The short answer is probably yes.
Windows Azure provide you infrastructure that allow you to build high availability system, it won't make any system high available by magic.
As NEO4J is state-full, each node (with only one node Azure don't give you any SLA, you instance will be down) will need to share some state and the way to do it will be dependent on how NEO4J is working. So you will need to rely on NEO4J mechanism to do it.
I don't know how NEO4J is working but you won't be able to skip designing an high available architecture around NEO4J using Windows Azure infra.
Cloud may be a magic buzz word that can make things append on management level, but when we are on hard real world level Harry magic wand doesn't exist.

JCR (JackRabbit, ModeShape) vs. Graph (Neo4j)

In order to store hierarchical data, can a graph database (Neo4j) be viewed as an alternative to JCR based solutions (ModeShape, JackRabbit)? Or do they belong to 2 different level of abstraction meaning that a JCR implementation could use Neo4j under the hood?
Thank you for your help.
Both, people are building CMS applications with Neo4j as storage backend (see http://structr.org)
A JCR implementation could also be done using Neo4j, some people worked on that in the past, we also have a group using Neo4j as backend storage for Apache Shindig.
You also might want to take a look at OrientDB (http://www.orientdb.org/) which combines features of a Graph-DB (as Neo4j) with those of a Document-DB. There even seems to be a prototype implementation using OrientDB as a storage-adapter for Jackrabbit (https://github.com/eiswind/jackrabbit-orient) that illustrates the implementation of such a hybrid approach.

Resources