Diego,
this is code from one of my neography apps: https://github.com/jexp/birdies
@users.outgoing(:USER) user if
@users.rels(:USER).outgoing.to_other(user).empty?
@users and user are your two nodes.
So it would be:
! node1.rels(:knows).outgoing.to_other(node2).empty?
Cheers
Michael
Am
You might also try to use cypher for your traversal which is able to order
(also in memory of course).
See the screencast I did: http://neo4j.vidcaster.com/U2Y/introduction-to-cypher/
It's even the same domain.
Cheers
Michael
Am 15.07.2011 um 17:24 schrieb Rick Bullotta:
But you couldn't
know you really want
to promote your language, xD!
- purbon
PD: See you next graphdb meetup in Berlin!
On 15 July 2011 19:37, Michael Hunger michael.hun...@neotechnology.comwrote:
You might also try to use cypher for your traversal which is able to order
(also in memory of course
Mike,
what version of Neo4j are you running this against?
Please note that the syntax for the traversal parameters changed in 1.4, they
all now need underscores instead of spaces.
Please try to use max_depth and return_filter.
Is there a reason why you chose to use a separate eval function
!
It looks much more usable than the mailing list ;)
Cheers,
Pablo
On Thu, Jul 14, 2011 at 10:04 PM, Michael Hunger
michael.hun...@neotechnology.com wrote:
I forgot two things:
1) I changed all the links on neo4j.org that previously pointed to the
ugly mailman archive page
And native support for JSON types is planned as well.
Cheers
Michael
Am 16.07.2011 um 00:52 schrieb Niels Hoogeveen:
Hyper edges can be emulated.
Suppose you want to store the fact John gives Pete a book.
This is indeed a ternary relationship, which would call for an hyper edge.
This
Right, that will never be fast enough?
What is your reasoning behind shutting down the db after each commit?
Cheers
Michael
Am 16.07.2011 um 01:19 schrieb Rick Bullotta:
Why would you do that? Keep the database open as a singleton instead.
- Reply message -
From: noppanit
Springsource also provides/is working on their own tomcat based XA TM. Perhaps
you'd like to check that out.
(http://forum.springsource.org/showthread.php?76843-JTA-for-Tc-Serverp=258383#post258383)
Otherwise there is only JOTM left.
Neo4j can integrate with those TM.
See also these blog posts
Message-
From: user-boun...@lists.neo4j.org [mailto:user-boun...@lists.neo4j.org] On
Behalf Of Michael Hunger
Sent: Friday, July 15, 2011 8:00 PM
To: Neo4j user discussions
Subject: Re: [Neo4j] Neo4j with Tomcat...need a transaction manager
Springsource also provides/is working
better that a singleton: get it injected!
And you don't need a DI framework for that just System separation in Bootstrap
and Runtime.
PS I recommend the cleancoders.com videos to everyone. Great content fun
mobile mail please excuse brevity and typos
Am 16.07.2011 um 01:19 schrieb Rick
I completely agree,
hyperedges and the accompanying traversers should be handled in a library. As
you probably know the traversal framework currently also uses the core API
under the hood to perform the traversals (and no black magic (yet)).
So it should be fairly easy to take that
Anfang der weitergeleiteten E-Mail:
Von: datablend i...@datablend.be
Datum: 17. Juli 2011 17:40:39 MESZ
An: Michael Hunger michael.hun...@neotechnology.com
Betreff: Re: [Neo4j] RDF Examples not working - parent-pom
Hi Michael,
Thanks for the information. Wrote a new article on the use
Hi,
do you mean a javax.sql.DataSource or an JCA adaptor ?
Could you please explain your architecture and usage scenario where this would
be necessary.
You can use Neo4j in embedded mode inside any J2EE container without issues. If
the container
comes with its own XA-TM then you can
Perhaps it is also an issue of your REST-client? If the value when rendered as
part of a string evaluates to the
empty string the resulting URL would be the same as the one that retrieves all
nodes.
i.e. http://localhost:7474/db/data/index/node/nodes/username
Just an idea, could you verify
Stephan,
This is a common thing when inserting data.
You should be able to use lucene in both settings (6M authors is not that much).
Please have a look at your heap memory settings (and in transactional mode also
your memory-map settings for neo4j).
For batch inserter. You can query the
Stephan,
can you perhaps share your csv file or give at least a few sample lines and a
typical distribution (articles per author etc). You tested this with 20M
arcticles and 6M authors? What is the current runtime of that import with which
kind of hardware? (when working on a similar test I
for the help on the underscores and any
further help would be appreciated.
Thanks,
Michael A.
On Fri, Jul 15, 2011 at 2:50 PM, Michael Hunger [via Neo4J User List]
ml-node+3173457-1988673229-415...@n3.nabble.com wrote:
Mike,
what version of Neo4j are you running this against
Amir,
please have a look at the BATCH-REST-API:
http://docs.neo4j.org/chunked/1.4.M04/rest-api-batch-ops.html
Michael
Am 18.07.2011 um 22:36 schrieb Amir T:
I am running a neo4j server and interacting with it using REST API. There
is no option to do Batch Insert (I double checked latest
Dear Graphistas,
I'd like to inform you that we released the M2 milestone of Spring Data Graph
1.1.0.
The most obvious change is repackaging, sorry for that but the Spring Data
project decided to move all packages to
org.springsource.data.datastore so ours will be
org.springsource.data.neo4j
To answer a few of your questions:
Neo4j is a database, GraphDatabaseService encapsulates your connection to
that database.
You don't mind using other databases from J2EE. If you run clustered just use
Neo4j's High Availability mode across the cluster.
As Neo4j has no concept of a connection
Caching that result would require synchronizing it with every change using up
memory and performance (at every change) for something that can be computed
So far it has not been worth the effort.
If you really need that value very often you could write a small
TransactionEventHandler that keeps
Javier,
what is the concrete error that happens if you send over that space + slash
encoded property?
Cheers
Michael
Am 21.07.2011 um 01:15 schrieb Javier de la Rosa:
Hi, Peter
On Wed, Jul 20, 2011 at 18:32, Peter Neubauer
peter.neuba...@neotechnology.com wrote:
Javier,
do you have
I you want to have a read-only-snapshot view of the database you can also use
new EmbeddedReadOnlyGraphDatabase(path);
Cheers
Michael
Am 21.07.2011 um 05:31 schrieb Jim Webber:
Hi Cyuczi,
You can't open the same database twice in two programs. If you want data to
be replicated between
from github (in eclipse)
regarding my topic, I am reading this currently:
http://wiki.neo4j.org/content/Using_the_Neo4j_Server_with_Java
but it seems a bit messy, so I will probably limit myself to using embedded
database for now :)
On Thu, Jul 21, 2011 at 5:44 AM, Michael Hunger
Anyway as Peter said it should work to add the
.\lucene-index\src\main\resources
as source path to your eclipse project. You said you were getting exceptions
with eclipse.
What kind of exceptions are those?
Michael
Am 20.07.2011 um 20:25 schrieb Peter Neubauer:
Hehe,
On Wed, Jul 20,
, Michael Hunger
michael.hun...@neotechnology.com wrote:
Probably you have to add that for the other project too ?
Am 21.07.2011 um 05:57 schrieb cyuczi eekc:
Thanks Michael, that is good to know...
I would've tried that right now, for tests, but unfortunately I get that
silly error
Could you please set your JAVA_HOME pointing to the JDK not the JRE?
That should help. I wonder how it would compile things w/o a javac :)
Cheers
Michael
Am 21.07.2011 um 08:55 schrieb Николай Ижиков:
[~/backup/src/neo4j/community] $ mvn -version
Apache Maven 2.2.1 (rdebian-4)
Java
We're already on it. Looking through the causes for that issue and will keep
you and everyone else informed.
Michael
Am 21.07.2011 um 06:52 schrieb cyuczi eekc:
about this, should I create an issue?
___
Neo4j mailing list
User@lists.neo4j.org
Hi Stefan,
some short answer inline.
Am 21.07.2011 um 11:27 schrieb acmeguy:
Hi,
I'm relatively new to graphs and Neo4j but I have gathered a list of
questions I hoping this community can answer or point me onward towards
them.
1. Typed edges
- What is available in Neo4j to tackle
Hey Graphistas,
there is a new article on NOSQL databases on InfoWorld. The part for Neo4j is
badly researched. If anyone of you thinks he could add some useful information
for the reader, please do so in the commenting section.
Thanks so much
Michael
Perhaps we can also add to this enhanced API:
* creation of nodes and rels with a initial map of properties, with optional
auto-indexing of some of those properties
* a getOrCreate method
* fluent, chained API for creating stuff in a readable language
* getRelationshipCount()
* some more that I
Why would you then use REST after all?
If you want to decouple netlogo from the core Neo4j API, feel free to write a
Facade that effectively encapsulates the Neo4J API publishing only what you
need and only in the API format you want to support.
Cheers
Michael
Am 21.07.2011 um 23:17 schrieb
Boris, Patrik, Javier,
sorry that it took so long, I fixed the issues with the plugin:
There were two of them - a jar-dependency that got removed around 1.4.M05 and
the refusal of Auto-Indexes to be deleted.
Please try and report back.
Cheers
Michael
Am 12.07.2011 um 04:11 schrieb Boris
/a%2Fb%20c/a%2Fb%20c/0'
Cheers
Michael
Am 21.07.2011 um 16:32 schrieb Javier de la Rosa:
On Wed, Jul 20, 2011 at 22:06, Michael Hunger
michael.hun...@neotechnology.com wrote:
what is the concrete error that happens if you send over that space + slash
encoded property?
Returned by HTTP
We can fork of the discussion to a thread at help.neo4j.org then it stays
separate.
I would love if you could do that.
Btw. I also meant plain J2EE injection not spring or guice.
Michael
Am 22.07.2011 um 00:34 schrieb eialbur:
BTW - I am willing to document what I learn in a cookbook if
)
Anyway, I'm only saying this just in case you were not aware this was fixed
(apparently by someone else) and you were still working on it. Sorry, I
already had made a ticket about this before you last replied.
Thank you all, can't wait to test :)
On Thu, Jul 21, 2011 at 12:13 PM, Michael
' repo.
Now I can continue ... xD
On Fri, Jul 22, 2011 at 7:51 AM, Michael Hunger
michael.hun...@neotechnology.com wrote:
github has no separate repo
for the readonly url
most probably your git pull failed due to local changes
git stash
them or use
git pull --rebase
Michael
probably I can look into it
what are the your issues with spring data graph?
Michael
mobile mail please excuse brevity and typos
Am 22.07.2011 um 16:38 schrieb BatiG batistutagabrielf...@gmail.com:
Spring Graph Database is not really what I want. And It could be very hard to
deploy that on
You can add Spring Data Graph to any existing Webapp as well. Just saying.
I don't think it is difficult to deploy that. Just add SDG to your domain layer.
Anyway, whatever approach you use for Object-Graph-Mapping against a remote
Server
you should be aware that the performance limitations of
for (Node node : db.getAllNodes()) for (Relationship rel :
node.getRelationships(Direction.OUTGOING)) {
// your code here
}
Michael
Am 22.07.2011 um 23:40 schrieb John cyuczieekc:
How would I go about getting all relationships in the entire database ?
(with neo4j embedded)
I see there is
If you look at the comments of the post -
groovy is only that slow if you implement all the algorithm details in groovy !
Gremlin uses blueprints which is written in Java. Gremlin is just a DSL on top
of that API so it is just used for the construction of the underlying pipeline.
Anyway,
Felipe,
Your approach is sensible if you have a lot of tooling / code around your
relational model.
Do you use JPA or some other ORM or just plain JDBC ?
You might have a look at Spring Data Graph cross-store approach:
http://bit-ly/sdg-html#cross-store (and perhaps Spring Data Graph in
An internal implementation would be probably faster.
If timing is that critical for you, you can have a look in
EmbeddedGraphDbImpl.getAllNodes() and implement a similar solution for
relationships.
Cheers
Michael
Am 23.07.2011 um 04:20 schrieb John cyuczieekc:
Hey Jim,
I am sort of glad
for reading, I must also apologize for failing to be
concise :-
On Sat, Jul 23, 2011 at 10:42 AM, Michael Hunger
michael.hun...@neotechnology.com wrote:
John,
no problem :)
You pointed out both problems:
- cold caches
- lots of rels on the one side
There are some performance implications
, Jul 23, 2011 at 10:51 AM, Michael Hunger
michael.hun...@neotechnology.com wrote:
An internal implementation would be probably faster.
If timing is that critical for you, you can have a look in
EmbeddedGraphDbImpl.getAllNodes() and implement a similar solution for
relationships.
Cheers
Ok, makes sense.
It just hard to see what is new in that package and what is just hiding the
original API.
Probably I don't know enough about type/class system to understand the
implication of having properties and relationships on top of property-names,
properties, relationships,
Actually jo4neo is actively developed as you can see from the commit log.
I submitted my patches to Peter who is also a committer.
For using the server you might drop in my API-replacement wrapper:
https://github.com/jexp/neo4j-java-rest-binding
You cannot run two instances onto the same store
That is not true.
If you look at the available versions the latest one already supports Neo4j
1.4.M04.
Michael
Am 25.07.2011 um 09:47 schrieb BatiG:
The problem with this both solutions is : I have to use the version 1.4 of
neo4j. However, jo4neo is not yet able to use this version of
Yes, the source.
It is hosted on google code.
http://code.google.com/p/jo4neo/
You can easily check it out and build it on your own.
Michael
Am 25.07.2011 um 10:07 schrieb BatiG:
Where I can dowload such version of jo4neo?
Actually, I've the version 0.4.
Maybe you speak about tue
Do you have more stack-trace available ?
If you look at the source code, you can see that it uses the java service
loader mechanism.
That means in your project you have to provide a file in your classpath, e.g.
if you use maven, create:
Unfortunately you have to wait for Idea 11 to get full AspectJ support.
I'm in close contact with the developer at JetBrains working on this.
Until then you have to be brave and ignore the editor errors.
It should compile and run fine in idea, even without special AJ plugins (at
least for me
It depends on the size of your user-base / complexity of your application's
chat system.
If you have millions of users having millions of chats this wouldn't be so much
fun. Otherwise it should work.
You can always hide the implementation behind an API in your app and then be
able to change
using maven (install it from maven.apache.org)
mvn package
will compile, run the tests and create a jo4neo-version.jar in target
jo4neo doesn't come with this ServiceLoader setup, obviously they want the user
of the library to select the ObjectGraph that they want to use.
So it is just about
Depending on the operation and the latency to the server - probably one order
of magnitude.
Just try it for yourself in a Proof of Concept. Jo4neo using low level tends to
be chatty.
Michael
Please note that the current version of the java REST wrapper doesn't really
employ client side
Then it is not sensible to use neo4j-server at all, as performance-wise you
will only loose.
Rather use the WrappingNeoServerBootstrapper
https://github.com/neo4j/community/blob/master/server/src/main/java/org/neo4j/server/WrappingNeoServerBootstrapper.java
See the javadoc in the file.
Michael
Just download the distribution from neo4j.org/download
It's all in there. Or use ivy/gradle/maven for dependency management and add
the dependency to
org.neo4j.app:server:1.4
there.
Michael
Am 26.07.2011 um 13:05 schrieb BatiG:
Does one of you have the last package server-api? I want to
Right now you have to use a traverser for that.
Arbitrary length paths will come to cypher in 1.5.
Cheers
Michael
Am 26.07.2011 um 23:28 schrieb noppanit:
For the HEAD and LAST Nodes, what would be the cypher to get all the nodes
from HEAD to LAST nodes?
Thanks
--
View this message
Could you explain the number, types and sizes of the properties (distribution)?
Nodes take 9 bytes per node and rels 33 bytes on disk.
Simple properties up to a long take up 25 bytes, strings that don't fit into
the short-string compression and arrays take larger sizes in the stringstore
and
neo4j-shell
or you could try to use WrappingNeoServerBootstrapper which runs a neo4j-server
with an existing, embedded GraphDatabaseservice.
See this thread for context:
http://neo4j-community-discussions.438527.n3.nabble.com/How-to-download-neo4j-1-3-for-using-jo4Neo-tp3191002p3206212.html
Imho it would have to iterate as well.
As the type is stored with the relationship record and so can only be accessed
after having read it.
It might be to have some minimal performance improvements that relationships
would not have to be fully loaded, nor put into the cache for that. But this
:
org.neo4j.app:server:1.4
On Sun, Jul 31, 2011 at 8:46 PM, Dima Gutzeit dima.gutz...@mailvision.com
wrote:
Cool, which dependency is needed to use WrappingNeoServerBootstrapper ?
Regards ,
Dima Gutzeit.
On Sun, Jul 31, 2011 at 7:57 PM, Michael Hunger
michael.hun...@neotechnology.com wrote
All the node instances that you need will provided to you via the
GraphDatabaseService API, create an instance of EmbeddedGraphDatabaseService
and use its methods to
find and created nodes and relationships.
See these tutorials:
http://docs.neo4j.org/chunked/milestone/tutorials.html
With Batch Inserter you should use the BatchInserterIndexProvider
Please see here: http://docs.neo4j.org/chunked/1.4/indexing-batchinsert.html
Cheers
Michael
Am 02.08.2011 um 13:17 schrieb Ahmed El-Sharkasy:
I am receiving java.lang.UnsupportedOperationException with new
Hi,
you can also watch some more advanced queries with cypher in the screencast at
http://video.neo4j.org/U2Y/introduction-to-cypher/
there are also sample queries regarding the different
http://docs.neo4j.org/chunked/milestone/cypher-query-lang.html
Good suggestion with the matrix example,
You are right. I want to explain some of those points.
SQL has been around for about 30 years. Cypher for about 2-3 months. So we
focused so far on
evolving and implementing the language and not so much on tooling (altough you
already have 4+ mechanisms to use cypher).
Constructing cypher
which version of neo4j are you running in this shell?
Cheers
Michael
Am 03.08.2011 um 21:01 schrieb dhsieh:
In my neo4j, I have
neo4j-sh (0)$ trav
(me)
(me) --[ROOT]- (Thomas Andersson,1)
(me) --[ROOT]- (Thomas Andersson,1) --[KNOWS]- (Morpheus,3)
(me) --[ROOT]- (Thomas Andersson,1)
Obviously the neo4j-shell doesn't like double quotes.
Please try to use single quotes around the strings of your cypher query.
i.e.
start morpheus = (node_auto_index, name, 'Morpheus') match
morpheus-[:KNOWS]-zionist where zionist.age 32 return zionist.name order by
zionist.name desc skip 1
If you have nodes with properties that don't exist on all nodes there is a
nullable property expression in cypher.
try to use zionist.age? 32
Am 03.08.2011 um 21:50 schrieb dhsieh:
(1) Version used: neo4j-enterprise-1.4-unix.tar.gz
(2) neo4j-sh (0)$ start morpheus = (node_auto_index, name,
Sorry, mixed it up out of my head.
Optional nullable properties with (node.prop?) are right now only for the
return clause (and should work in the shell anyway).
#1 For properties that might not exist, please use the following construct if
the property has to be there:
start morpheus =
Do you commit your transaction in batches (e.g. every 10k nodes)?
How much memory does your JVM get?
e.g. via.
-Xmx2G
Cheers
Michael
Am 03.08.2011 um 22:57 schrieb Jose Vinicius Pimenta Coletto:
Hi,
I'm trying to create a graph with 15M nodes and 12M relationships, but after
insert 400K
Jose,
can you provide the full stack trace of the OOM ?
and probably show some of the source code you use to try to reproduce it.
How much physical RAM does the machine have?
Can you show us the configuration dump at the last startup of
graph.db/messages.log ?
Cheers
Michael
for the batch
mobile mail please excuse brevity and typos
Am 04.08.2011 um 01:44 schrieb dhsieh dhsie...@yahoo.com:
Thanks, the 2 Cypher queries you provided work now. In your sample
(1) You put start x = (*node_auto_index *, name, However, in my
neo4j.property it has *node_auto_indexing*=true.
Hey,
we've set up a place where we are going to publish interesting graphy datasets.
Those will be easily importable to hosted neo4j servers (e.g. on heroku).
http://example-data.neo4j.org
So if you have a nice, already imported dataset in your graphs that is
available to be shared publicly
DId you zip the files up before copying them? Perhaps you forgot -r for
recursive packaging?
If you copied the files directly you also have to provide a -r flag for
recursive subdirectory copying.
Could you check if the index files are there on the filesystem (on the source
and target
The main org.neo4j/neo4j jar does only contain the transitive dependencies in
its pom.xml.
Can you look if the other jars are also there:
org.neo4j / neo4j-kernel / *
and the others
org.neo4j / neo4j-*
They are all on maven central.
And grails normally does automatic transitive dependency
You could also provide the dependencies manually.
Can you have a look at:
http://www.grails.org/doc/latest/guide/3.%20Configuration.html
3.7.6 Dependency Reports
3.7.8 Maven Integration
Am 04.08.2011 um 23:23 schrieb noppanit:
I understand that ivy doesn't support pom.xml. Is there a
Just looked at the graphviz b/c I was thinking about the relationship between
GEOFF and the dot format.
And saw that at the bottom there was a gallery that I'v not seen before.
Renderings of ultralarge graphs.
http://www.graphviz.org/Gallery.php
What one could do at a lower level is to create operations like
db.obtainUniqueNode(Map properties,String...idProperties);
node.obtainUniqueRelationship(dir, type, props, String...idProperties);
node.obtainUniqueRelationship(dir, type, targetNode, props,
String...idProperties);
which handle the
Ahmed,
please make sure not to mix BatchInserter and the normal API in the same
program.
Batch-Inserter does not support removal of nodes and relationships.
Cheers
Michael
Am 07.08.2011 um 18:22 schrieb Chris Gioran:
Hi Ahmed,
if you are still having trouble, could you please provide a
the same for embedded single node and cluster high
availability graph db's?
-Original Message-
From: user-boun...@lists.neo4j.org [mailto:user-boun...@lists.neo4j.org] On
Behalf Of Michael Hunger
Sent: Sunday, August 07, 2011 1:04 PM
To: Neo4j user discussions
Subject: Re: [Neo4j
If you have indexed the node before (in the batch-inserter) then you might
later use the index (with the same name) to retrieve the node and delete it.
You can also reach that node later by knowing its id or by traversing to it via
intermediate relationships.
Batch insertion is faster because
Probably one of the gemoetry attributes was just (for instance 0) so that it
got encoded as a property with an integer type not a double as expected.
Probably the SimplePointEncoder should be a bit more forgiving and use
Number.doubleValue() on the actual value it gets back.
so changing
Could you please have a look at data/graph.db/messages.log
and data/log/*.log if there are more detailed stack-traces about this error
(esp. more caused by).
Thanks
Michael
Am 08.08.2011 um 05:09 schrieb Boris Kizelshteyn:
I should add that I can insert the same calls one by one without
What operating system are you running on, which version of neo4j and how many
threads are running in parallel?
Could you also try to reverse the operations (i.e. first do the index.remove()
and then then node.delete();)
Thanks
Michael
Am 08.08.2011 um 08:13 schrieb ahmed.elsharkasy:
i am
is the that the commit of the outer tx where it fails?
and do you finish the outer tx sucessfully?
does it work with a single transaction?
Cheers
Michael
Am 08.08.2011 um 09:01 schrieb ahmed.elsharkasy:
i am running on Ubuntu 11.04 , neo4j advanced-1.4 and i use only one thread
but i use
Ahmed,
I tried it both on MacOS and Ubuntu with the following example and it worked
fine.
public class Test {
public static void main(String[] args) throws IOException {
final ImpermanentGraphDatabase graphDb = new ImpermanentGraphDatabase();
try {
Why would you want to do that?
You should shutdown the graphdb only at the end of your program.
Michael
Am 08.08.2011 um 10:38 schrieb ahmed.elsharkasy:
is their any problem if my logic needs to shutdown the graph before the inner
transaction and start it again directly before it?
--
ok, you can't use them both in one go that's right.
so after shutting down the batch-inserter-index-provider and the batch-inserter
you can use the embedded API on the same store.
That's also how Neo4j-Spatial does it's two step import of openstreetmap data.
First bulk load the data and then
You can use the lucene query API to do that (see
http://lucene.apache.org/java/2_4_0/queryparsersyntax.html#Fields)
nodeIndex.query(name: word1 OR name:word2 OR name: word3);
If that is what you mean by batch finding a group of words
Michael
Am 08.08.2011 um 12:54 schrieb ahmed.elsharkasy:
How many words are contained in your text document ? Probably not millions or
billions?
Then using the batch-inserter API for that is not sensible.
Otherwise (except if you're really experiencing performance issues) I would
stay with the iteration across the words (of your word-set). You might
Yes, just executing a number of java API calls in a single tx, this is just
what the REST API does.
Batching is here on the protocol level, i.e. you need only one network
operation (and serializer/deserializer call) for the whole set of operations
(and those concerns are all not relevant in
Did you configure the heap sizes for both neo4j instances and
also the memory-mapped settings?
Otherwise a neo4j-instance will assume it is alone on a physical machine and
tries to use the available physical
RAM for itself. So if you run more than one instance on a machine you MUST
configure
Ahmed,
could you please share some code?
Batch-Inserter should really only be used to insert millions or billions of
nodes.
With the normal API you can insert/update about 10k nodes/rels per transaction
without any issues.
You should be able to insert/update several thousand nodes per second
, Michael Hunger
michael.hun...@neotechnology.comwrote:
Did you configure the heap sizes for both neo4j instances and
also the memory-mapped settings?
Otherwise a neo4j-instance will assume it is alone on a physical machine
and tries to use the available physical
RAM for itself. So if you run
Ahmad,
could you please provide the different file sizes of the neo4j-directory, and
if possible statistics about the counts of different property types and their
min/max/average sizes (e.g. string, int, int[] etc.).
Thanks so much
Michael
Am 08.08.2011 um 15:34 schrieb Ahmad Bakr:
Hello
Ahmad,
could you also store the properties of the hashtable as properties of the node
itself?
How many entries are in such a hashtable ?
You might configure the block-size of the string store to a different value to
fit your typical hashtable-size better (which would affect the storage of the
Ahmed,
is this your initial load of the graphdb?
It looks like your mixing batch-insertion and normal transactional API in a
single program.
Please try to use just one in one program.
I'd really suggest just go with the transactional API and insert / update one
or more document(s) per
I don't see why there should be any delay.
if you just try this, it should be able to add several thousand nodes per
second to the graph.
GraphDatabaseService graphdb = new EmbeddedGraphDatabase(words.db);
IndexNode index = graphdb.index().forNodes(words);
for (Document doc : documents) {
Normally you just write a generator that creates nodes, relationships and
properties that would
resemble YOUR domain model.
You can create a graph using that generator either with the normal java API or
if it is really large (100M+ nodes and rels) then use the Batch-Inserter-API
for that.
Ahmad,
besides the number of logical logs around (from keep_logical_logs=true), the
largest store is really the string-store.
You need to keep the logical logs only in a HA scenario or if you want to be
able to take incremental backups (then there should be as many logs kept as the
delta
301 - 400 of 600 matches
Mail list logo