Re: [Neo4j] InvalidRecordException during traversal after unclean shutdown

2011-02-02 Thread Lars Hvile
The data isn't sensitive at all, I'll send it to you in a minute...

 Which version of Neo4j have you been using?
[INFO] \- org.neo4j:neo4j:jar:1.2:compile
[INFO]+- org.neo4j:neo4j-kernel:jar:1.2-1.2:compile
[INFO]|  \- 
org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1.1:compile
[INFO]+- org.neo4j:neo4j-index:jar:1.2-1.2:compile
[INFO]|  \- 
org.apache.servicemix.bundles:org.apache.servicemix.bundles.lucene:jar:3.0.1_2:compile
[INFO]+- org.neo4j:neo4j-lucene-index:jar:0.2-1.2:compile
[INFO]+- org.neo4j:neo4j-shell:jar:1.2-1.2:compile
[INFO]|  \- 
org.apache.servicemix.bundles:org.apache.servicemix.bundles.jline:jar:0.9.94_1:compile
[INFO]+- org.neo4j:neo4j-remote-graphdb:jar:0.8-1.2:compile
[INFO]|  \- com.google.protobuf:protobuf-java:jar:2.3.0:compile
[INFO]+- org.neo4j:neo4j-graph-algo:jar:0.7-1.2:compile
[INFO]+- org.neo4j:neo4j-online-backup:jar:0.7-1.2:compile
[INFO]+- org.neo4j:neo4j-udc:jar:0.1-1.2:compile
[INFO]+- org.neo4j:neo4j-management:jar:1.2-1.2:compile
[INFO]|  \- com.sun:tools:jar:1.6:system
[INFO]\- org.neo4j:neo4j-ha:jar:0.5-1.2:compile
[INFO]   +- org.apache.zookeeper:zookeeper:jar:3.3.2:compile
[INFO]   +- org.jboss.netty:netty:jar:3.2.1.Final:compile
[INFO]   \- log4j:log4j:jar:1.2.16:compile

 * What operating system are you running on?
I'm using vmware workstation, the neo-stuff is coded inside an image..
host: ubuntu 9.10
vmware workstation 7.10
guest ubuntu 9.10

 * What file system were you storing the Neo4j store on?
ext4 on both guest  host

 * How was that file system configured?
standard ubuntu config

 * Which JVM and version were you using?
java version 1.6.0_22
Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
Java HotSpot(TM) Server VM (build 17.1-b03, mixed mode)


Lars Hvile

Fra: user-boun...@lists.neo4j.org [user-boun...@lists.neo4j.org] p#229; vegne 
av Tobias Ivarsson [tobias.ivars...@neotechnology.com]
Sendt: 1. februar 2011 23:17
Til: Neo4j user discussions
Emne: Re: [Neo4j] InvalidRecordException during traversal after unclean shutdown

I don't like the sound of this. The thread you dug up is the only other case
(I know of) where there has been anything similar, so I would love to have a
look at any data you have.
If you could zip up the store files and send them to us in some way we will
investigate. It would of course had been better if we could have received
the store in the state it was before recovery was started, but how would you
know this was going to happen. We will have to make do with the closest
thing we've got.

Uploading a zip to dropbox (or similar) and sending the link to me off-list
usually works well. I promise you we will treat your data according to the
levels of confidentiality you request, if you feel your data is too
sensitive for dropbox transfer, contact me and I'll see what alternative
mode of encrypted transfer we can set up.

By the way, could you please provide some details on your database:
* Which version of Neo4j have you been using?
* What operating system are you running on?
* What file system were you storing the Neo4j store on?
* How was that file system configured?
* Which JVM and version were you using?

Cheers,
Tobias

On Tue, Feb 1, 2011 at 10:26 PM, Lars Hvile lars.hv...@fovea.no wrote:

 Correct, not using the batch-inserter, just a regular loop with
 transactions  inserts + adding data to a lucene-index.
 Each transaction contained ~500 nodes, and the total count was about ~3M
 when it got corrupted..

 I did unclean shutdowns a bunch of times without any corruption, so this
 isn't exactly reproducible either.

 Is there any way to manually clean up these kinds of errors? Like reverting
 the last transaction or something like that?

 Regards,
 Lars Hvile
 
 Fra: user-boun...@lists.neo4j.org [user-boun...@lists.neo4j.org] p#229;
 vegne av Tobias Ivarsson [tobias.ivars...@neotechnology.com]
 Sendt: 1. februar 2011 22:04
 Til: Neo4j user discussions
 Emne: Re: [Neo4j] InvalidRecordException during traversal after unclean
 shutdown

 And this was not using the batchinsert either? Because batchinsert will
 most
 likely leave the data corrupt if not shut down cleanly.

 Just want to make sure, by covering the simplest things first.

 -tobias

 On Tue, Feb 1, 2011 at 7:12 PM, Lars Hvile lars.hv...@fovea.no wrote:

  This exact error has already been discussed on the mailinglist back in
 2009
  (http://lists.neo4j.org/pipermail/user/2009-November/001906.html), but
  without a conclusion?
 
  During some inserts, I did an unclean shutdown. When I restarted neo, the
  standard recovery stuff was logged,
  and it said that recovery was successful, but my data is corrupt, and I
  can't find a way to restore it.
  (this is just test-data, so the actual data is a non-issue, however the
  recovery process is a huge issue for us...)
 
  Our basic test-structure is a tree, 

[Neo4j] Neo4j web admin connection error

2011-02-02 Thread Eddy Respondek
I've just installed Neo4j on Debian Lenny and I'm trying to expose the Web
Admin on a sub-domain via Apache2 proxypass. Web Admin is served but I'm
getting a Unknown connection problem message. Do you have any suggestions
to resolve this? What error logs or configuration files should I be checking
to see whats going wrong?

My settings are:

ProxyRequests Off

Proxy *
AddDefaultCharset off
Order deny,allow
Deny from all
Allow from all
/Proxy

ProxyVia On

VirtualHost *:80
ServerName graph.example.com
ProxyPass / http://localhost:7474/
ProxyPassReverse / http://localhost:7474/
/VirtualHost


I'm not sure if it's helpful but the url has localhost in it like this:

http://graph.example.com/webadmin/#p=dashboards=http%3A//localhost%3A7474/db/manage/

Thanks
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Neo4j web admin connection error

2011-02-02 Thread Peter Neubauer
Eddy,
are you connecting from anything other than localhost? In that case,
you need to set up the server to serve with the external name,
otherwise the webadmin will try to connect to localhost which is the
machine you are viewing from.

Look at http://docs.neo4j.org/chunked/snapshot/server-configuration.html
and set the org.neo4j.server.webadmin.data.uri and
org.neo4j.server.webadmin.management.uri to the explicit URIs of your
server.

Does that help? I will adjust the docs to point this out more clearly.

Cheers,

/peter neubauer

GTalk:      neubauer.peter
Skype       peter.neubauer
Phone       +46 704 106975
LinkedIn   http://www.linkedin.com/in/neubauer
Twitter      http://twitter.com/peterneubauer

http://www.neo4j.org               - Your high performance graph database.
http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.



On Wed, Feb 2, 2011 at 9:28 AM, Eddy Respondek eddy.respon...@gmail.com wrote:
 I've just installed Neo4j on Debian Lenny and I'm trying to expose the Web
 Admin on a sub-domain via Apache2 proxypass. Web Admin is served but I'm
 getting a Unknown connection problem message. Do you have any suggestions
 to resolve this? What error logs or configuration files should I be checking
 to see whats going wrong?

 My settings are:

 ProxyRequests Off

 Proxy *
 AddDefaultCharset off
 Order deny,allow
 Deny from all
 Allow from all
 /Proxy

 ProxyVia On

 VirtualHost *:80
 ServerName graph.example.com
 ProxyPass / http://localhost:7474/
 ProxyPassReverse / http://localhost:7474/
 /VirtualHost


 I'm not sure if it's helpful but the url has localhost in it like this:

 http://graph.example.com/webadmin/#p=dashboards=http%3A//localhost%3A7474/db/manage/

 Thanks
 ___
 Neo4j mailing list
 User@lists.neo4j.org
 https://lists.neo4j.org/mailman/listinfo/user

___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Shortest Path Query with property filters

2011-02-02 Thread Peter Neubauer
Shae,
as always, when you do performance tests, make sure you are not
running only one run, since then you have cold caches. Do a couple of
runs without closing the DB, and you might get totally different
results, since then the object caches have a chance to warm up, and it
mirrors the production scenario much more closely.

Cheers,

/peter neubauer

GTalk:      neubauer.peter
Skype       peter.neubauer
Phone       +46 704 106975
LinkedIn   http://www.linkedin.com/in/neubauer
Twitter      http://twitter.com/peterneubauer

http://www.neo4j.org               - Your high performance graph database.
http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.



On Wed, Feb 2, 2011 at 2:04 AM, GRIFFITHS, Shae
shae.griffi...@baesystems.com wrote:
 Thanks Michael,

 I was looking at predicates and thought I saw that they were deprecated 
 (replaced by evaluators?), but maybe it was just late and I misread it! I'll 
 try to get that working today. I'm loving Neo4j so far, there's nothing it 
 can't do! :P

 For the shortest path stuff it is fairly quick, I'm actually running a 
 performance test as we speak (1000 random start nodes each finding a shortest 
 path to 1000 random end nodes - with some pre-processing to tell if they're 
 connected or not) and so far, the worst case has been 8 seconds, and the 
 average is around 150ms-200ms I think, I'll post when the results come back 
 and I've got some statistics.

 Shae

 -Original Message-
 From: user-boun...@lists.neo4j.org [mailto:user-boun...@lists.neo4j.org] On 
 Behalf Of Michael Hunger
 Sent: Wednesday, 2 February 2011 11:27 AM
 To: Neo4j user discussions
 Subject: Re: [Neo4j] Shortest Path Query with property filters

 Hi Shae,

 the shortesPath algo takes a RelationshipExpander which is implemented by a 
 Expander subclass.
 For each Expander you can addNodeFilter and addRelationshipFilters using 
 Predicates.

 That should do what you try to achieve.

 If I got this wrong, please someone correct me.

 What is your current performance for the shortest path between the relevant 
 nodes?

 Cheers

 Michael

 Am 02.02.2011 um 01:45 schrieb Shae Griffiths:


 Hi Team,

 I'm a bit of a Neo4j Newbie and am trying to use it for some shortest path
 work. I have an embedded DB and am using Java to interact with it. At the
 moment I have shortest path stuff working (using
 GraphAlgoFactory.shortestPath as per the sample code), but i would like to
 extend this to make a few decisions along its route.

 eg. find a shortest path from Node A to Node B, but avoiding all nodes that
 have a specific property value (i.e. Find a relationship from Roger Black to
 Peter White without going through anyone with the surname smith)
 or find the shortest path from Node A to Node B without encountering a
 specific node.

 I see this as essentially the same problem, just with a different parameter.
 The Evaluator class seems to have the brains to work it out, but i'm lost as
 to how to implement it with the shortest path algorithm. Its a large-ish DB
 (~14million nodes) so i'd like it to be a relatively fast solution if
 there's one around.

 Am I barking up the wrong tree, has this been covered already and I missed
 it, or am i on the right track but not quite there?
 --
 View this message in context: 
 http://neo4j-user-list.438527.n3.nabble.com/Shortest-Path-Query-with-property-filters-tp2402322p2402322.html
 Sent from the Neo4J User List mailing list archive at Nabble.com.
 ___
 Neo4j mailing list
 User@lists.neo4j.org
 https://lists.neo4j.org/mailman/listinfo/user

 ___
 Neo4j mailing list
 User@lists.neo4j.org
 https://lists.neo4j.org/mailman/listinfo/user
 Warning:
 The information contained in this email and any attached files is
 confidential to BAE Systems Australia. If you are not the intended
 recipient, any use, disclosure or copying of this email or any
 attachments is expressly prohibited.  If you have received this email
 in error, please notify us immediately. VIRUS: Every care has been
 taken to ensure this email and its attachments are virus free,
 however, any loss or damage incurred in using this email is not the
 sender's responsibility.  It is your responsibility to ensure virus
 checks are completed before installing any data sent in this email to
 your computer.


 ___
 Neo4j mailing list
 User@lists.neo4j.org
 https://lists.neo4j.org/mailman/listinfo/user

___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Difference between properties and nodes

2011-02-02 Thread Mattias Persson
Hi Tim,

In what aspect? performance, or semantics? Could you supply a little more
context, please...

2011/1/31 Tim McNamara paperl...@timmcnamara.co.nz

 Is there much difference between a creating property and creating a child
 node?

 Tim

 ___
 Neo4j mailing list
 User@lists.neo4j.org
 https://lists.neo4j.org/mailman/listinfo/user




-- 
Mattias Persson, [matt...@neotechnology.com]
Hacker, Neo Technology
www.neotechnology.com
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Neo4j web admin connection error

2011-02-02 Thread Eddy Respondek
That didn't work. I tried a couple different combination until I found the
error log. There is a line saying that it can't find neo4j.properties which
might be causing the problem?

DEBUG WrapperSimpleAppMain
org.apache.commons.configuration.ConfigurationUtils -
ConfigurationUtils.locate(): base is /usr/bin/neo4j-1.3.M01/conf, name is
neo4j-server.pr$
DEBUG WrapperSimpleAppMain
org.apache.commons.configuration.ConfigurationUtils - Loading configuration
from the path /usr/bin/neo4j-1.3.M01/conf/neo4j-server.properties
WARN WrapperSimpleAppMain org.neo4j.server.configuration.Configurator - The
specified file for database performance tuning properties [neo4j.properties]
does not exist.
INFO WrapperSimpleAppMain org.neo4j.server.database.Database - Creating
database at /usr/bin/neo4j-1.3.M01/../data/graph.db
WARN WrapperSimpleAppMain org.neo4j.server.database.Database - No database
tuning properties set in the property file, using defaults. Please specify
the performance prop$
INFO WrapperSimpleAppMain org.neo4j.server.NeoServer - Starting Neo Server
on port [7474]
INFO WrapperSimpleAppMain org.neo4j.server.NeoServer - Mounting webadmin at
[webadmin-html]
INFO WrapperSimpleAppMain org.neo4j.server.NeoServer - Mounting management
API at [http://localhost:7474/db/manage/]
INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Adding
JAXRS package [org.neo4j.server.webadmin.rest] at [/db/manage]
INFO WrapperSimpleAppMain org.neo4j.server.NeoServer - Mounting REST API at
[http://localhost:7474/db/data/]
INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Adding
JAXRS package [org.neo4j.server.rest.web] at [/db/data]
INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Adding
Redirector at [/]
INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Mounting
static content at [/webadmin] from [webadmin-html]
INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Found
[jar:file:/usr/bin/neo4j-1.3.M01/system/lib/neo4j-server-0.6-1.3.M01-static-web.jar!/webadmin-html]
INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Mounting
static content from
[jar:file:/usr/bin/neo4j-1.3.M01/system/lib/neo4j-server-0.6-1.3.M01-static-$
INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Mounting
servlet at [/db/manage]
INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Mounting
servlet at [/db/data]
INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Mounting
servlet at [/]


On Wed, Feb 2, 2011 at 4:27 PM, user-requ...@lists.neo4j.org wrote:

 Send User mailing list submissions to
user@lists.neo4j.org

 To subscribe or unsubscribe via the World Wide Web, visit
https://lists.neo4j.org/mailman/listinfo/user
 or, via email, send a message with subject or body 'help' to
user-requ...@lists.neo4j.org

 You can reach the person managing the list at
user-ow...@lists.neo4j.org

 When replying, please edit your Subject line so it is more specific
 than Re: Contents of User digest...


 Today's Topics:

   1.  Neo4j web admin connection error (Eddy Respondek)
   2. Re:  Neo4j web admin connection error (Peter Neubauer)
   3. Re:  Exact numeric indexing? (Mattias Persson)
   4. Re:  Shortest Path Query with property filters (Peter Neubauer)
   5. Re:  Neo4j 1.2 server on Linux X86 - 64 bit (Peter Neubauer)


 --

 Message: 1
 Date: Wed, 2 Feb 2011 15:28:55 +0700
 From: Eddy Respondek eddy.respon...@gmail.com
 Subject: [Neo4j] Neo4j web admin connection error
 To: user@lists.neo4j.org
 Message-ID:

 aanlktin6cjpytgh34zgityszouexoqye+nzkxrjpd...@mail.gmail.comaanlktin6cjpytgh34zgityszouexoqye%2bnzkxrjpd...@mail.gmail.com
 
 Content-Type: text/plain; charset=UTF-8

 I've just installed Neo4j on Debian Lenny and I'm trying to expose the Web
 Admin on a sub-domain via Apache2 proxypass. Web Admin is served but I'm
 getting a Unknown connection problem message. Do you have any suggestions
 to resolve this? What error logs or configuration files should I be
 checking
 to see whats going wrong?

 My settings are:

 ProxyRequests Off

 Proxy *
 AddDefaultCharset off
 Order deny,allow
 Deny from all
 Allow from all
 /Proxy

 ProxyVia On

 VirtualHost *:80
 ServerName graph.example.com
 ProxyPass / http://localhost:7474/
 ProxyPassReverse / http://localhost:7474/
 /VirtualHost


 I'm not sure if it's helpful but the url has localhost in it like this:


 http://graph.example.com/webadmin/#p=dashboards=http%3A//localhost%3A7474/db/manage/

 Thanks


 --

 Message: 2
 Date: Wed, 2 Feb 2011 10:01:26 +0100
 From: Peter Neubauer peter.neuba...@neotechnology.com
 Subject: Re: [Neo4j] Neo4j web admin connection error
 To: Neo4j user discussions user@lists.neo4j.org
 Message-ID:

 AANLkTi=-C=_ovsarp-ho7qjwtlvjo-k3gp4u4+ks7...@mail.gmail.comovsarp-ho7qjwtlvjo-k3gp4u4%2bks7...@mail.gmail.com
 
 Content-Type: 

Re: [Neo4j] Lucene index commit rate and NoSuchElementException

2011-02-02 Thread Massimo Lusetti
On Tue, Feb 1, 2011 at 10:19 PM, Tobias Ivarsson
tobias.ivars...@neotechnology.com wrote:

 For getting a performance boost out of writes, doing multiple operations in
 one transaction will give a much bigger gain than multiple threads though.
 For your use case, I think two writer threads and a few hundred elements per
 transaction is an appropriate size.

I got some numbers.

On a base of 10 rounds of 10 rows each I got an average of
111.1811 sec to crunch a chunk of data, so it means that it would take
1.111811 ms to process a single row.
A single file of data contains data for a single day and has an
average of 250 rows so it would take approximately 46 minutes to
crunch.

The final db size is 588034K (574M) which has 100 rows so we can
estimate that the final DB size would be 132307650K (126G).

The current SQL DB is 60G and the app takes 4 and 1/2 hours to crunch
a month of logs, identical machine.

The test has been conducted starting from an empty db and the progress
of chunk time is this one: 80307 ms, 83444 ms, 97162 ms, 131703 ms,
134647 ms, 104602 ms, 115944 ms, 112489 ms, 115660 ms, 135853 ms.

There are 20 threads (default config) and they're processing 200 rows
each within a single Transaction.

The JVM is:
OpenJDK Runtime Environment (build 1.6.0-b20) and was started with this options:
-Djava.awt.headless=true -Xms40m -Xmx1536m -XX:+UseConcMarkSweepGC

And ...

What do you think?

Thanks for any info you could give
-- 
Massimo
http://meridio.blogspot.com
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Neo4j web admin connection error

2011-02-02 Thread Jacob Hansson
Does the file /usr/bin/neo4j-1.3.M01/conf/neo4j-server.properties exist?

Either way, I think Michael Hunger has solved this problem all-together, I
just need to merge his changes into the main server branch. I'll be digging
in to that after lunch today. Will keep you posted!

/Jacob

On Wed, Feb 2, 2011 at 12:12 PM, Eddy Respondek eddy.respon...@gmail.comwrote:

 That didn't work. I tried a couple different combination until I found the
 error log. There is a line saying that it can't find neo4j.properties which
 might be causing the problem?

 DEBUG WrapperSimpleAppMain
 org.apache.commons.configuration.ConfigurationUtils -
 ConfigurationUtils.locate(): base is /usr/bin/neo4j-1.3.M01/conf, name is
 neo4j-server.pr$
 DEBUG WrapperSimpleAppMain
 org.apache.commons.configuration.ConfigurationUtils - Loading configuration
 from the path /usr/bin/neo4j-1.3.M01/conf/neo4j-server.properties
 WARN WrapperSimpleAppMain org.neo4j.server.configuration.Configurator - The
 specified file for database performance tuning properties
 [neo4j.properties]
 does not exist.
 INFO WrapperSimpleAppMain org.neo4j.server.database.Database - Creating
 database at /usr/bin/neo4j-1.3.M01/../data/graph.db
 WARN WrapperSimpleAppMain org.neo4j.server.database.Database - No database
 tuning properties set in the property file, using defaults. Please specify
 the performance prop$
 INFO WrapperSimpleAppMain org.neo4j.server.NeoServer - Starting Neo Server
 on port [7474]
 INFO WrapperSimpleAppMain org.neo4j.server.NeoServer - Mounting webadmin at
 [webadmin-html]
 INFO WrapperSimpleAppMain org.neo4j.server.NeoServer - Mounting management
 API at [http://localhost:7474/db/manage/]
 INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Adding
 JAXRS package [org.neo4j.server.webadmin.rest] at [/db/manage]
 INFO WrapperSimpleAppMain org.neo4j.server.NeoServer - Mounting REST API at
 [http://localhost:7474/db/data/]
 INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Adding
 JAXRS package [org.neo4j.server.rest.web] at [/db/data]
 INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Adding
 Redirector at [/]
 INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Mounting
 static content at [/webadmin] from [webadmin-html]
 INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Found

 [jar:file:/usr/bin/neo4j-1.3.M01/system/lib/neo4j-server-0.6-1.3.M01-static-web.jar!/webadmin-html]
 INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Mounting
 static content from

 [jar:file:/usr/bin/neo4j-1.3.M01/system/lib/neo4j-server-0.6-1.3.M01-static-$
 INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Mounting
 servlet at [/db/manage]
 INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Mounting
 servlet at [/db/data]
 INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Mounting
 servlet at [/]


 On Wed, Feb 2, 2011 at 4:27 PM, user-requ...@lists.neo4j.org wrote:

  Send User mailing list submissions to
 user@lists.neo4j.org
 
  To subscribe or unsubscribe via the World Wide Web, visit
 https://lists.neo4j.org/mailman/listinfo/user
  or, via email, send a message with subject or body 'help' to
 user-requ...@lists.neo4j.org
 
  You can reach the person managing the list at
 user-ow...@lists.neo4j.org
 
  When replying, please edit your Subject line so it is more specific
  than Re: Contents of User digest...
 
 
  Today's Topics:
 
1.  Neo4j web admin connection error (Eddy Respondek)
2. Re:  Neo4j web admin connection error (Peter Neubauer)
3. Re:  Exact numeric indexing? (Mattias Persson)
4. Re:  Shortest Path Query with property filters (Peter Neubauer)
5. Re:  Neo4j 1.2 server on Linux X86 - 64 bit (Peter Neubauer)
 
 
  --
 
  Message: 1
  Date: Wed, 2 Feb 2011 15:28:55 +0700
  From: Eddy Respondek eddy.respon...@gmail.com
  Subject: [Neo4j] Neo4j web admin connection error
  To: user@lists.neo4j.org
  Message-ID:
 
  aanlktin6cjpytgh34zgityszouexoqye+nzkxrjpd...@mail.gmail.comaanlktin6cjpytgh34zgityszouexoqye%2bnzkxrjpd...@mail.gmail.com
 aanlktin6cjpytgh34zgityszouexoqye%2bnzkxrjpd...@mail.gmail.comaanlktin6cjpytgh34zgityszouexoqye%252bnzkxrjpd...@mail.gmail.com
 
  
  Content-Type: text/plain; charset=UTF-8
 
  I've just installed Neo4j on Debian Lenny and I'm trying to expose the
 Web
  Admin on a sub-domain via Apache2 proxypass. Web Admin is served but I'm
  getting a Unknown connection problem message. Do you have any
 suggestions
  to resolve this? What error logs or configuration files should I be
  checking
  to see whats going wrong?
 
  My settings are:
 
  ProxyRequests Off
 
  Proxy *
  AddDefaultCharset off
  Order deny,allow
  Deny from all
  Allow from all
  /Proxy
 
  ProxyVia On
 
  VirtualHost *:80
  ServerName graph.example.com
  ProxyPass / http://localhost:7474/
  ProxyPassReverse / 

Re: [Neo4j] Neo4j web admin connection error

2011-02-02 Thread Eddy Respondek
The file is definitely there.

Is there are difference between the latest http copy and the svn?

Eddy

On Wed, Feb 2, 2011 at 6:29 PM, user-requ...@lists.neo4j.org wrote:


 Does the file /usr/bin/neo4j-1.3.M01/conf/neo4j-server.properties exist?

 Either way, I think Michael Hunger has solved this problem all-together, I
 just need to merge his changes into the main server branch. I'll be digging
 in to that after lunch today. Will keep you posted!

 /Jacob

 On Wed, Feb 2, 2011 at 12:12 PM, Eddy Respondek eddy.respon...@gmail.com
 wrote:

  That didn't work. I tried a couple different combination until I found
 the
  error log. There is a line saying that it can't find neo4j.properties
 which
  might be causing the problem?
 
  DEBUG WrapperSimpleAppMain
  org.apache.commons.configuration.ConfigurationUtils -
  ConfigurationUtils.locate(): base is /usr/bin/neo4j-1.3.M01/conf, name is
  neo4j-server.pr$
  DEBUG WrapperSimpleAppMain
  org.apache.commons.configuration.ConfigurationUtils - Loading
 configuration
  from the path /usr/bin/neo4j-1.3.M01/conf/neo4j-server.properties
  WARN WrapperSimpleAppMain org.neo4j.server.configuration.Configurator -
 The
  specified file for database performance tuning properties
  [neo4j.properties]
  does not exist.
  INFO WrapperSimpleAppMain org.neo4j.server.database.Database - Creating
  database at /usr/bin/neo4j-1.3.M01/../data/graph.db
  WARN WrapperSimpleAppMain org.neo4j.server.database.Database - No
 database
  tuning properties set in the property file, using defaults. Please
 specify
  the performance prop$
  INFO WrapperSimpleAppMain org.neo4j.server.NeoServer - Starting Neo
 Server
  on port [7474]
  INFO WrapperSimpleAppMain org.neo4j.server.NeoServer - Mounting webadmin
 at
  [webadmin-html]
  INFO WrapperSimpleAppMain org.neo4j.server.NeoServer - Mounting
 management
  API at [http://localhost:7474/db/manage/]
  INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Adding
  JAXRS package [org.neo4j.server.webadmin.rest] at [/db/manage]
  INFO WrapperSimpleAppMain org.neo4j.server.NeoServer - Mounting REST API
 at
  [http://localhost:7474/db/data/]
  INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Adding
  JAXRS package [org.neo4j.server.rest.web] at [/db/data]
  INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Adding
  Redirector at [/]
  INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Mounting
  static content at [/webadmin] from [webadmin-html]
  INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Found
 
 
 [jar:file:/usr/bin/neo4j-1.3.M01/system/lib/neo4j-server-0.6-1.3.M01-static-web.jar!/webadmin-html]
  INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Mounting
  static content from
 
 
 [jar:file:/usr/bin/neo4j-1.3.M01/system/lib/neo4j-server-0.6-1.3.M01-static-$
  INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Mounting
  servlet at [/db/manage]
  INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Mounting
  servlet at [/db/data]
  INFO WrapperSimpleAppMain org.neo4j.server.web.Jetty6WebServer - Mounting
  servlet at [/]
 
 
  On Wed, Feb 2, 2011 at 4:27 PM, user-requ...@lists.neo4j.org wrote:
 
   Send User mailing list submissions to
  user@lists.neo4j.org
  
   To subscribe or unsubscribe via the World Wide Web, visit
  https://lists.neo4j.org/mailman/listinfo/user
   or, via email, send a message with subject or body 'help' to
  user-requ...@lists.neo4j.org
  
   You can reach the person managing the list at
  user-ow...@lists.neo4j.org
  
   When replying, please edit your Subject line so it is more specific
   than Re: Contents of User digest...
  
  
   Today's Topics:
  
 1.  Neo4j web admin connection error (Eddy Respondek)
 2. Re:  Neo4j web admin connection error (Peter Neubauer)
 3. Re:  Exact numeric indexing? (Mattias Persson)
 4. Re:  Shortest Path Query with property filters (Peter Neubauer)
 5. Re:  Neo4j 1.2 server on Linux X86 - 64 bit (Peter Neubauer)
  
  
   --
  
   Message: 1
   Date: Wed, 2 Feb 2011 15:28:55 +0700
   From: Eddy Respondek eddy.respon...@gmail.com
   Subject: [Neo4j] Neo4j web admin connection error
   To: user@lists.neo4j.org
   Message-ID:
  
   aanlktin6cjpytgh34zgityszouexoqye+nzkxrjpd...@mail.gmail.comaanlktin6cjpytgh34zgityszouexoqye%2bnzkxrjpd...@mail.gmail.com
 aanlktin6cjpytgh34zgityszouexoqye%2bnzkxrjpd...@mail.gmail.comaanlktin6cjpytgh34zgityszouexoqye%252bnzkxrjpd...@mail.gmail.com
 
  aanlktin6cjpytgh34zgityszouexoqye%2bnzkxrjpd...@mail.gmail.comaanlktin6cjpytgh34zgityszouexoqye%252bnzkxrjpd...@mail.gmail.com
 aanlktin6cjpytgh34zgityszouexoqye%252bnzkxrjpd...@mail.gmail.comaanlktin6cjpytgh34zgityszouexoqye%25252bnzkxrjpd...@mail.gmail.com
 
  
   
   Content-Type: text/plain; charset=UTF-8
  
   I've just installed Neo4j on Debian Lenny and I'm 

Re: [Neo4j] Lucene index commit rate and NoSuchElementException

2011-02-02 Thread Tobias Ivarsson
More threads != faster

You are doing I/O bound work. More then two threads is most likely just
going to add overhead and make things slower!

Also, I'm wondering, what does crunch mean in this context? Is it the
write operations we have been talking about, or is it some other operation?
I'm thinking that if it takes 45 minutes to insert a days worth of data,
that is fast enough to do in real time. If Neo4j allows you to *process*
that data faster and in new ways, then that would be gain enough, and
probably warrant slightly longer insert times.

-tobias

On Wed, Feb 2, 2011 at 12:17 PM, Massimo Lusetti mluse...@gmail.com wrote:

 On Tue, Feb 1, 2011 at 10:19 PM, Tobias Ivarsson
 tobias.ivars...@neotechnology.com wrote:

  For getting a performance boost out of writes, doing multiple operations
 in
  one transaction will give a much bigger gain than multiple threads
 though.
  For your use case, I think two writer threads and a few hundred elements
 per
  transaction is an appropriate size.

 I got some numbers.

 On a base of 10 rounds of 10 rows each I got an average of
 111.1811 sec to crunch a chunk of data, so it means that it would take
 1.111811 ms to process a single row.
 A single file of data contains data for a single day and has an
 average of 250 rows so it would take approximately 46 minutes to
 crunch.

 The final db size is 588034K (574M) which has 100 rows so we can
 estimate that the final DB size would be 132307650K (126G).

 The current SQL DB is 60G and the app takes 4 and 1/2 hours to crunch
 a month of logs, identical machine.

 The test has been conducted starting from an empty db and the progress
 of chunk time is this one: 80307 ms, 83444 ms, 97162 ms, 131703 ms,
 134647 ms, 104602 ms, 115944 ms, 112489 ms, 115660 ms, 135853 ms.

 There are 20 threads (default config) and they're processing 200 rows
 each within a single Transaction.

 The JVM is:
 OpenJDK Runtime Environment (build 1.6.0-b20) and was started with this
 options:
 -Djava.awt.headless=true -Xms40m -Xmx1536m -XX:+UseConcMarkSweepGC

 And ...

 What do you think?

 Thanks for any info you could give
 --
 Massimo
 http://meridio.blogspot.com
 ___
 Neo4j mailing list
 User@lists.neo4j.org
 https://lists.neo4j.org/mailman/listinfo/user




-- 
Tobias Ivarsson tobias.ivars...@neotechnology.com
Hacker, Neo Technology
www.neotechnology.com
Cellphone: +46 706 534857
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


[Neo4j] Fetching Nodes from Graph Database(which was created earlier)

2011-02-02 Thread karthik aithal
Hi,

 I am biginner to Neo4j and eager to learn more about it. I am aware
of creating new Graph database with 1k to 10k nodes and relationship and was
successfully traverse to specific nodes. But currently I am facing difficult
to get node from existing graph DB and traverse to specific node in that DB.

For creating new Graph DB I am using:

GraphDatabaseService gDB = new EmbeddedGraphDatabase(target/db);

So, if I have 10k nodes(with relationship) in Path: /NeoDB/store/db then
how can I retrive nodes from this DB?

Thanks for your help in advance,

Karthik
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Fetching Nodes from Graph Database(which was created earlier)

2011-02-02 Thread Michael Hunger
Karthik,

You can index the nodes you are interested in as start and/or end-nodes of your 
traversal and then retrieve them via the index.

// to add them
gDB.index().forNodes(indexName).add(node,key,value);

nodeIndex.get(key,value) returns an IndexHitsNode that you can iterate 
over or use getSingle() to retrieve a single matching node.

See also:
http://wiki.neo4j.org/content/Index_Framework

Other ways of accessing nodes in the db are getById() or traversal using the 
traversal framework 
or manual traversal starting from the reference node (gDB.getReferenceNode()) 
that you should connect your graph to.

Cheers

Michael

Am 02.02.2011 um 13:34 schrieb karthik aithal:

 Hi,
 
 I am biginner to Neo4j and eager to learn more about it. I am aware
 of creating new Graph database with 1k to 10k nodes and relationship and was
 successfully traverse to specific nodes. But currently I am facing difficult
 to get node from existing graph DB and traverse to specific node in that DB.
 
 For creating new Graph DB I am using:
 
 GraphDatabaseService gDB = new EmbeddedGraphDatabase(target/db);
 
 So, if I have 10k nodes(with relationship) in Path: /NeoDB/store/db then
 how can I retrive nodes from this DB?
 
 Thanks for your help in advance,
 
 Karthik
 ___
 Neo4j mailing list
 User@lists.neo4j.org
 https://lists.neo4j.org/mailman/listinfo/user

___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Implementing disambiguation algorithms in Neo4j

2011-02-02 Thread Craig Taverner
Hi Michael,

It is fun to see you thinking this through :-)

I have had a chance to discuss my crazy ideas with some of the neo4j team
last year, but this is the first time with you. And since December there is
even code to review (see https://github.com/craigtaverner/amanzi-index).

You are correct that I connect the data nodes directly to the index nodes.
And therefor the keys in the index nodes are representations of the data, at
various 'resolutions' as you climb the tree. This also means that each index
node represents a range of values, and so inequality operations can be
performed on the index nodes themselves. This also leads to another
interesting side effect, and that is that statistics can be calculated on
the index tree without having to touch the original data. To fully realize
this we also need some counters on the index nodes. The plan is that the
index itself becomes the basis for very fast statistics calculations.

Your suggestion for relationships is also related to another idea I
discussed last year, and that is to use a range of relationship types, where
the type itself contains information about the range of the child nodes, so
that traversing the index tree can be optimized by using only the
relationship type in most tests, and accessing node or relationship
properties only for edge cases. I think the idea makes sense, but there are
complications in that we can reach the capacity of the database if we
overuse relationship type for something that logically would normally be
seen as a relationship property.

Cheers, Craig

On Wed, Feb 2, 2011 at 1:46 AM, Michael Hunger 
michael.hun...@neotechnology.com wrote:

 Craig,

 The interesting thing is - if you do this index in-graph you can directly
 attach the
 index-nodes to the real nodes and have them mimic the original node but
 instead of having
 the property value per property you have the mapped value.

 And you can many of such indexes in graph attached via a index-name
 relationship to the real node.
 Would also be easy to update the index nodes that way or to remove them
 altogether.

 But perhaps it is even better to use relationships pointing to the nodes
 contain the mapped property values
 and have the index nodes just be an ordering structure for those
 relationships.

 Cheers

 Michael

 Am 02.02.2011 um 01:33 schrieb Craig Taverner:

  Hi Michael,
 
  I agree that _all_ is a strong work :-)
 
  What I do is provide a mapper interface for the domain modeler to
 implement
  based on their own understanding of what 'order' and 'resolution' to
 provide
  to the index. I have a set of pre-defined mappers for general cases, but
 do
  not suppose they will satisfy all users needs. Hopefully, should this
 index
  get developed further, we would have a much wider range of mappers that
 do
  cover all or most cases.
 
  So, let me give some examples. The simple ones are the integer and float
  mappers, where I have a few static factory methods for configuring them
 with
  various resolutions and origins, and defaults for those also. The default
  integer mapper, if I remember correctly, maps the integer to itself, and
 the
  default float mapper maps the float to its integer value (so 2.1 and 2.9
 map
  to integer 2). There are configurations that auto-configure the mapper
 based
  on a sample dataset, setting the origin to the average value and choosing
  resolution to divide the space into a reasonable number of steps.
 
  The only string mapper I have configured simply maps each character in
 the
  string to an integer in the 94-character range from SPACE to SPACE+94
 (126).
  It has a depth parameter, which controls the resolution of the first
 level
  of the index. This means that AB and AC are in adjacent index nodes.
 There
  is also a utility method for auto-configuring the range and depth based
 on a
  sample dataset. This mapper should work well when indexing, for example,
 a
  random selection out of a dictionary of words. However, if the sample
 data
  conforms to a certain pattern, and there are internal correlations, then
 a
  different mapper should be used (or written). The auto-config method does
  look for common-prefixes in the sample data to ensure that the depth is
 set
  correctly to not have all words in the same index node.
 
  The number of properties in the index does need to be defined at index
  creation. So you need to configure the index with all property names and
  types (and mappers) up-front, and then you simply add nodes to the index
 as
  you go. If the node does not have one of the configured properties, it
 gets
  a special index value for that. The resulting tree that is built is like
 an
  n-dimensional pyramid with lots of gaps (depending on the evenness of the
  property value distribution). Properties that do not need a tree of much
  depth (eg. a discrete set of categories, or tags) will cause the tree to
  collapse to n-1 dimensions at higher levels. So the total tree height is
 the
  hight 

Re: [Neo4j] Fetching Nodes from Graph Database(which was created earlier)

2011-02-02 Thread karthik aithal
Thanks for your reply. It resolved my problem.

I think it is a basic question. But I found very difficult to find solution
online. So can you please provide any consolidated user guide to use
Neo4j(other than doc/videos in neo4j sites)?

Thanks,
Karthik
On Wed, Feb 2, 2011 at 6:12 PM, Mattias Persson
matt...@neotechnology.comwrote:

 You mean copy nodes from one database to another? You can bring up two
 EmbeddedGraphDatabase instances, pointing to two different locations, and
 start getting nodes/relationships from one and creating them (not just
 adding) in the other.

GraphDatabaseService gDB1 = new
 EmbeddedGraphDatabase(/NeoDB/store/db);
GraphDatabaseService gDB2 = new EmbeddedGraphDatabase(target/db);

for ( Node sourceNode : gDB1.getAllNodes() )
{
 // Insert the contents of that node in gDB2
}

 2011/2/2 karthik aithal karthikait...@gmail.com

  Hi,
 
  I am biginner to Neo4j and eager to learn more about it. I am aware
  of creating new Graph database with 1k to 10k nodes and relationship and
  was
  successfully traverse to specific nodes. But currently I am facing
  difficult
  to get node from existing graph DB and traverse to specific node in that
  DB.
 
  For creating new Graph DB I am using:
 
  GraphDatabaseService gDB = new EmbeddedGraphDatabase(target/db);
 
  So, if I have 10k nodes(with relationship) in Path: /NeoDB/store/db
 then
  how can I retrive nodes from this DB?
 
  Thanks for your help in advance,
 
  Karthik
  ___
  Neo4j mailing list
  User@lists.neo4j.org
  https://lists.neo4j.org/mailman/listinfo/user
 



 --
 Mattias Persson, [matt...@neotechnology.com]
 Hacker, Neo Technology
 www.neotechnology.com
 ___
 Neo4j mailing list
 User@lists.neo4j.org
 https://lists.neo4j.org/mailman/listinfo/user

___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Relationship indexing

2011-02-02 Thread Pablo Pareja
Yes, I'm running embedded.

On Tue, Feb 1, 2011 at 1:38 PM, Michael Hunger 
michael.hun...@neotechnology.com wrote:

 I assume Pablo is running embedded.

 Is that correct?

 Michael

 Am 01.02.2011 um 13:21 schrieb Peter Neubauer:

  Also,
  have you taken a look at the returned document? Transferring thousands
  of relationships and parsing them as JSON on both client and server
  might not be optimal.
 
  Cheers,
 
  /peter neubauer
 
  GTalk:  neubauer.peter
  Skype   peter.neubauer
  Phone   +46 704 106975
  LinkedIn   http://www.linkedin.com/in/neubauer
  Twitter  http://twitter.com/peterneubauer
 
  http://www.neo4j.org   - Your high performance graph
 database.
  http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.
 
 
 
  On Tue, Feb 1, 2011 at 1:17 PM, Michael Hunger
  michael.hun...@neotechnology.com wrote:
  It sounds as if you are looping through all of them? Have they all the
 same relationshiptype and direction?
 
  Otherwise perhaps use node.getRelationships(type, direction)
 
  Perhaps you can also use a traverser for accessing the relationship?
 
  Cheers
 
  Michael
 
  Am 01.02.2011 um 12:37 schrieb Mattias Persson:
 
  2011/2/1 Pablo Pareja ppar...@era7.com
 
  Hi all,
 
  I'm working on a project with millions of nodes and relationships and
 I'm
  using Neo4j for it.
  I'm doing some tests and I'm surprised of how slow it gets when it
 comes to
  getting specific relationships
  from one node...
 
  How's it actually implemented?
 
  The node I want to get the relationships from is indexed so getting
 there
  is
  almost instantaneous, however
  looping over its outgoing relationships seems to be really slow.
  In the last test I just did it took about 10 minutes for retrieving
 around
  45.000 outgoing relationships.
 
 
  What kind of heap settings and memory mapping configuration are you
 using?
  This sounds like disk swapping IMHO. 45000 relationships are quite few
 and
  should take well below a second to get. But if you just want to get a
  specific relationship (based on a property value or other node or
 something
  similar) then indexing would be a faster solution. Maybe something like
  this:
 
   RelationshipIndex index = graphDb.index().forRelationships(
  my-relationships );
   ...
   Relationship myRelationship = myNode.createRelationship( myOtherNode,
  myRelationshipType );
   index.add( myRelationship, myKey, myValue );
   ...
   Relationship relForMyKey = index.get( myKey, myValue
 ).getSingle();
   for ( Relationships relBetweenMyNodes : index.get( null, null, myNode,
  myOtherNode ) ) {
System.out.println( Relationship  + relBetweenMyNodes + 
 found );
   }
 
  Does that help you?
 
 
  I've also been checking the wiki site for the Index Framework and
 there's
  only one small paragraph talking about
  indexing relationships but not about how to create them
 
  RelationshipIndex friendships = graphDb.index().forRelationships(
  friendships );
  // type isn't a reserved key and isn't indexed automatically
  Relationship relationship = friendships.get( type, knows,
 morpheus,
  trinity ).getSingle();
 
 
  I'll try to update the wiki page with a little more/better information!
 
 
 
  so do you have any idea of the proper way for indexing relationships?
  Thanks in advance,
  ___
  Neo4j mailing list
  User@lists.neo4j.org
  https://lists.neo4j.org/mailman/listinfo/user
 
 
 
 
  --
  Mattias Persson, [matt...@neotechnology.com]
  Hacker, Neo Technology
  www.neotechnology.com
  ___
  Neo4j mailing list
  User@lists.neo4j.org
  https://lists.neo4j.org/mailman/listinfo/user
 
  ___
  Neo4j mailing list
  User@lists.neo4j.org
  https://lists.neo4j.org/mailman/listinfo/user
 
  ___
  Neo4j mailing list
  User@lists.neo4j.org
  https://lists.neo4j.org/mailman/listinfo/user

 ___
 Neo4j mailing list
 User@lists.neo4j.org
 https://lists.neo4j.org/mailman/listinfo/user




-- 
Pablo Pareja Tobes
LinkedInhttp://www.linkedin.com/in/pabloparejatobes
Twitter   http://www.twitter.com/pablopareja

http://www.ohnosequences.com
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Relationship indexing

2011-02-02 Thread Pablo Pareja
First of all thanks for your quick response,

I'm using BatchInserter for the creation of all nodes and relationships, I
pass a conf file with these
parameters to the inserter:

neostore.nodestore.db.mapped_memory=10G
neostore.relationshipstore.db.mapped_memory=15G
neostore.propertystore.db.mapped_memory=10G
neostore.propertystore.db.strings.mapped_memory=15G
neostore.propertystore.db.arrays.mapped_memory=0M

for a 64 GB of RAM computer.

However, I have to say that I don't pass any configuration file when
creating the GraphDatabaseService.
I just pass the db folder whenever I have to create a GraphDatabaseService
instance in order to perform any kind of query. (I'm not using the new neo4j
server feature, I navigate through the graph manually).

This is the code I use for retrieving the relationships:

IteratorRelationship relIterator =
node.getRelationships(SomeRelationship,Direction.INCOMING).iterator();
while(interproRelIterator.hasNext()){
   Wrapper wrapper =
new Wrapper(interproRelIterator.next().getStartNode());
}

The current size of my db is somewhere around 35.000.000 nodes and
20.000.000 relationships.

Thanks in advance,


On Tue, Feb 1, 2011 at 12:37 PM, Mattias Persson
matt...@neotechnology.comwrote:

 2011/2/1 Pablo Pareja ppar...@era7.com

  Hi all,
 
  I'm working on a project with millions of nodes and relationships and I'm
  using Neo4j for it.
  I'm doing some tests and I'm surprised of how slow it gets when it comes
 to
  getting specific relationships
  from one node...
 
  How's it actually implemented?
 
  The node I want to get the relationships from is indexed so getting there
  is
  almost instantaneous, however
  looping over its outgoing relationships seems to be really slow.
  In the last test I just did it took about 10 minutes for retrieving
 around
  45.000 outgoing relationships.
 

 What kind of heap settings and memory mapping configuration are you using?
 This sounds like disk swapping IMHO. 45000 relationships are quite few and
 should take well below a second to get. But if you just want to get a
 specific relationship (based on a property value or other node or something
 similar) then indexing would be a faster solution. Maybe something like
 this:

  RelationshipIndex index = graphDb.index().forRelationships(
 my-relationships );
  ...
  Relationship myRelationship = myNode.createRelationship( myOtherNode,
 myRelationshipType );
  index.add( myRelationship, myKey, myValue );
  ...
  Relationship relForMyKey = index.get( myKey, myValue ).getSingle();
  for ( Relationships relBetweenMyNodes : index.get( null, null, myNode,
 myOtherNode ) ) {
   System.out.println( Relationship  + relBetweenMyNodes +  found );
  }

 Does that help you?


  I've also been checking the wiki site for the Index Framework and there's
  only one small paragraph talking about
  indexing relationships but not about how to create them
 
   RelationshipIndex friendships = graphDb.index().forRelationships(
  friendships );
   // type isn't a reserved key and isn't indexed automatically
   Relationship relationship = friendships.get( type, knows, morpheus,
  trinity ).getSingle();
 

 I'll try to update the wiki page with a little more/better information!

 
 
  so do you have any idea of the proper way for indexing relationships?
  Thanks in advance,
  ___
  Neo4j mailing list
  User@lists.neo4j.org
  https://lists.neo4j.org/mailman/listinfo/user
 



 --
 Mattias Persson, [matt...@neotechnology.com]
 Hacker, Neo Technology
 www.neotechnology.com
 ___
 Neo4j mailing list
 User@lists.neo4j.org
 https://lists.neo4j.org/mailman/listinfo/user




-- 
Pablo Pareja Tobes
LinkedInhttp://www.linkedin.com/in/pabloparejatobes
Twitter   http://www.twitter.com/pablopareja

http://www.ohnosequences.com
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Relationship indexing

2011-02-02 Thread Pablo Pareja
Maybe I'm wrong but what you say would just apply for server feature uses
right?
(which is not my case)
Cheers,

On Tue, Feb 1, 2011 at 1:21 PM, Peter Neubauer 
peter.neuba...@neotechnology.com wrote:

 Also,
 have you taken a look at the returned document? Transferring thousands
 of relationships and parsing them as JSON on both client and server
 might not be optimal.

 Cheers,

 /peter neubauer

 GTalk:  neubauer.peter
 Skype   peter.neubauer
 Phone   +46 704 106975
 LinkedIn   http://www.linkedin.com/in/neubauer
 Twitter  http://twitter.com/peterneubauer

 http://www.neo4j.org   - Your high performance graph database.
 http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.



 On Tue, Feb 1, 2011 at 1:17 PM, Michael Hunger
 michael.hun...@neotechnology.com wrote:
  It sounds as if you are looping through all of them? Have they all the
 same relationshiptype and direction?
 
  Otherwise perhaps use node.getRelationships(type, direction)
 
  Perhaps you can also use a traverser for accessing the relationship?
 
  Cheers
 
  Michael
 
  Am 01.02.2011 um 12:37 schrieb Mattias Persson:
 
  2011/2/1 Pablo Pareja ppar...@era7.com
 
  Hi all,
 
  I'm working on a project with millions of nodes and relationships and
 I'm
  using Neo4j for it.
  I'm doing some tests and I'm surprised of how slow it gets when it
 comes to
  getting specific relationships
  from one node...
 
  How's it actually implemented?
 
  The node I want to get the relationships from is indexed so getting
 there
  is
  almost instantaneous, however
  looping over its outgoing relationships seems to be really slow.
  In the last test I just did it took about 10 minutes for retrieving
 around
  45.000 outgoing relationships.
 
 
  What kind of heap settings and memory mapping configuration are you
 using?
  This sounds like disk swapping IMHO. 45000 relationships are quite few
 and
  should take well below a second to get. But if you just want to get a
  specific relationship (based on a property value or other node or
 something
  similar) then indexing would be a faster solution. Maybe something like
  this:
 
   RelationshipIndex index = graphDb.index().forRelationships(
  my-relationships );
   ...
   Relationship myRelationship = myNode.createRelationship( myOtherNode,
  myRelationshipType );
   index.add( myRelationship, myKey, myValue );
   ...
   Relationship relForMyKey = index.get( myKey, myValue ).getSingle();
   for ( Relationships relBetweenMyNodes : index.get( null, null, myNode,
  myOtherNode ) ) {
System.out.println( Relationship  + relBetweenMyNodes +  found
 );
   }
 
  Does that help you?
 
 
  I've also been checking the wiki site for the Index Framework and
 there's
  only one small paragraph talking about
  indexing relationships but not about how to create them
 
  RelationshipIndex friendships = graphDb.index().forRelationships(
  friendships );
  // type isn't a reserved key and isn't indexed automatically
  Relationship relationship = friendships.get( type, knows, morpheus,
  trinity ).getSingle();
 
 
  I'll try to update the wiki page with a little more/better information!
 
 
 
  so do you have any idea of the proper way for indexing relationships?
  Thanks in advance,
  ___
  Neo4j mailing list
  User@lists.neo4j.org
  https://lists.neo4j.org/mailman/listinfo/user
 
 
 
 
  --
  Mattias Persson, [matt...@neotechnology.com]
  Hacker, Neo Technology
  www.neotechnology.com
  ___
  Neo4j mailing list
  User@lists.neo4j.org
  https://lists.neo4j.org/mailman/listinfo/user
 
  ___
  Neo4j mailing list
  User@lists.neo4j.org
  https://lists.neo4j.org/mailman/listinfo/user
 
 ___
 Neo4j mailing list
 User@lists.neo4j.org
 https://lists.neo4j.org/mailman/listinfo/user




-- 
Pablo Pareja Tobes
LinkedInhttp://www.linkedin.com/in/pabloparejatobes
Twitter   http://www.twitter.com/pablopareja

http://www.ohnosequences.com
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Neo4j web admin connection error

2011-02-02 Thread thomas . baum
hi eddy,
there's a bug loading the properties from the server.  (you could also patch 
the minified webadmin.js)

 diff --git a/src/main/javascript/wa/prop.js b/src/main/javascript/wa/prop.js
 index 82f7c82..bc9f9c8 100644
 --- a/src/main/javascript/wa/prop.js
 +++ b/src/main/javascript/wa/prop.js
 @@ -22,4 +22,4 @@
  * Persisted property storage, connected to webadmins central property storage
  * service. Instance of {@link wa.PropertyStorage}.
  */
 -wa.prop = new wa.PropertyStorage(/db/manage/properties/);
 \ No newline at end of file
 +wa.prop = new wa.PropertyStorage(../db/manage/properties/);

i recommend the 'firebug-addon' for firefox, so you can analyze every 
http-request.

hope that helps.

cheers thomas


Am 02.02.2011 um 13:01 schrieb Eddy Respondek:

 The file is definitely there.
 
 Is there are difference between the latest http copy and the svn?
 
 Eddy
 
 On Wed, Feb 2, 2011 at 6:29 PM, user-requ...@lists.neo4j.org wrote:
 
 
 Does the file /usr/bin/neo4j-1.3.M01/conf/neo4j-server.properties exist?
 
 Either way, I think Michael Hunger has solved this problem all-together, I
 just need to merge his changes into the main server branch. I'll be digging
 in to that after lunch today. Will keep you posted!
 
 /Jacob

___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Exact numeric indexing?

2011-02-02 Thread Chris Maier
Thanks, Mattias.  I don't think that I will have any numeric data that
I'm never going to want to do range queries on, so I'll continue using
the ValueContext approach.

Out of curiosity, though, if I *did* have a numeric field that I only
ever wanted to do exact matches on, would there be a significant
performance penalty (or any other disadvantage) if it was stored as a
ValueContext as opposed to the bare number?  In other words, should I
just go ahead and index everything numerically, or should I really pay
attention to the potential queries I'll want to issue for number
fields?  If there are no big disadvantages, could Neo4j be patched to
automatically wrap instances of Number using ValueContext when adding
things to an index?

Also, is there a way this information could be added to the wiki?

Thanks again,
Chris

On Wed, Feb 2, 2011 at 4:20 AM, Mattias Persson
matt...@neotechnology.com wrote:
 If you only use exact lookups (no ranges) then you don't need to index your
 values numerically (via ValueContext.numeric(123)). Just use:

   index.add( myNode, key, 123 );
   ...
   index.get( key, 123 );

 but if you're querying for both ranges and sometimes exact lookups, then
 your suggestion is the way to go. Indexing numbers numerically converts
 values into special values in lucene natively to allow for correct range
 queries. That's why there's a difference here.

 2011/2/2 Chris Maier christopher.ma...@gmail.com

 I know that Neo4j can perform numeric range queries on its indexes,
 but I would also like to do exact numeric queries, such as find all
 nodes where the 'foo' property has a value of 123.  Currently I am
 rephrasing these types of queries as find all nodes where the 'foo'
 property is between 123 and 123, which works, but I was wondering if
 there was a better way to do it?  I haven't found anything so far.

 Thanks!
 Chris
 ___
 Neo4j mailing list
 User@lists.neo4j.org
 https://lists.neo4j.org/mailman/listinfo/user




 --
 Mattias Persson, [matt...@neotechnology.com]
 Hacker, Neo Technology
 www.neotechnology.com
 ___
 Neo4j mailing list
 User@lists.neo4j.org
 https://lists.neo4j.org/mailman/listinfo/user

___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Difference between properties and nodes

2011-02-02 Thread Tim McNamara
Sorry for the terseness of the initial email. I had intended to expand it. I
was wondering whether properties are shorthand for creating edges on the
graph. Are properties linked via relationships, or do nodes carry all of
their data/properties with them?

For example, in YAML a node could with properties looks like this:

4
  type: person
  name: Neo

Could also be represented as a tree:

4  HAS_PROPERTY(name)  HAS_VALUE(Neo)

Thanks for responding.

On 2 February 2011 22:54, Mattias Persson matt...@neotechnology.com wrote:

 Hi Tim,

 In what aspect? performance, or semantics? Could you supply a little more
 context, please...

 2011/1/31 Tim McNamara paperl...@timmcnamara.co.nz

  Is there much difference between a creating property and creating a child
  node?
 
  Tim
 
  ___
  Neo4j mailing list
  User@lists.neo4j.org
  https://lists.neo4j.org/mailman/listinfo/user
 



 --
 Mattias Persson, [matt...@neotechnology.com]
 Hacker, Neo Technology
 www.neotechnology.com
 ___
 Neo4j mailing list
 User@lists.neo4j.org
 https://lists.neo4j.org/mailman/listinfo/user

___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Difference between properties and nodes

2011-02-02 Thread Rick Bullotta
Nodes are linked by relationships, and properties are attached to a node
or relationship.  Relationships have a type associated with them also
(worksFor, livesIn, etc.), whereas nodes are essentially typeless.
Properties are general data/attributes attached to a node or relationship.


-Original Message-
From: user-boun...@lists.neo4j.org [mailto:user-boun...@lists.neo4j.org] On
Behalf Of Tim McNamara
Sent: Wednesday, February 02, 2011 1:25 PM
To: Neo4j user discussions
Subject: Re: [Neo4j] Difference between properties and nodes

Sorry for the terseness of the initial email. I had intended to expand it. I
was wondering whether properties are shorthand for creating edges on the
graph. Are properties linked via relationships, or do nodes carry all of
their data/properties with them?

For example, in YAML a node could with properties looks like this:

4
  type: person
  name: Neo

Could also be represented as a tree:

4  HAS_PROPERTY(name)  HAS_VALUE(Neo)

Thanks for responding.

On 2 February 2011 22:54, Mattias Persson matt...@neotechnology.com wrote:

 Hi Tim,

 In what aspect? performance, or semantics? Could you supply a little more
 context, please...

 2011/1/31 Tim McNamara paperl...@timmcnamara.co.nz

  Is there much difference between a creating property and creating a
child
  node?
 
  Tim
 
  ___
  Neo4j mailing list
  User@lists.neo4j.org
  https://lists.neo4j.org/mailman/listinfo/user
 



 --
 Mattias Persson, [matt...@neotechnology.com]
 Hacker, Neo Technology
 www.neotechnology.com
 ___
 Neo4j mailing list
 User@lists.neo4j.org
 https://lists.neo4j.org/mailman/listinfo/user

___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Exact numeric indexing?

2011-02-02 Thread Mattias Persson
2011/2/2 Chris Maier christopher.ma...@gmail.com

 Thanks, Mattias.  I don't think that I will have any numeric data that
 I'm never going to want to do range queries on, so I'll continue using
 the ValueContext approach.

 Out of curiosity, though, if I *did* have a numeric field that I only
 ever wanted to do exact matches on, would there be a significant
 performance penalty (or any other disadvantage) if it was stored as a
 ValueContext as opposed to the bare number?  In other words, should I
 just go ahead and index everything numerically, or should I really pay
 attention to the potential queries I'll want to issue for number
 fields?  If there are no big disadvantages, could Neo4j be patched to
 automatically wrap instances of Number using ValueContext when adding
 things to an index?


I've not performed tests on performance, but I doubt that it will be any
significant difference.

About Numbers being indexed/queried that way automatically... that may be a
good idea.


 Also, is there a way this information could be added to the wiki?


Absolutely


 Thanks again,
 Chris

 On Wed, Feb 2, 2011 at 4:20 AM, Mattias Persson
 matt...@neotechnology.com wrote:
  If you only use exact lookups (no ranges) then you don't need to index
 your
  values numerically (via ValueContext.numeric(123)). Just use:
 
index.add( myNode, key, 123 );
...
index.get( key, 123 );
 
  but if you're querying for both ranges and sometimes exact lookups, then
  your suggestion is the way to go. Indexing numbers numerically converts
  values into special values in lucene natively to allow for correct range
  queries. That's why there's a difference here.
 
  2011/2/2 Chris Maier christopher.ma...@gmail.com
 
  I know that Neo4j can perform numeric range queries on its indexes,
  but I would also like to do exact numeric queries, such as find all
  nodes where the 'foo' property has a value of 123.  Currently I am
  rephrasing these types of queries as find all nodes where the 'foo'
  property is between 123 and 123, which works, but I was wondering if
  there was a better way to do it?  I haven't found anything so far.
 
  Thanks!
  Chris
  ___
  Neo4j mailing list
  User@lists.neo4j.org
  https://lists.neo4j.org/mailman/listinfo/user
 
 
 
 
  --
  Mattias Persson, [matt...@neotechnology.com]
  Hacker, Neo Technology
  www.neotechnology.com
  ___
  Neo4j mailing list
  User@lists.neo4j.org
  https://lists.neo4j.org/mailman/listinfo/user
 
 ___
 Neo4j mailing list
 User@lists.neo4j.org
 https://lists.neo4j.org/mailman/listinfo/user




-- 
Mattias Persson, [matt...@neotechnology.com]
Hacker, Neo Technology
www.neotechnology.com
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] neo4j 1.1 Download? -- for Use with Current Python Bindings

2011-02-02 Thread James Thornton
Thank you. Is the the neo4j 1.1 server download still available?

On Mon, Jan 31, 2011 at 8:59 PM, James Thornton ja...@jamesthornton.com wrote:
 Since the current python bindings only work with neo4j 1.1 (as per
 this bug report https://trac.neo4j.org/ticket/302 and
 http://wiki.neo4j.org/content/Getting_Started_With_Python), where can
 you download neo4j 1.1 in the meantime until the python bindings are
 updated?

___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


[Neo4j] Non-exact index queries with the REST API

2011-02-02 Thread Maximilian Schulz
I haven't found anything on the topic of non-exact queries using the REST
API. I think I read a discussion from last december mentioning some plans
for extending the REST index API, but I found no details about those plans.
It would be great if someone could give me a hint where to look, or if there
really are plans to extend the API.

What I am looking for right now is a way to search my nodes by names. And I
would like to look up names using wildcards / incomplete names. Is there a
way to accomplish this?

I saw a post referring to a Solr component. As far as I know, Solr provides
a full REST API for searching its index. But I never used Solr, nor neo4j
before. So I would be really grateful if someone could help me.

Max
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Non-exact index queries with the REST API

2011-02-02 Thread Jim Webber
Hi Max,

I don't think there is a way to search for non-exact queries in the REST API 
today. I'll add it to the feature backlog for future releases.

Jim
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


[Neo4j] Synchronisation between server and clients in Neo4j

2011-02-02 Thread Brendan Cheng
Hi,

I'm thinking of setting a system where each client store part of the
server data for offline assess or reducing the workload of server.
I'm not sure if there is a recommended way pf doing it.  How should I
do the synchronization for only part of data in most efficient way?

 Should I using the database log files to syn?

Regards,

Brendan
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Non-exact index queries with the REST API

2011-02-02 Thread Mattias Persson
The index framework in neo4j (lucene integration) supports wildcards and all
that, but it isn't exposed in the REST API as of yet, as Jim mentioned.

2011/2/3 Jim Webber j...@neotechnology.com

 Hi Max,

 I don't think there is a way to search for non-exact queries in the REST
 API today. I'll add it to the feature backlog for future releases.

 Jim
 ___
 Neo4j mailing list
 User@lists.neo4j.org
 https://lists.neo4j.org/mailman/listinfo/user




-- 
Mattias Persson, [matt...@neotechnology.com]
Hacker, Neo Technology
www.neotechnology.com
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user