Graph Database in Java (other than Neo4J)
OrientDB (old link) appears to support graph storage in much the same was as Neo4j
OrientDB (old link) appears to support graph storage in much the same was as Neo4j
Yes, by using case insensitive regular expressions: WHERE m.name =~ ‘(?i)neo’ https://neo4j.com/docs/cypher-manual/current/clauses/where/#case-insensitive-regular-expressions
If anything breaks at number like 33, it means that there was a restriction upto 32, why 32? 2^5. It’s not trivial that most of the restrictions are in a factor of 2, MongoDB document size cannot be more than 16 MB, on a collection there could be maximum index, no more than 64. etc. … Read more
You may also want to try a cypher query such as: START n=node(*) RETURN n; It’s very obvious, and it will return all the existing nodes in the database. EDITÂ : the following displays the nodes and the relationships : STARTÂ n=node(*) MATCH (n)-[r]->(m) RETURN n,r,m;
Note: I am on the OrientDB team, my opinion is definitely slanted. I am also replying in a decidedly casual tone. On your points: 1) On the topic of clustered deployment, currently it’s not even a comparison. Neo4j is master-slave replication, they state themselves that it is generally only suited to single digit node deployments … Read more
neo4j 3.1 now supports this as a built-in procedure that you can CALL from Cypher: CALL db.indexes(); http://neo4j.com/docs/operations-manual/3.1/reference/procedures/
You need to have multiple Neo4j installations with a different port configurations in conf/neo4j.properties and conf/neo4j-server.properties. Alternatively you might use some virtualization or container tool like http//docker.io for a more sophisticated approach.
Disclaimer: I am the author and owner of OrientDB. As developer, in general, I don’t like companies that hide costs and let you play with their technology for a while and as soon as you’re tight with it, start asking for money. Actually once you invested months to develop your application that use a non … Read more
In Neo4j 2.0 you can create schema indexes for your labels and the properties you use for lookup: CREATE INDEX ON :User(username) CREATE INDEX ON :Role(name) To create relationships you might use: MATCH (u:User {username:’admin’}), (r:Role {name:’ROLE_WEB_USER’}) CREATE (u)-[:HAS_ROLE]->(r) The MATCH will use an index if possible. If there is no index, it will lookup … Read more
So, this gives you all nodes: MATCH (n) RETURN n; If you want to delete everything from a graph, you can do something like this: MATCH (n) OPTIONAL MATCH (n)-[r]-() DELETE n, r; Updated for 2.0+ Edit: Now in 2.3 they have DETACH DELETE, so you can do something like: MATCH (n) DETACH DELETE n;