you shouldn't use gds with annozated enities
the are no nodes etc but the delegate to nodes & rels
use graphdatabasecontext
or the repositories
please see the docs I'm on vacation
mobile mail please excuse brevity and typos
Am 15.08.2011 um 19:38 schrieb "etc1" :
> When annotating an entity c
open in browser localhost:8080/imdb/setup.html
mobile mail please excuse brevity and typos
Am 15.08.2011 um 02:09 schrieb "etc1" :
> I've got the IMDB sample project running in Eclipse STS; I'm using the
> spring data graph version. How do I load the data from the *.list files?
> Right now the
Are the two operations executed serially? I.e. does the delete return with a
correct response code (and the connection is closed afterwards).
And then the traverse is started?
Otherwise they might execute in parallel (multithreaded) and the traverse
operation doesn't see the changes not yet comm
Closed log
> C:\Users\Michael\blueprints-graph-cytoscapeMaster\target\neo4jDB\index\lucene.log
> Thu Aug 11 12:11:22 PDT 2011: NeoStore closed
> Thu Aug 11 12:11:22 PDT 2011: TM shutting down
>
> Thank you,
>
> Michael
>
>
>
> -- Forwarded message --
Movie, etc. What am I
> missing?
>
> ..new User(...).persist();
>
>
>
>
> -Original Message-
> From: user-boun...@lists.neo4j.org [mailto:user-boun...@lists.neo4j.org] On
> Behalf Of Michael Hunger
> Sent: Monday, August 08, 2011 8:59 PM
> To: Neo4
a better sense of how to get the plumbing working... :-)
>
> Cheers, Sasha
>
> On 12 August 2011 16:31, Michael Hunger
> wrote:
> The point is: You don't want to run your webapp in your database.
>
> A customer facing rails3 app is an webapp with lots of javascript, UI,
> image
able on GitHub. Using that template, I could get rolling with a user
> management system and domain model very quickly.
>
> Andreas: not sure if you have any suggestions about bridging this gap? Maybe
> I'm missing something simple...?
>
> Cheers, Sasha
>
>
Tatham,
I also looked at your messages, log. You're starving the JVM :)
Fri Aug 12 14:39:45 EST 2011: Physical mem: 8123MB, Heap size: 56MB
-Xms3m, -Xmx64m
Please increate the heap size to a larger amount of memory.
I don't know what else runs on that server.
On Windows you should make the he
> 1.Does Neo4J support *unique property* (Node/Relationship)?
Right now there is no native support for that, you have to implement it on your
own - define the properties that are unique and then write an getOrCreateNode
method and/or endpoint that exposes the following things:
- query the inde
please update to 1.4.1 the this goes away
and change your gremlin queries to use variables instead of concatenating
values into the query string
thanks
Michael
mobile mail please excuse brevity and typos
Am 12.08.2011 um 07:56 schrieb Tatham Oddie :
> Howdy,
>
> We've started experiencing re
Writing stuff out to disk might take some time.
Michael
Am 12.08.2011 um 03:51 schrieb ahmed.elsharkasy:
> i knew now what swallows the time , it is graphdb.shutdown i am calling after
> the travsersal , it took 500 millisecond to shutdown the db ??!!!
>
> --
> View this message in context:
>
I just created a graph like yours and run the traversal test, it takes a few
milliseconds for the initial runs but with hot caches it executes almost
instantly.
Michael
node count = 952 took 72 ms
node count = 963 took 29 ms
node count = 957 took 39 ms
node count = 973 took 29 ms
node count = 9
Is this the first traversal, or the average time for several runs?
Thanks
Michael
Am 12.08.2011 um 02:55 schrieb ahmed.elsharkasy:
> My graph contains 281 nodes with a total of 350 relationships . average
> outgoing edges per node less than 10 and the same for in going edges
>
> what do you th
How large is your graph?
And how many connections do those nodes have?
Thanks
Michael
Am 12.08.2011 um 01:50 schrieb ahmed.elsharkasy:
> i followed your advice and it is now fairly good
>
> but i have a new performance issue with traversing i have this line of code
>
>
>Traverser tra
Kei,
How much heap does he use for the test?
On windows memory mapped files are allocated within the java heap space not
outside as on *nix systems.
There is a messages.log in the graphdb directory.
Could you share its content with us?
Thanks so much
Michael
Am 11.08.2011 um 21:58 schrieb
If that is a very frequent operation, you could introduce an intermediate node
that depicts the root of the tree which is fixed (and probably anonymous) and
have that node have a single relationship to the parent which can be easily
replaced.
Cheers
Michael
Am 11.08.2011 um 21:06 schrieb Carl
Hi,
you could use either
* Server-Plugins: http://docs.neo4j.org/chunked/snapshot/server-plugins.html
* Unmanaged
Extensions:http://docs.neo4j.org/chunked/snapshot/server-unmanaged-extensions.html
* or the (J)Ruby-Script-Extensions:
http://wiki.neo4j.org/content/Ruby-script_extension
For what
Bruno,
it would be probably easiest for you to put the code in a public repository
(e.g. github) for people to look on,
fork and refactor it to the correct solution.
I saw that you used the BatchInserter API and the transactional Neo4j API calls.
Please note that the Batch-Inserter is intended
Peter perhaps you could update the docs of ServerPlugin to reflect that and
perhaps show an example from one of the two plugins ?
Cheers
Michael
Am 10.08.2011 um 16:02 schrieb Peter Neubauer:
> Also,
> That is true officially, but un practice you can return any valid
> representation. Look at
Yes you are able to do that:
* if you are running in a neo4j-server you have to access the database via the
GraphDatabaseService instance that is provided from the server (because the
server _owns_ it)
* that's why inside a neo4j-rest server you have to get access to that
instance, and that'
Not really, as this gives you only a snapshot from the time of the creation, no
updates.
Was discussed several times on the mailing list.
Cheers
Michael
Am 10.08.2011 um 14:45 schrieb sometime:
> I found the solution.
> Initialization should be done like this:
>
> GraphDatabaseService graphD
The probleme here is that there is already a running database instance (that
serves the rest-request and everything else).
If you put your code into a ServerPlugin or UnmanagedExtension you can in both
cases get an instance of
that GraphDatabaseService passed into your method that you then just
Ahmad,
in your Neo4j-Server you have several configuration options which are not
changeable via the REST API as for now.
- for the runtime environment (like JVM heap) - neo4j-wrapper.conf
- for the actual neo4j database neo4j.properties (which can contain pre-set
memory-mapping configuration)
ing programmatically.
>
> -Original Message-
> From: user-boun...@lists.neo4j.org [mailto:user-boun...@lists.neo4j.org] On
> Behalf Of Michael Hunger
> Sent: Monday, August 08, 2011 8:41 PM
> To: Neo4j user discussions
> Subject: Re: [Neo4j] Defining relationships declaritavely
Nuo,
each request to the REST API is executed in its own (small) transaction.
Having said that, there is support for batching REST operations which then will
also be executed in a single large transaction. (See here:
http://docs.neo4j.org/chunked/snapshot/rest-api-batch-ops.html).
Michael
Am
JMX is a asynchronous monitoring mechanism employed by the jvm to visualize a
plenthora of information.
Just start jconsole from your local jdk installation, and point it to any
running virtual machine. On the last mbeans tab you see the custom mbeans
registered by that app. If you point it at
This information (# of nodes and rels) is available using JMX which can be
queried separately without accessing the graphdb.
You can provide similar custom monitoring by adding JMX MBeans to your app.
Then those can be viewed using jconsole or a similar tool.
Cheers
Michael
Am 08.08.2011 um 2
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 betw
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.
Then
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");
Index index = graphdb.index().forNodes("words");
for (Document doc : documents) {
Tran
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 transac
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
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
'rescheduling interrupts' count
> was high, though.
>
> Oh, and thank you for your swift answer! :)
>
> -- iD
>
>
>
> On 8 August 2011 15:51, Michael Hunger
> wrote:
>
>> Did you configure the heap sizes for both neo4j instances and
>> also t
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
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 t
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 the
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 u
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:
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 us
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?
>
> --
>
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 {
createNode(grap
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
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 s
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 e
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 decod
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 i
e work 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
>
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
Just from my head.
tx = graphdb.beginTransaction();
try {
Node lockNode = graphdb.getReferenceNode(); // or another node that is used
for locking this unique index
lockNode.removeProperty("__non_existent_property__");
index=graphdb.index().forNodes("unique-name");
Node user = index.ge
Ahmed,
you have to differentiate between using BatchInserter which is intented for:
* fast insertion of large bulks of data (millions or billions of nodes and
relationships)
* has to run in a single thread without transactions
* has to be correctly shut-down to leave a consistent state of the da
8.2011 um 20:30 schrieb espeed:
>
> Michael Hunger wrote:
>>
>> 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);
&
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 l
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
http://www2.research.att.com/~yifanhu/GALLERY/GRA
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 workaro
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 reso
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 machine)
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 pl
Dear Graphistas,
I'm happy to announce that the Neo4j Add-On went kind of public today by
entering the private beta
phase at heroku.
If you're a user there just register as beta tester (sending an email to
b...@heroku.com) and you can use
the Neo4j Add-On.
It provides hosted Neo4j-Servers and
Eddy,
the problem is the amount of spam we're getting in the wiki.
We're in the process of moving all information that's not from the community
into the handbook (docs.neo4j.org).
If you have the energy and time of fixing things in the wiki we'd welcome that
for certain areas (that won't be mo
mobile mail please excuse brevity and typos
Am 04.08.2011 um 01:44 schrieb dhsieh :
> 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". They don't re
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 i
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 4
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 = (node_a
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, na
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
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 Ander
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 quer
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, w
Exactly as the mentioned documentation says:
BatchInserter inserter = new BatchInserterImpl( "target/neo4jdb-batchinsert" );
BatchInserterIndexProvider indexProvider = new
LuceneBatchInserterIndexProvider( inserter );
// this is equal to graphDb.index.forNodes("actors")
BatchInserterIndex actors
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
> BatchInserterImpl
You just use any web-framework you'd like and create the
EmbeddedGraphDatabaseService at startup and shut it down at shutdown.
Can be done with ServletContextListeners or whatever means the web-framework
provides for lifecycle methods.
Then pass the graphdb around or put it in the application-s
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
http://wik
I am sorry, missed it, its all there in the original post:
> org.neo4j.app:server:1.4
>
>
> On Sun, Jul 31, 2011 at 8:46 PM, Dima Gutzeit
> wrote:
> Cool, which dependency is needed to use WrappingNeoServerBootstrapper ?
>
> Regards ,
> Dima Gutzeit.
>
&g
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 i
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
Che
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
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 mes
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
No, it is a full instance just using your embedded graph db. That you work
against with your normal code.
Michael
Am 26.07.2011 um 12:14 schrieb BatiG:
> I know it but is it possible to modify the properties of some node with this?
> Is it a read-only instance?
>
> --
> View this message in co
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
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 cachin
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 a
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 ho
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
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:
src/main/resources/META-INF/services/jo4neo.spi.ObjectGra
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
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 neo4
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
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, relationsh
I don't understand why you wrapped _all_ the classes, this will make this
package very brittle as it has to copy all API changes?
I rather thought of a better / fluent / more usable API on top of the existing
one.
something like
new Graph(gbd).autoIndex("name")
.node("name","Niels")
arbitrary graph computation can be represented and evaluated.
>>> - in language theoretic terms, it can recognize Turing complete paths.
>>> 2. Traversal descriptions can be expressed as classes in Groovy and thus,
>>> IDE friendly.
>>> - syntax highlighting, easy t
t.println( "Shutting down database ..." );
>graphDb.shutdown();
>}
>} );
>}
>
>
>private static void deleteFileOrDirectory( File file ) {
>if ( file.exists() ) {
> if ( file.isDirectory() ) {
>
t; anyone in advance 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 probl
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
John,
no problem :)
You pointed out both problems:
- cold caches
- lots of rels on the one side
There are some performance implications of loading millions of rels from disk.
We'll be working on improving those in 1.5.
The easiest way to solve that is to switch start and end-node which you al
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 genera
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, easies
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
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 th
201 - 300 of 714 matches
Mail list logo