Re: [Neo4j] Size on disk, and number of properties

2011-09-08 Thread Chris Gioran
Hi Assem

The logical log file is where all changes to be performed to the store
are written out before they are actually applied - also referred to as
the Write Ahead Log. The file that hosts this is bound to a specific
size above which a rotation happens: a new file is created to host the
WAL, all pending transactions are moved over, the store files are
flushed and the old file marked as unused.
Setting the configuration option keep_logical_logs to false
deletes the old log files instead of keeping them around when that
size limit is hit and a rotation is triggered.

Hope that clear things up.

cheers,
CG

On Wed, Sep 7, 2011 at 8:58 PM, Aseem Kishore aseem.kish...@gmail.com wrote:
 Thanks Johan!

 Configuring Neo4j with keep_logical_logs=false the logs will
 automatically be deleted upon rotation.


 What does upon rotation mean here?

 Aseem

 On Wed, Sep 7, 2011 at 5:56 AM, Johan Svensson jo...@neotechnology.comwrote:

 Removing the log files ending with .vversion number at runtime is
 perfectly safe to do but will turn off the ability to do incremental
 backups. You can however still perform live full backups.

 Configuring Neo4j with keep_logical_logs=false the logs will
 automatically be deleted upon rotation.

 -Johan

 On Sat, Sep 3, 2011 at 1:49 AM, Aseem Kishore aseem.kish...@gmail.com
 wrote:
  Thanks for the insights Johan!
 
  Regarding the existing disk space then, by far the bulk of it is from the
  logs. Is there a way to prune or garbage collect them? Is simply deleting
  the files safe? Should the db be off if I do that? Etc.
 
  Thanks much!
 
  Aseem
 
  On Tue, Aug 30, 2011 at 2:47 AM, Johan Svensson jo...@neotechnology.com
 wrote:
 
  Hi Aseem,
 
  This is actually expected behavior when performing file copy of
  running db and starting up with default configuration. If you remove
  the files ending with .id in the db directory on the local snapshot
  and start up setting rebuild_idgenerators_fast=false you should see
  the accurate amount of nodes, relationships and properties.
 
  Regarding the amount of properties not matching this could be due to a
  non clean shutdown on the production system. We are planing on
  improving this in the near future by allowing for more aggressive
  reuse of ids for properties. This will specifically improve things for
  workloads that perform a lot of property updates.
 
  -Johan
 
  On Tue, Aug 30, 2011 at 10:05 AM, Aseem Kishore 
 aseem.kish...@gmail.com
  wrote:
   Hey guys,
  
   We do offline backups of our db on a semi-regular basis (every few
 days),
   where we (1) stop the running db, (2) copy its data directory and (3)
   restart the db.
  
   A few times early on, we did running backups -- but not the proper
  online
   way -- where we simply copied the data directory while the db was
 still
   running. (We did this during times where we were confident no requests
  were
   hitting the db.)
  
   We noticed that every time we did the running backup, the number of
   properties the web admin reported -- and the space on disk of the db
 --
   would jump up quite a bit. We stopped doing that recently.
  
   But even now, both these numbers have gotten quite a bit higher than
 we
   expect to, and strangely, they seem to differ highly between the
 running
  db
   and the copies.
  
   What could be causing all of this?
  
   Here are our current numbers:
  
   *Production*
   - 2,338 nodes
   - 4,473 rels
   - 114,231 props (higher than we would expect it to be, but not by an
  order
   of magnitude)
   - *1.39 GB!* -- this is way unexpected, particularly since our db
 used
  to
   be in the ~10 KB ballpark, and we certainly haven't experienced hockey
  stick
   growth yet ;) The logical log only takes up 57 KB (0%) btw.
  
  
   *Local snapshot*
   - 2,338 nodes
   - 4,473 rels
   - *2,607,892 props!!!* -- ???
   - *1.37 GB!* -- equally surprisingly high, but also interesting that
  it's
   less than the production db's size. 0 KB logical logs.
  
  
   I looked around the wiki and searched this mailing list but didn't
 find
  much
   clues here. But as requested on another thread, here's the output of
 `ls
  -lh
   data/graph.db/`:
  
   total 1474520
   -rw-r--r--   1 aseemk  staff    11B Aug 30 00:46 active_tx_log
   drwxr-xr-x  52 aseemk  staff   1.7K Aug 30 00:46 index/
   -rw-r--r--   1 aseemk  staff   343B Aug 30 00:46 index.db
   -rw-r--r--   1 aseemk  staff   854K Aug 30 00:46 messages.log
   -rw-r--r--   1 aseemk  staff    36B Aug 30 00:46 neostore
   -rw-r--r--   1 aseemk  staff     9B Aug 30 00:46 neostore.id
   -rw-r--r--   1 aseemk  staff    26K Aug 30 00:46 neostore.nodestore.db
   -rw-r--r--   1 aseemk  staff     9B Aug 30 00:46
  neostore.nodestore.db.id
   -rw-r--r--   1 aseemk  staff    62M Aug 30 00:46
  neostore.propertystore.db
   -rw-r--r--   1 aseemk  staff   133B Aug 30 00:46
   neostore.propertystore.db.arrays
   -rw-r--r--   1 aseemk  staff     9B Aug 30 00:46
   neostore.propertystore.db.arrays.id
   

Re: [Neo4j] how Neo4j work for sorting chinese character?

2011-09-08 Thread Peter Neubauer
Thanks Yuanlong,
we will look at it as soon as we got some time!

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://startupbootcamp.org/    - Öresund - Innovation happens HERE.
http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.



On Thu, Sep 8, 2011 at 2:38 AM, iamyuanlong yuanlong1...@gmail.com wrote:
 I added here : https://github.com/neo4j/community/issues/14


 --
 View this message in context: 
 http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-how-Neo4j-work-for-sorting-chinese-character-tp3309754p3318317.html
 Sent from the Neo4j Community Discussions 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


Re: [Neo4j] possible to query spatial indexes from gremlin?

2011-09-08 Thread Peter Neubauer
Boris,
you are seeing the expected results through REST but not through the
Webadmin with this query? That sounds like a bug then.

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://startupbootcamp.org/    - Öresund - Innovation happens HERE.
http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.



On Wed, Sep 7, 2011 at 5:26 PM, Boris Kizelshteyn bo...@popcha.com wrote:
 Hi Peter,

 still no joy, I run the following query:

 g.idx('UsersWorld').get('bbox','[-71.070231297681, 42.351920260159,
 -71.091167203206, 42.375030765981]').count()

 but get no results, when I run the same query through the rest plugin I get
 the expected results. I see the index is registered as spatial in the index
 view. I'm, not sure what else to try.

 Any help would be appreciated!


 On Wed, Sep 7, 2011 at 8:21 AM, Peter Neubauer 
 peter.neuba...@neotechnology.com wrote:

 Boris,
 here is finally a working example of a Gremlin index search in Neo4j
 Spatial, see

 https://github.com/neo4j/spatial/blob/master/src/test/java/org/neo4j/gis/spatial/IndexProviderTest.java#L132

 Let us know if this helps!

 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://startupbootcamp.org/    - Öresund - Innovation happens HERE.
 http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.


 On Mon, Aug 22, 2011 at 3:27 PM, Peter Neubauer 
 peter.neuba...@neotechnology.com wrote:

  Boris,
  the name of the index is the name of the corresponding Layer you want
  to work with, so you should do something like
 
   http POST /db/data/index/node/
 
 
 {name:a72952a1-0969-4fae-87ce-ff404a7b8a3e_world,config:{provider:spatial}}
 
  in order to get one of your existing layers. otherwise, a new layer
  will be created for you, which is not what you want right? I don't
  know which layers have data in them ... let me know if that works.
 
  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://startupbootcamp.org/    - Öresund - Innovation happens HERE.
  http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.
 
 
 
  On Thu, Aug 18, 2011 at 5:03 PM, Boris Kizelshteyn bo...@popcha.com
  wrote:
   Hi Peter,
  
   I'm finally trying this query out, but not getting any results. Do I
 need
  to
   rebuild neo4j-spatial? I sent the index command successfully:
  
  
     -
     http POST /db/data/index/node/ {name:UsersWorld,
   config:{provider:spatial}}
     - == 201 Created
     - == {
     - ==   template : 
  
 
 http://reach.media.mit.edu:7474/db/data/index/node/UsersWorld/{key}/{value}
     ,
     - ==   provider : spatial
     - == }
  
  
   But when I query, I get nothing (same query from the plugin produces
   results):
  
  
 
 g.idx('UsersWorld').get('bbox','[-71.33467375967257,42.26157716735279,-70.83994567129366,42.45920025563372]')
  
   Thanks!
  
  
   On Mon, Aug 8, 2011 at 6:49 PM, Peter Neubauer 
   peter.neuba...@neotechnology.com wrote:
  
   You are to surf and have fun.
  
   pushed g.idx('test').get('bbox','[15.0, 16.0, 56.0, 61.0]')
  
   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://startupbootcamp.org/    - Öresund - Innovation happens HERE.
   http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing
 party.
  
  
  
   On Tue, Aug 9, 2011 at 12:36 AM, Marko Rodriguez 
 okramma...@gmail.com
   wrote:
Hey,
   
:).
   
You can do:
   
       g.idx('test')[['bbox','[15.0, 16.0, 56.0, 61.0]']]
   
See ya,
Marko.
   
http://markorodriguez.com
   
On Aug 8, 2011, at 4:27 PM, Peter Neubauer wrote:
   
Boris,
I extended the functional tests to do what you are asking for,
   
  
 
 https://github.com/neo4j/neo4j-spatial/blob/master/features/start-and-stop.feature
   
Basically:
   
Create a Spatial Layer
Add nodes
Load the index with provider=spatial configuration
Query it using Cypher
Query it using Gremlin
Query it using the REST index interface
   
Thus, you can now query the (trivial) point layer index using any
 of
your favorite 

Re: [Neo4j] Aggregate queries

2011-09-08 Thread Marko Rodriguez
Hi,

Thanks James. Here is how I would do it -- groupCount is not needed.

g.idx(index_name)[[key:value]].both.loop(1){it.loops  depth}.count()

Note: Be wary of this query. Make sure the branch factor of your graph is 
sufficiently small or the depth to which you are exploring is sufficiently 
small. With a large branch and depth, you can easily touch everything in your 
graph if your graph has natural statistics. ( 
http://en.wikipedia.org/wiki/Scale-free_network )

Also, if you want to get fancy, what I like to do, is unroll my loops to 
increase performance. Given that the while construct of your loop step is 
simply  depth, you can append an appropriate number of .both steps.

traversal = g.idx(index_name)[[key:value]];
for(i in 0..depth) { 
traversal = traversal.both; 
}
traversal.count();

Finally, 'both' is for undirected traversals. Use 'out' for outgoing traversals 
(follow the direction of the arrows) and 'in' for incoming traversals.
https://github.com/tinkerpop/gremlin/wiki/Gremlin-Steps

HTH,
Marko.

http://markorodriguez.com

 
 Xavier Shay wrote:
 
 For all nodes in a particular index, how many other nodes are they
 connected to at depth X?
 
 
 Marko will be able to improve upon this, but try something like this (this
 is untested)...
 
 m = [:]
 depth = 10
 index_name = vertices
 index_key = name
 index_nodes = g.idx(index_name).get(index_key,Neo4jTokens.QUERY_HEADER +
 *).
 index_nodes._().both.groupCount(m).loop(2){it.loops  depth}
 m.size()
 
 - James
 
 
 --
 View this message in context: 
 http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Aggregate-queries-tp3317720p3317876.html
 Sent from the Neo4j Community Discussions 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


Re: [Neo4j] Querying a full text index

2011-09-08 Thread Romiko Derbynew
Remember that the default match is 0.5 e.g director~0.5 hence why it matches up 
to two letter differences e.g ditectof, directors etc

Sent from my iPhone

On 08/09/2011, at 5:10 AM, Yaniv Ben Yosef yani...@gmail.com wrote:

 Hi Axel,
 
 I've read the syntax, which is why I was surprised. There are wildcard
 options in the syntax, e.g.: test* and test? and even te*st.
 So I would expect that [director*] should return director and directory.
 [director], if I understand the syntax correctly, should return just
 director.
 But actually, it also returns director and directory in my code.
 This means that [director] is equivalent to [director*], which I find a bit
 strange.
 
 In your example - the query [director] also returns both director and
 directory.
 The only thing that works is [+director].
 
 Thing is, I don't want to force my users to remember advanced syntax and
 append a + to each word. And I also don't want to start parsing queries.
 I imagine that the syntax in the Lucene documentation should work (i.e.,
 [director] *should not* be equivalent to [director*]. It's either a bug
 somewhere, or I'm not configuring/using something correctly.
 Anyone has an idea?
 
 Thanks again,
 
 --- Yaniv
 
 
 
 On Wed, Sep 7, 2011 at 8:31 PM, Axel Morgner a...@morgner.de wrote:
 
 Hi Yaniv,
 
 didn't try your case, just read the code. If I remember correctly, it may
 help to expand your search term director john into a Lucene query, e.g.
 something like \director\ OR \john\.
 
 The complete Lucene query syntax see [1].
 
 Greetings
 
 Axel
 
 [1] http://lucene.apache.org/java/3_1_0/queryparsersyntax.html
 
 Am 07.09.2011 um 12:16 schrieb Yaniv Ben Yosef:
 
 Hi,
 
 This question may be Lucene related, but since I'm using it via Neo4J I'm
 asking here first. I'm using Neo4J 1.4 M06.
 I have a graph representing people, with a few properties about each
 person
 (e.g., their name and job title).
 Now I'd like to create a search form that will allow the user to enter
 either the person's first name, last name, title, or any combination. For
 example, the query [john director] should result with all the people
 whose
 name or title contain both john and director.
 To play with that, I created this little psvm:
 
 public class FullTextIndexTest
 {
   public static void main(String[] args)
   {
   GraphDatabaseService graphDb =
 GraphDatabaseServiceFactory.createGraphDatabase(target/var/db);
 
   Transaction t = graphDb.beginTx();
   Node n1 = graphDb.createNode();
   n1.setProperty(name, John Smith);
   n1.setProperty(title, Directory Manager);
 
   Node n2 = graphDb.createNode();
   n2.setProperty(name, Johnny Malkovich);
   n2.setProperty(title, Director of RD);
 
   Node n3 = graphDb.createNode();
   n3.setProperty(name, John Horovich);
   n3.setProperty(title, Sr. Director);
 
   IndexManager index = graphDb.index();
   IndexNode fulltextPerson = index.forNodes(person-fulltext,
   MapUtil.stringMap(IndexManager.PROVIDER, lucene, type,
 fulltext));
   fulltextPerson.add(n1, combined, n1.getProperty(name) +   +
 n1.getProperty(title));
   fulltextPerson.add(n2, combined, n2.getProperty(name) +   +
 n2.getProperty(title));
   fulltextPerson.add(n3, combined, n3.getProperty(name) +   +
 n3.getProperty(title));
   t.success();
   t.finish();
 
   // search in the fulltext index
   IndexHitsNode hits = fulltextPerson.query(combined, director
 john);
   System.out.printf(Found %d results:\n, hits.size());
   for (Node node : hits)
   {
   System.out.println(node.getProperty(name) + ,  +
 node.getProperty(title));
   }
   }
 }
 
 
 I expected this program to return 1 result: John Horovich, Sr. Director
 Instead, I'm getting 3:
 
 John Horovich, Sr. Director
 John Smith, Directory Manager
 Johnny Malkovich, Director of RD
 
 It seems that Lucene will accept terms that contain a query term (e.g,
 Directory and Johnny) even if I'm not using any wildcards in my query.
 How
 do I turn this behavior off? I'd like the results to contain only people
 whose name or title *contain* the word john, but not johnny.
 
 Thanks!
 --- Yaniv
 ___
 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


Re: [Neo4j] Issues with IndexedRelationship

2011-09-08 Thread Niels Hoogeveen

Excellent... I did a code review and think this is a huge improvement over what 
we had.
Peter, can you pull these changes, I no longer have the privs to do so.
Niels

 Date: Thu, 8 Sep 2011 17:24:44 +1200
 From: bryc...@gmail.com
 To: user@lists.neo4j.org
 Subject: Re: [Neo4j] Issues with IndexedRelationship
 
 I have made the changes in regards to SortedTree in regards to relationships
 vs nodes, and have got all the tests passing.  The changes are pushed up to
 my github account (and pull request has been raised).
 
 The changes can be seen here:
 https://github.com/brycenz/graph-collections
 
 On Thu, Sep 8, 2011 at 3:41 PM, Bryce bryc...@gmail.com wrote:
 
  Another thought if there is going to be a larger refactor of the code is
  whether the indexing mechanism should be broken out as a strategy for the
  IndexedRelationship.  At present it is tied to SortedTree, but if an
  interface was extracted out that had addNode, removeNode, iterator, and
  isUniqueIndex then other indexing implementations could be used in certain
  cases.
 
  The particular other implementation I am currently thinking of that could
  be of use to me would be a paged linked list.  So that would have a linked
  list of pages, each with min  x  max KEY_VALUE (or equivalent)
  relationships.  I think that could work quite well for the situation where
  the index is descending date ordered, and generally just appended at the
  most recent end, and results are retrieved in a paged manner generally from
  near the most recent.
 
  But more to the point there could be any number of implementations that
  would be good for given different situations.
 
  That does bring up a question though, there was some discussion a while ago
  about some functionality along the lines of IndexedRelationship being pulled
  into the core, so is that overkill for now if there is going to be another
  core offering later?
 
 
  On Thu, Sep 8, 2011 at 2:38 PM, Niels Hoogeveen pd_aficion...@hotmail.com
   wrote:
 
 
  I think we don't have to worry about backwards compatibility much yet.
  There has not been a formal release of the component, so if there are 
  people
  using the software, they will accept that they are bleeding edgers.
  Indeed addNode should return the KEY_VALUE relationship and I think we
  should change the signature of SortedTree to turn it into
  IterableRelationship. No need to maintain a Node iterator, the node is
  always one getEndNode away.
  Niels
 
   Date: Thu, 8 Sep 2011 14:17:59 +1200
   From: bryc...@gmail.com
   To: user@lists.neo4j.org
   Subject: Re: [Neo4j] Issues with IndexedRelationship
  
   Will have to experiment with changing my id's to be stored as longs, it
  does
   make perfect sense really that it would be better.  Thanks for the hint.
  
   In regards to SortedTree returning the KEY_VALUE relationship instead of
  the
   end Node, I had thought of that too, and it would definitely help.
   Could
   end up being a significant change to SortedTree though, e.g.:
 sortedTree.addNode( node );
   Would need to return the KEY_VALUE relationship instead of a boolean.
   Which
   not knowing where else SortedTree is used could be a large change?
  
   Maybe SortedTree would have two iterator's available a key_value
   relationship iterator, and a node iterator.  Having a quick look at it
  now
   it seems that it could work ok that way without introducing much code
   duplication.
  
   On Thu, Sep 8, 2011 at 12:46 PM, Niels Hoogeveen
   pd_aficion...@hotmail.comwrote:
  
   
Two longs is certainly cheaper than a string. Two longs take 128 bit
  and
are stored in the main record of the PropertyContainer, while a String
  would
require a 64 bit pointer in the main record of the
  PropertyContainer, and
an additional read in the String store where the string representation
  will
take up 256 bits. So both memory-wise, as perfomance wise, it is
  better to
store a UUID as two long values.
   
   
The main issue is something that needs a deeper fix than adding ID's.
SortedTree now returns Nodes when traversing the tree. We should
  however
return the KEY_VALUE Relationship to the indexed Node. Then
IndexedRelationship.DirectRelationship can be created with that
  relationship
as an argument. We get the Direction and the RelationshipType for
  free.
Niels
   
 Date: Thu, 8 Sep 2011 11:36:11 +1200
 From: bryc...@gmail.com
 To: user@lists.neo4j.org
 Subject: Re: [Neo4j] Issues with IndexedRelationship

 Hi Niels,

 Sorry I didn't quite write the bit about (1) clearly enough.  The
  problem
is
 that it presently throws an Exception where it shouldn't.

 This stems from IndexedRelationship.DirectRelationship:
 this.endRelationship = endNode.getSingleRelationship(
 SortedTree.RelTypes.KEY_VALUE, Direction.INCOMING );

 So if the end node has more than one incoming KEY_VALUE relationship
  a
more
 

Re: [Neo4j] Issues with IndexedRelationship

2011-09-08 Thread Niels Hoogeveen

I like this idea

 Date: Thu, 8 Sep 2011 15:41:52 +1200
 From: bryc...@gmail.com
 To: user@lists.neo4j.org
 Subject: Re: [Neo4j] Issues with IndexedRelationship
 
 Another thought if there is going to be a larger refactor of the code is
 whether the indexing mechanism should be broken out as a strategy for the
 IndexedRelationship.  At present it is tied to SortedTree, but if an
 interface was extracted out that had addNode, removeNode, iterator, and
 isUniqueIndex then other indexing implementations could be used in certain
 cases.
 
 The particular other implementation I am currently thinking of that could be
 of use to me would be a paged linked list.  So that would have a linked list
 of pages, each with min  x  max KEY_VALUE (or equivalent) relationships.
  I think that could work quite well for the situation where the index is
 descending date ordered, and generally just appended at the most recent end,
 and results are retrieved in a paged manner generally from near the most
 recent.
 
 But more to the point there could be any number of implementations that
 would be good for given different situations.
 
 That does bring up a question though, there was some discussion a while ago
 about some functionality along the lines of IndexedRelationship being pulled
 into the core, so is that overkill for now if there is going to be another
 core offering later?
 
 On Thu, Sep 8, 2011 at 2:38 PM, Niels Hoogeveen
 pd_aficion...@hotmail.comwrote:
 
 
  I think we don't have to worry about backwards compatibility much yet.
  There has not been a formal release of the component, so if there are people
  using the software, they will accept that they are bleeding edgers.
  Indeed addNode should return the KEY_VALUE relationship and I think we
  should change the signature of SortedTree to turn it into
  IterableRelationship. No need to maintain a Node iterator, the node is
  always one getEndNode away.
  Niels
 
   Date: Thu, 8 Sep 2011 14:17:59 +1200
   From: bryc...@gmail.com
   To: user@lists.neo4j.org
   Subject: Re: [Neo4j] Issues with IndexedRelationship
  
   Will have to experiment with changing my id's to be stored as longs, it
  does
   make perfect sense really that it would be better.  Thanks for the hint.
  
   In regards to SortedTree returning the KEY_VALUE relationship instead of
  the
   end Node, I had thought of that too, and it would definitely help.  Could
   end up being a significant change to SortedTree though, e.g.:
 sortedTree.addNode( node );
   Would need to return the KEY_VALUE relationship instead of a boolean.
   Which
   not knowing where else SortedTree is used could be a large change?
  
   Maybe SortedTree would have two iterator's available a key_value
   relationship iterator, and a node iterator.  Having a quick look at it
  now
   it seems that it could work ok that way without introducing much code
   duplication.
  
   On Thu, Sep 8, 2011 at 12:46 PM, Niels Hoogeveen
   pd_aficion...@hotmail.comwrote:
  
   
Two longs is certainly cheaper than a string. Two longs take 128 bit
  and
are stored in the main record of the PropertyContainer, while a String
  would
require a 64 bit pointer in the main record of the PropertyContainer,
  and
an additional read in the String store where the string representation
  will
take up 256 bits. So both memory-wise, as perfomance wise, it is better
  to
store a UUID as two long values.
   
   
The main issue is something that needs a deeper fix than adding ID's.
SortedTree now returns Nodes when traversing the tree. We should
  however
return the KEY_VALUE Relationship to the indexed Node. Then
IndexedRelationship.DirectRelationship can be created with that
  relationship
as an argument. We get the Direction and the RelationshipType for free.
Niels
   
 Date: Thu, 8 Sep 2011 11:36:11 +1200
 From: bryc...@gmail.com
 To: user@lists.neo4j.org
 Subject: Re: [Neo4j] Issues with IndexedRelationship

 Hi Niels,

 Sorry I didn't quite write the bit about (1) clearly enough.  The
  problem
is
 that it presently throws an Exception where it shouldn't.

 This stems from IndexedRelationship.DirectRelationship:
 this.endRelationship = endNode.getSingleRelationship(
 SortedTree.RelTypes.KEY_VALUE, Direction.INCOMING );

 So if the end node has more than one incoming KEY_VALUE relationship
  a
more
 than one relationship exception is thrown.

 Instead of the getSingleRelationship I was planning on iterating over
  the
 relationships and matching the UUID stored at the root end of the IR
  with
 one of the KEY_VALUE relationships (which is why using a unique id is
 necessary rather than the relationship type).  Note: there will
  actually
 still be an issue if the same IR has multiple relationships to the
  same
leaf
 node - still thinking about that might need .

 Is storing the UUID as two 

[Neo4j] Blocking access to the Neo4j web admin interface

2011-09-08 Thread carze
I'm making use of the Neo4j REST API to power a website and was wondering if
there was any way to block access to the web admin interface. Currently the
DB is in read-only mode but the web admin panel is accessibly by anyone who
can stumble upon the URL.

--
View this message in context: 
http://neo4j-community-discussions.438527.n3.nabble.com/Blocking-access-to-the-Neo4j-web-admin-interface-tp3319626p3319626.html
Sent from the Neo4j Community Discussions mailing list archive at Nabble.com.
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Blocking access to the Neo4j web admin interface

2011-09-08 Thread Peter Neubauer
Hi there,
you can block access to it by blocking the access to the URL
(localhost:.../webadmin) and even /db/manage. That requires probably
to set up apache and mod_proxy in front of the Neo4j server, but I
think that is a good idea in production scenarios anyway.

http://docs.neo4j.org/chunked/snapshot/operations-security.html

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://startupbootcamp.org/    - Öresund - Innovation happens HERE.
http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.



On Thu, Sep 8, 2011 at 3:08 PM, carze ca...@som.umaryland.edu wrote:
 I'm making use of the Neo4j REST API to power a website and was wondering if
 there was any way to block access to the web admin interface. Currently the
 DB is in read-only mode but the web admin panel is accessibly by anyone who
 can stumble upon the URL.

 --
 View this message in context: 
 http://neo4j-community-discussions.438527.n3.nabble.com/Blocking-access-to-the-Neo4j-web-admin-interface-tp3319626p3319626.html
 Sent from the Neo4j Community Discussions 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


Re: [Neo4j] possible to query spatial indexes from gremlin?

2011-09-08 Thread Boris Kizelshteyn
correct, but through the spatial plugin via rest not gremlin.




 On Thu, Sep 8, 2011 at 4:23 AM, Peter Neubauer 
 peter.neuba...@neotechnology.com wrote:

 Boris,
 you are seeing the expected results through REST but not through the
 Webadmin with this query? That sounds like a bug then.

 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://startupbootcamp.org/- Öresund - Innovation happens HERE.
 http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.



 On Wed, Sep 7, 2011 at 5:26 PM, Boris Kizelshteyn bo...@popcha.com
 wrote:
  Hi Peter,
 
  still no joy, I run the following query:
 
  g.idx('UsersWorld').get('bbox','[-71.070231297681, 42.351920260159,
  -71.091167203206, 42.375030765981]').count()
 
  but get no results, when I run the same query through the rest plugin I
 get
  the expected results. I see the index is registered as spatial in the
 index
  view. I'm, not sure what else to try.
 
  Any help would be appreciated!
 
 
  On Wed, Sep 7, 2011 at 8:21 AM, Peter Neubauer 
  peter.neuba...@neotechnology.com wrote:
 
  Boris,
  here is finally a working example of a Gremlin index search in Neo4j
  Spatial, see
 
 
 https://github.com/neo4j/spatial/blob/master/src/test/java/org/neo4j/gis/spatial/IndexProviderTest.java#L132
 
  Let us know if this helps!
 
  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://startupbootcamp.org/- Öresund - Innovation happens HERE.
  http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing
 party.
 
 
  On Mon, Aug 22, 2011 at 3:27 PM, Peter Neubauer 
  peter.neuba...@neotechnology.com wrote:
 
   Boris,
   the name of the index is the name of the corresponding Layer you want
   to work with, so you should do something like
  
http POST /db/data/index/node/
  
  
 
 {name:a72952a1-0969-4fae-87ce-ff404a7b8a3e_world,config:{provider:spatial}}
  
   in order to get one of your existing layers. otherwise, a new layer
   will be created for you, which is not what you want right? I don't
   know which layers have data in them ... let me know if that works.
  
   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://startupbootcamp.org/- Öresund - Innovation happens HERE.
   http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing
 party.
  
  
  
   On Thu, Aug 18, 2011 at 5:03 PM, Boris Kizelshteyn bo...@popcha.com
 
   wrote:
Hi Peter,
   
I'm finally trying this query out, but not getting any results. Do
 I
  need
   to
rebuild neo4j-spatial? I sent the index command successfully:
   
   
  -
  http POST /db/data/index/node/ {name:UsersWorld,
config:{provider:spatial}}
  - == 201 Created
  - == {
  - ==   template : 
   
  
 
 http://reach.media.mit.edu:7474/db/data/index/node/UsersWorld/{key}/{value}
  ,
  - ==   provider : spatial
  - == }
   
   
But when I query, I get nothing (same query from the plugin
 produces
results):
   
   
  
 
 g.idx('UsersWorld').get('bbox','[-71.33467375967257,42.26157716735279,-70.83994567129366,42.45920025563372]')
   
Thanks!
   
   
On Mon, Aug 8, 2011 at 6:49 PM, Peter Neubauer 
peter.neuba...@neotechnology.com wrote:
   
You are to surf and have fun.
   
pushed g.idx('test').get('bbox','[15.0, 16.0, 56.0, 61.0]')
   
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://startupbootcamp.org/- Öresund - Innovation happens
 HERE.
http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing
  party.
   
   
   
On Tue, Aug 9, 2011 at 12:36 AM, Marko Rodriguez 
  okramma...@gmail.com
wrote:
 Hey,

 :).

 You can do:

g.idx('test')[['bbox','[15.0, 16.0, 56.0, 61.0]']]

 See ya,
 Marko.

 http://markorodriguez.com

 On Aug 8, 2011, at 4:27 PM, Peter Neubauer wrote:

 Boris,
 I extended the functional tests to do what you are asking for,

   
  
 
 

Re: [Neo4j] possible to query spatial indexes from gremlin?

2011-09-08 Thread Peter Neubauer
Boris,
could you please raise an issue in Neo4j Spatial so I can start
investigating this?
https://github.com/neo4j/spatial/issues?sort=createddirection=descstate=open
so we can track it down. Please provide REST calls that work and that
don't, will add it to the integration testing :)

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://startupbootcamp.org/    - Öresund - Innovation happens HERE.
http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.



On Thu, Sep 8, 2011 at 3:20 PM, Boris Kizelshteyn bo...@popcha.com wrote:
 correct, but through the spatial plugin via rest not gremlin.




 On Thu, Sep 8, 2011 at 4:23 AM, Peter Neubauer 
 peter.neuba...@neotechnology.com wrote:

 Boris,
 you are seeing the expected results through REST but not through the
 Webadmin with this query? That sounds like a bug then.

 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://startupbootcamp.org/    - Öresund - Innovation happens HERE.
 http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.



 On Wed, Sep 7, 2011 at 5:26 PM, Boris Kizelshteyn bo...@popcha.com
 wrote:
  Hi Peter,
 
  still no joy, I run the following query:
 
  g.idx('UsersWorld').get('bbox','[-71.070231297681, 42.351920260159,
  -71.091167203206, 42.375030765981]').count()
 
  but get no results, when I run the same query through the rest plugin I
 get
  the expected results. I see the index is registered as spatial in the
 index
  view. I'm, not sure what else to try.
 
  Any help would be appreciated!
 
 
  On Wed, Sep 7, 2011 at 8:21 AM, Peter Neubauer 
  peter.neuba...@neotechnology.com wrote:
 
  Boris,
  here is finally a working example of a Gremlin index search in Neo4j
  Spatial, see
 
 
 https://github.com/neo4j/spatial/blob/master/src/test/java/org/neo4j/gis/spatial/IndexProviderTest.java#L132
 
  Let us know if this helps!
 
  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://startupbootcamp.org/    - Öresund - Innovation happens HERE.
  http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing
 party.
 
 
  On Mon, Aug 22, 2011 at 3:27 PM, Peter Neubauer 
  peter.neuba...@neotechnology.com wrote:
 
   Boris,
   the name of the index is the name of the corresponding Layer you want
   to work with, so you should do something like
  
    http POST /db/data/index/node/
  
  
 
 {name:a72952a1-0969-4fae-87ce-ff404a7b8a3e_world,config:{provider:spatial}}
  
   in order to get one of your existing layers. otherwise, a new layer
   will be created for you, which is not what you want right? I don't
   know which layers have data in them ... let me know if that works.
  
   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://startupbootcamp.org/    - Öresund - Innovation happens HERE.
   http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing
 party.
  
  
  
   On Thu, Aug 18, 2011 at 5:03 PM, Boris Kizelshteyn bo...@popcha.com
 
   wrote:
Hi Peter,
   
I'm finally trying this query out, but not getting any results. Do
 I
  need
   to
rebuild neo4j-spatial? I sent the index command successfully:
   
   
  -
  http POST /db/data/index/node/ {name:UsersWorld,
config:{provider:spatial}}
  - == 201 Created
  - == {
  - ==   template : 
   
  
 
 http://reach.media.mit.edu:7474/db/data/index/node/UsersWorld/{key}/{value}
  ,
  - ==   provider : spatial
  - == }
   
   
But when I query, I get nothing (same query from the plugin
 produces
results):
   
   
  
 
 g.idx('UsersWorld').get('bbox','[-71.33467375967257,42.26157716735279,-70.83994567129366,42.45920025563372]')
   
Thanks!
   
   
On Mon, Aug 8, 2011 at 6:49 PM, Peter Neubauer 
peter.neuba...@neotechnology.com wrote:
   
You are to surf and have fun.
   
pushed g.idx('test').get('bbox','[15.0, 16.0, 56.0, 61.0]')
   
Cheers,
   
/peter neubauer
   
GTalk:      neubauer.peter
Skype       peter.neubauer
Phone       +46 704 106975
LinkedIn   http://www.linkedin.com/in/neubauer
  

Re: [Neo4j] Blocking access to the Neo4j web admin interface

2011-09-08 Thread Linan Wang
since neo4j just uses jetty, i think the simple solution would be add
option in neo4j shell script:
-Djetty.host=127.0.0.1 to make it only listen to local request. then
use ssh tunnel to expose service to designated machines.

On Thu, Sep 8, 2011 at 2:18 PM, Peter Neubauer
peter.neuba...@neotechnology.com wrote:
 Hi there,
 you can block access to it by blocking the access to the URL
 (localhost:.../webadmin) and even /db/manage. That requires probably
 to set up apache and mod_proxy in front of the Neo4j server, but I
 think that is a good idea in production scenarios anyway.

 http://docs.neo4j.org/chunked/snapshot/operations-security.html

 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://startupbootcamp.org/    - Öresund - Innovation happens HERE.
 http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.



 On Thu, Sep 8, 2011 at 3:08 PM, carze ca...@som.umaryland.edu wrote:
 I'm making use of the Neo4j REST API to power a website and was wondering if
 there was any way to block access to the web admin interface. Currently the
 DB is in read-only mode but the web admin panel is accessibly by anyone who
 can stumble upon the URL.

 --
 View this message in context: 
 http://neo4j-community-discussions.438527.n3.nabble.com/Blocking-access-to-the-Neo4j-web-admin-interface-tp3319626p3319626.html
 Sent from the Neo4j Community Discussions 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




-- 
Best regards

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


Re: [Neo4j] Issues with IndexedRelationship

2011-09-08 Thread Peter Neubauer
Niels, Bryce,
great! Gave you access to the repo, please merge :)

/peter

On Thu, Sep 8, 2011 at 2:32 PM, Niels Hoogeveen
pd_aficion...@hotmail.com wrote:

 Excellent... I did a code review and think this is a huge improvement over 
 what we had.
 Peter, can you pull these changes, I no longer have the privs to do so.
 Niels

 Date: Thu, 8 Sep 2011 17:24:44 +1200
 From: bryc...@gmail.com
 To: user@lists.neo4j.org
 Subject: Re: [Neo4j] Issues with IndexedRelationship

 I have made the changes in regards to SortedTree in regards to relationships
 vs nodes, and have got all the tests passing.  The changes are pushed up to
 my github account (and pull request has been raised).

 The changes can be seen here:
 https://github.com/brycenz/graph-collections

 On Thu, Sep 8, 2011 at 3:41 PM, Bryce bryc...@gmail.com wrote:

  Another thought if there is going to be a larger refactor of the code is
  whether the indexing mechanism should be broken out as a strategy for the
  IndexedRelationship.  At present it is tied to SortedTree, but if an
  interface was extracted out that had addNode, removeNode, iterator, and
  isUniqueIndex then other indexing implementations could be used in certain
  cases.
 
  The particular other implementation I am currently thinking of that could
  be of use to me would be a paged linked list.  So that would have a linked
  list of pages, each with min  x  max KEY_VALUE (or equivalent)
  relationships.  I think that could work quite well for the situation where
  the index is descending date ordered, and generally just appended at the
  most recent end, and results are retrieved in a paged manner generally from
  near the most recent.
 
  But more to the point there could be any number of implementations that
  would be good for given different situations.
 
  That does bring up a question though, there was some discussion a while ago
  about some functionality along the lines of IndexedRelationship being 
  pulled
  into the core, so is that overkill for now if there is going to be another
  core offering later?
 
 
  On Thu, Sep 8, 2011 at 2:38 PM, Niels Hoogeveen pd_aficion...@hotmail.com
   wrote:
 
 
  I think we don't have to worry about backwards compatibility much yet.
  There has not been a formal release of the component, so if there are 
  people
  using the software, they will accept that they are bleeding edgers.
  Indeed addNode should return the KEY_VALUE relationship and I think we
  should change the signature of SortedTree to turn it into
  IterableRelationship. No need to maintain a Node iterator, the node is
  always one getEndNode away.
  Niels
 
   Date: Thu, 8 Sep 2011 14:17:59 +1200
   From: bryc...@gmail.com
   To: user@lists.neo4j.org
   Subject: Re: [Neo4j] Issues with IndexedRelationship
  
   Will have to experiment with changing my id's to be stored as longs, it
  does
   make perfect sense really that it would be better.  Thanks for the hint.
  
   In regards to SortedTree returning the KEY_VALUE relationship instead of
  the
   end Node, I had thought of that too, and it would definitely help.
   Could
   end up being a significant change to SortedTree though, e.g.:
     sortedTree.addNode( node );
   Would need to return the KEY_VALUE relationship instead of a boolean.
   Which
   not knowing where else SortedTree is used could be a large change?
  
   Maybe SortedTree would have two iterator's available a key_value
   relationship iterator, and a node iterator.  Having a quick look at it
  now
   it seems that it could work ok that way without introducing much code
   duplication.
  
   On Thu, Sep 8, 2011 at 12:46 PM, Niels Hoogeveen
   pd_aficion...@hotmail.comwrote:
  
   
Two longs is certainly cheaper than a string. Two longs take 128 bit
  and
are stored in the main record of the PropertyContainer, while a String
  would
require a 64 bit pointer in the main record of the
  PropertyContainer, and
an additional read in the String store where the string representation
  will
take up 256 bits. So both memory-wise, as perfomance wise, it is
  better to
store a UUID as two long values.
   
   
The main issue is something that needs a deeper fix than adding ID's.
SortedTree now returns Nodes when traversing the tree. We should
  however
return the KEY_VALUE Relationship to the indexed Node. Then
IndexedRelationship.DirectRelationship can be created with that
  relationship
as an argument. We get the Direction and the RelationshipType for
  free.
Niels
   
 Date: Thu, 8 Sep 2011 11:36:11 +1200
 From: bryc...@gmail.com
 To: user@lists.neo4j.org
 Subject: Re: [Neo4j] Issues with IndexedRelationship

 Hi Niels,

 Sorry I didn't quite write the bit about (1) clearly enough.  The
  problem
is
 that it presently throws an Exception where it shouldn't.

 This stems from IndexedRelationship.DirectRelationship:
 this.endRelationship = endNode.getSingleRelationship(

Re: [Neo4j] Aggregate queries

2011-09-08 Thread espeed

Marko Rodriguez-2 wrote:
 

 For all nodes in a particular index, how many other nodes are they 
 connected to at depth X? 
 
 Here is how I would do it -- groupCount is not needed.
 
   g.idx(index_name)[[key:value]].both.loop(1){it.loops  depth}.count()
 
 

Thanks Marko. A couple questions...

Won't this count dupes more than once? 

Xavier's requirements of how many other nodes are they connected sounds
like you should only count uniques, and that's why I am checking the size of
groupCount map instead of using count(). Instead of a map you could use a
Set with aggregate(), but I wasn't sure if they'd have the aggregate-loop
fix yet. 

Also Xavier said, For all nodes in a particular index. I took that to mean
all nodes in an index, not all nodes for a particular value in an index,
hence the wildcard query:

index_nodes = g.idx(index_name).get(index_key,Neo4jTokens.QUERY_HEADER +
*)
 
However, I am not sure/can't remember if you can do a wildcard query without
at least one leading character.

- James





--
View this message in context: 
http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Aggregate-queries-tp3317720p3319768.html
Sent from the Neo4j Community Discussions mailing list archive at Nabble.com.
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Blocking access to the Neo4j web admin interface

2011-09-08 Thread Peter Neubauer
That sounds good. Could you try it and report back? Would love to add
it to the manual and as a setting.

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://startupbootcamp.org/    - Öresund - Innovation happens HERE.
http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.



On Thu, Sep 8, 2011 at 3:34 PM, Linan Wang tali.w...@gmail.com wrote:
 since neo4j just uses jetty, i think the simple solution would be add
 option in neo4j shell script:
 -Djetty.host=127.0.0.1 to make it only listen to local request. then
 use ssh tunnel to expose service to designated machines.

 On Thu, Sep 8, 2011 at 2:18 PM, Peter Neubauer
 peter.neuba...@neotechnology.com wrote:
 Hi there,
 you can block access to it by blocking the access to the URL
 (localhost:.../webadmin) and even /db/manage. That requires probably
 to set up apache and mod_proxy in front of the Neo4j server, but I
 think that is a good idea in production scenarios anyway.

 http://docs.neo4j.org/chunked/snapshot/operations-security.html

 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://startupbootcamp.org/    - Öresund - Innovation happens HERE.
 http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.



 On Thu, Sep 8, 2011 at 3:08 PM, carze ca...@som.umaryland.edu wrote:
 I'm making use of the Neo4j REST API to power a website and was wondering if
 there was any way to block access to the web admin interface. Currently the
 DB is in read-only mode but the web admin panel is accessibly by anyone who
 can stumble upon the URL.

 --
 View this message in context: 
 http://neo4j-community-discussions.438527.n3.nabble.com/Blocking-access-to-the-Neo4j-web-admin-interface-tp3319626p3319626.html
 Sent from the Neo4j Community Discussions 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




 --
 Best regards

 Linan Wang
 ___
 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] Aggregate queries

2011-09-08 Thread Marko Rodriguez
Hey,

 Won't this count dupes more than once? 
 
 Xavier's requirements of how many other nodes are they connected sounds
 like you should only count uniques, and that's why I am checking the size of
 groupCount map instead of using count(). Instead of a map you could use a
 Set with aggregate(), but I wasn't sure if they'd have the aggregate-loop
 fix yet. 

Then add a uniqueObject to the pipeline.

g.idx(index_name)[[key:value]].both.loop(1){it.loops  
depth}.uniqueObject.count()

 Also Xavier said, For all nodes in a particular index. I took that to mean
 all nodes in an index, not all nodes for a particular value in an index,
 hence the wildcard query:
 
 index_nodes = g.idx(index_name).get(index_key,Neo4jTokens.QUERY_HEADER +
 *)
 
 However, I am not sure/can't remember if you can do a wildcard query without
 at least one leading character.


Oh then yea, the %query% header can be used. 

Marko.

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


Re: [Neo4j] possible to query spatial indexes from gremlin?

2011-09-08 Thread Boris Kizelshteyn
posted

On Thu, Sep 8, 2011 at 9:29 AM, Peter Neubauer 
peter.neuba...@neotechnology.com wrote:

 Boris,
 could you please raise an issue in Neo4j Spatial so I can start
 investigating this?

 https://github.com/neo4j/spatial/issues?sort=createddirection=descstate=open
 so we can track it down. Please provide REST calls that work and that
 don't, will add it to the integration testing :)

 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://startupbootcamp.org/- Öresund - Innovation happens HERE.
 http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.



 On Thu, Sep 8, 2011 at 3:20 PM, Boris Kizelshteyn bo...@popcha.com
 wrote:
  correct, but through the spatial plugin via rest not gremlin.
 
 
 
 
  On Thu, Sep 8, 2011 at 4:23 AM, Peter Neubauer 
  peter.neuba...@neotechnology.com wrote:
 
  Boris,
  you are seeing the expected results through REST but not through the
  Webadmin with this query? That sounds like a bug then.
 
  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://startupbootcamp.org/- Öresund - Innovation happens HERE.
  http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing
 party.
 
 
 
  On Wed, Sep 7, 2011 at 5:26 PM, Boris Kizelshteyn bo...@popcha.com
  wrote:
   Hi Peter,
  
   still no joy, I run the following query:
  
   g.idx('UsersWorld').get('bbox','[-71.070231297681, 42.351920260159,
   -71.091167203206, 42.375030765981]').count()
  
   but get no results, when I run the same query through the rest plugin
 I
  get
   the expected results. I see the index is registered as spatial in the
  index
   view. I'm, not sure what else to try.
  
   Any help would be appreciated!
  
  
   On Wed, Sep 7, 2011 at 8:21 AM, Peter Neubauer 
   peter.neuba...@neotechnology.com wrote:
  
   Boris,
   here is finally a working example of a Gremlin index search in Neo4j
   Spatial, see
  
  
 
 https://github.com/neo4j/spatial/blob/master/src/test/java/org/neo4j/gis/spatial/IndexProviderTest.java#L132
  
   Let us know if this helps!
  
   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://startupbootcamp.org/- Öresund - Innovation happens HERE.
   http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing
  party.
  
  
   On Mon, Aug 22, 2011 at 3:27 PM, Peter Neubauer 
   peter.neuba...@neotechnology.com wrote:
  
Boris,
the name of the index is the name of the corresponding Layer you
 want
to work with, so you should do something like
   
 http POST /db/data/index/node/
   
   
  
 
 {name:a72952a1-0969-4fae-87ce-ff404a7b8a3e_world,config:{provider:spatial}}
   
in order to get one of your existing layers. otherwise, a new
 layer
will be created for you, which is not what you want right? I don't
know which layers have data in them ... let me know if that works.
   
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://startupbootcamp.org/- Öresund - Innovation happens
 HERE.
http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing
  party.
   
   
   
On Thu, Aug 18, 2011 at 5:03 PM, Boris Kizelshteyn 
 bo...@popcha.com
  
wrote:
 Hi Peter,

 I'm finally trying this query out, but not getting any results.
 Do
  I
   need
to
 rebuild neo4j-spatial? I sent the index command successfully:


   -
   http POST /db/data/index/node/ {name:UsersWorld,
 config:{provider:spatial}}
   - == 201 Created
   - == {
   - ==   template : 

   
  
 
 http://reach.media.mit.edu:7474/db/data/index/node/UsersWorld/{key}/{value}
   ,
   - ==   provider : spatial
   - == }


 But when I query, I get nothing (same query from the plugin
  produces
 results):


   
  
 
 g.idx('UsersWorld').get('bbox','[-71.33467375967257,42.26157716735279,-70.83994567129366,42.45920025563372]')

 Thanks!


 On Mon, Aug 8, 2011 at 6:49 PM, Peter Neubauer 
 peter.neuba...@neotechnology.com wrote:

 You 

Re: [Neo4j] Aggregate queries

2011-09-08 Thread Xavier Shay
Thanks everyone, this gives me plenty to work with. Will report back.

On Thu, Sep 8, 2011 at 7:03 AM, Marko Rodriguez okramma...@gmail.comwrote:

 Hey,

  Won't this count dupes more than once?
 
  Xavier's requirements of how many other nodes are they connected sounds
  like you should only count uniques, and that's why I am checking the size
 of
  groupCount map instead of using count(). Instead of a map you could use a
  Set with aggregate(), but I wasn't sure if they'd have the aggregate-loop
  fix yet.

 Then add a uniqueObject to the pipeline.

g.idx(index_name)[[key:value]].both.loop(1){it.loops 
 depth}.uniqueObject.count()

  Also Xavier said, For all nodes in a particular index. I took that to
 mean
  all nodes in an index, not all nodes for a particular value in an index,
  hence the wildcard query:
 
  index_nodes = g.idx(index_name).get(index_key,Neo4jTokens.QUERY_HEADER +
  *)
 
  However, I am not sure/can't remember if you can do a wildcard query
 without
  at least one leading character.


 Oh then yea, the %query% header can be used.

 Marko.

 http://markorodriguez.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] Blocking access to the Neo4j web admin interface

2011-09-08 Thread Linan Wang
tested the idea, it doesn't work. so i made simple changes to the
server code and diff is attached.
to change the binding ip of the webserver: add following line to
conf/neo4j-server.properties:
org.neo4j.server.webserver.address=127.0.0.1

On Thu, Sep 8, 2011 at 2:55 PM, Peter Neubauer
peter.neuba...@neotechnology.com wrote:
 That sounds good. Could you try it and report back? Would love to add
 it to the manual and as a setting.

 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://startupbootcamp.org/    - Öresund - Innovation happens HERE.
 http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.



 On Thu, Sep 8, 2011 at 3:34 PM, Linan Wang tali.w...@gmail.com wrote:
 since neo4j just uses jetty, i think the simple solution would be add
 option in neo4j shell script:
 -Djetty.host=127.0.0.1 to make it only listen to local request. then
 use ssh tunnel to expose service to designated machines.

 On Thu, Sep 8, 2011 at 2:18 PM, Peter Neubauer
 peter.neuba...@neotechnology.com wrote:
 Hi there,
 you can block access to it by blocking the access to the URL
 (localhost:.../webadmin) and even /db/manage. That requires probably
 to set up apache and mod_proxy in front of the Neo4j server, but I
 think that is a good idea in production scenarios anyway.

 http://docs.neo4j.org/chunked/snapshot/operations-security.html

 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://startupbootcamp.org/    - Öresund - Innovation happens HERE.
 http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.



 On Thu, Sep 8, 2011 at 3:08 PM, carze ca...@som.umaryland.edu wrote:
 I'm making use of the Neo4j REST API to power a website and was wondering 
 if
 there was any way to block access to the web admin interface. Currently the
 DB is in read-only mode but the web admin panel is accessibly by anyone who
 can stumble upon the URL.

 --
 View this message in context: 
 http://neo4j-community-discussions.438527.n3.nabble.com/Blocking-access-to-the-Neo4j-web-admin-interface-tp3319626p3319626.html
 Sent from the Neo4j Community Discussions 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




 --
 Best regards

 Linan Wang
 ___
 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




-- 
Best regards

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


Re: [Neo4j] Size on disk, and number of properties

2011-09-08 Thread Aseem Kishore
That is awesomely helpful info. Thank you very much!

Aseem

On Thu, Sep 8, 2011 at 12:55 AM, Chris Gioran 
chris.gio...@neotechnology.com wrote:

 Hi Assem

 The logical log file is where all changes to be performed to the store
 are written out before they are actually applied - also referred to as
 the Write Ahead Log. The file that hosts this is bound to a specific
 size above which a rotation happens: a new file is created to host the
 WAL, all pending transactions are moved over, the store files are
 flushed and the old file marked as unused.
 Setting the configuration option keep_logical_logs to false
 deletes the old log files instead of keeping them around when that
 size limit is hit and a rotation is triggered.

 Hope that clear things up.

 cheers,
 CG

 On Wed, Sep 7, 2011 at 8:58 PM, Aseem Kishore aseem.kish...@gmail.com
 wrote:
  Thanks Johan!
 
  Configuring Neo4j with keep_logical_logs=false the logs will
  automatically be deleted upon rotation.
 
 
  What does upon rotation mean here?
 
  Aseem
 
  On Wed, Sep 7, 2011 at 5:56 AM, Johan Svensson jo...@neotechnology.com
 wrote:
 
  Removing the log files ending with .vversion number at runtime is
  perfectly safe to do but will turn off the ability to do incremental
  backups. You can however still perform live full backups.
 
  Configuring Neo4j with keep_logical_logs=false the logs will
  automatically be deleted upon rotation.
 
  -Johan
 
  On Sat, Sep 3, 2011 at 1:49 AM, Aseem Kishore aseem.kish...@gmail.com
  wrote:
   Thanks for the insights Johan!
  
   Regarding the existing disk space then, by far the bulk of it is from
 the
   logs. Is there a way to prune or garbage collect them? Is simply
 deleting
   the files safe? Should the db be off if I do that? Etc.
  
   Thanks much!
  
   Aseem
  
   On Tue, Aug 30, 2011 at 2:47 AM, Johan Svensson 
 jo...@neotechnology.com
  wrote:
  
   Hi Aseem,
  
   This is actually expected behavior when performing file copy of
   running db and starting up with default configuration. If you remove
   the files ending with .id in the db directory on the local snapshot
   and start up setting rebuild_idgenerators_fast=false you should see
   the accurate amount of nodes, relationships and properties.
  
   Regarding the amount of properties not matching this could be due to
 a
   non clean shutdown on the production system. We are planing on
   improving this in the near future by allowing for more aggressive
   reuse of ids for properties. This will specifically improve things
 for
   workloads that perform a lot of property updates.
  
   -Johan
  
   On Tue, Aug 30, 2011 at 10:05 AM, Aseem Kishore 
  aseem.kish...@gmail.com
   wrote:
Hey guys,
   
We do offline backups of our db on a semi-regular basis (every few
  days),
where we (1) stop the running db, (2) copy its data directory and
 (3)
restart the db.
   
A few times early on, we did running backups -- but not the proper
   online
way -- where we simply copied the data directory while the db was
  still
running. (We did this during times where we were confident no
 requests
   were
hitting the db.)
   
We noticed that every time we did the running backup, the number of
properties the web admin reported -- and the space on disk of the
 db
  --
would jump up quite a bit. We stopped doing that recently.
   
But even now, both these numbers have gotten quite a bit higher
 than
  we
expect to, and strangely, they seem to differ highly between the
  running
   db
and the copies.
   
What could be causing all of this?
   
Here are our current numbers:
   
*Production*
- 2,338 nodes
- 4,473 rels
- 114,231 props (higher than we would expect it to be, but not by
 an
   order
of magnitude)
- *1.39 GB!* -- this is way unexpected, particularly since our db
  used
   to
be in the ~10 KB ballpark, and we certainly haven't experienced
 hockey
   stick
growth yet ;) The logical log only takes up 57 KB (0%) btw.
   
   
*Local snapshot*
- 2,338 nodes
- 4,473 rels
- *2,607,892 props!!!* -- ???
- *1.37 GB!* -- equally surprisingly high, but also interesting
 that
   it's
less than the production db's size. 0 KB logical logs.
   
   
I looked around the wiki and searched this mailing list but didn't
  find
   much
clues here. But as requested on another thread, here's the output
 of
  `ls
   -lh
data/graph.db/`:
   
total 1474520
-rw-r--r--   1 aseemk  staff11B Aug 30 00:46 active_tx_log
drwxr-xr-x  52 aseemk  staff   1.7K Aug 30 00:46 index/
-rw-r--r--   1 aseemk  staff   343B Aug 30 00:46 index.db
-rw-r--r--   1 aseemk  staff   854K Aug 30 00:46 messages.log
-rw-r--r--   1 aseemk  staff36B Aug 30 00:46 neostore
-rw-r--r--   1 aseemk  staff 9B Aug 30 00:46 neostore.id
-rw-r--r--   1 aseemk  staff26K Aug 30 00:46
 neostore.nodestore.db
-rw-r--r--   1 aseemk  staff 9B Aug 30 

[Neo4j] Recommended way to index and lookup paired properties

2011-09-08 Thread Aseem Kishore
Hey guys, quick question on indexing.

We track Amazon products in our db, and the way Amazon identifies its
products is with an Amazon Standard Identification Number (ASIN). The only
catch is that ASINs are only unique within a particular locale, and Amazon
has a few different locales (e.g. us, uk, de, jp, etc.).

Because of this, when we index and lookup Amazon products, we need to index
and lookup with *both* properties together. E.g. we really want to index the
pair.

As such -- and because we use Neo4j's auto-indexing -- we created a shadow
locale+asin property that sits alongside the regular locale and asin
properties, and it's a concatenation of the two values,
e.g. us+A123456789. We thus index and perform lookups via this shadow
property.

Recently, though, I saw that you can query even exact indexes with complex
Lucene syntax, so in theory, we could ditch the shadow property and query
something like (locale:us AND asin:A123456789). Will this be slower
though, if there many items w/ the same locale?

Generalizing, then, which of these two routes is the recommended way of
indexing paired properties? (Or is there a third way?) Thanks!

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


[Neo4j] getProperty() on deleted Node in TransactionEventHandler.beforeCommit()

2011-09-08 Thread tcolar
We have an implementation of TransactionEventHandlerNeo4JTransaction

in the method beforeCommit() I would like to use getProperty(nodeType) ..
so I can take proper action.
Now in the case of a deletion event, it won't let me call it and throws an
exception.

I'm surprised by this exception has this is beforeCommit() and the node is
not delete YET.

public Neo4JTransaction beforeCommit(TransactionData data) throws Exception
{
for (Node deletedNode : data.deletedNodes()) {
boolean b = deletedNode.hasproperty(type) // Fails with 
Exception
}
}

Caused by: java.lang.IllegalStateException: Node[9] has been deleted in this
tx
at
org.neo4j.kernel.impl.core.LockReleaser.getCowPropertyRemoveMap(LockReleaser.java:450)
at
org.neo4j.kernel.impl.core.NodeManager.getCowPropertyRemoveMap(NodeManager.java:991)
at org.neo4j.kernel.impl.core.Primitive.hasProperty(Primitive.java:278)
at org.neo4j.kernel.impl.core.NodeProxy.hasProperty(NodeProxy.java:150)

Is this expected / a bug ?

Any alternatives ?

Thanks.

--
View this message in context: 
http://neo4j-community-discussions.438527.n3.nabble.com/getProperty-on-deleted-Node-in-TransactionEventHandler-beforeCommit-tp3320791p3320791.html
Sent from the Neo4j Community Discussions mailing list archive at Nabble.com.
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


[Neo4j] maximum number of nodes

2011-09-08 Thread Akhil
Do you believe that neo4j will be able to store between 20 - 30 billion 
nodes ? I am talking about genomics data.

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


Re: [Neo4j] maximum number of nodes

2011-09-08 Thread Peter Neubauer
Akhil,
i theory, this should be possible, see
http://docs.neo4j.org/chunked/snapshot/capabilities-capacity.html .
However, with that number of nodes etc, you need probably very
specialized hardware to run any form of performant traversal over this
data. If you want to do this, I suggest you put up a project to
seriously look at importing times, hardware and graph algos to be
performed. Do you have more info on the type of research you want to
do?

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://startupbootcamp.org/    - Öresund - Innovation happens HERE.
http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.



On Thu, Sep 8, 2011 at 9:43 PM, Akhil azk...@cse.psu.edu wrote:
 Do you believe that neo4j will be able to store between 20 - 30 billion
 nodes ? I am talking about genomics data.

 Akhil
 ___
 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] regarding supernode

2011-09-08 Thread Linan Wang
On Wed, Sep 7, 2011 at 5:21 PM, Linan Wang tali.w...@gmail.com wrote:
 hi,
 I don't quite understand RelationshipIndex and RelationshipExpander.
 say I have a supernode city (beijing), it has 10 m users links to
 through relationship LIVES_IN. so how should I index? should be
 something like:
 RelationshipIndex idx = db.index().forRelationships(CITY_LIVES_IN);
 idx.add(rel, LIVES_IN, Beijing);
 if so, what's the advantage over this?
 IndexNode idx = db.index().forNodes(CITY_LIVES_IN);
 idx.add(user, LIVES_IN, beijing);
 (I read source code of LuceneIndex.java, found out that the
 implementation of the add method is shared between Indexnode and
 RelationshipIndex.)
ok, i answer my own question:
RelationshipIndex has the function query which takes startNode and
endNode as extra parameters.
so if traverse only depth 1, it could be faster than using Traverser.
am i right here? (please say yes!)
then the question is how to take advantage of it for more than 1?


 about RelationshipExpander. i don't see how RelationshipIndex could
 help combining with RelationshipExpander, when use
 GraphAlgoFactory.shortestPath(RelationshipExpander expander, int
 maxDepth)?

 thanks for help!

 --
 Best regards

 Linan Wang




-- 
Best regards

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


Re: [Neo4j] Blocking access to the Neo4j web admin interface

2011-09-08 Thread Michael Hunger
Linan,

your diff didn't make it could you just issue an pull request for that.

And Peter should get you sign a CLA btw.

Cheers

Michael

Am 08.09.2011 um 18:33 schrieb Linan Wang:

 tested the idea, it doesn't work. so i made simple changes to the
 server code and diff is attached.
 to change the binding ip of the webserver: add following line to
 conf/neo4j-server.properties:
 org.neo4j.server.webserver.address=127.0.0.1
 
 On Thu, Sep 8, 2011 at 2:55 PM, Peter Neubauer
 peter.neuba...@neotechnology.com wrote:
 That sounds good. Could you try it and report back? Would love to add
 it to the manual and as a setting.
 
 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://startupbootcamp.org/- Öresund - Innovation happens HERE.
 http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.
 
 
 
 On Thu, Sep 8, 2011 at 3:34 PM, Linan Wang tali.w...@gmail.com wrote:
 since neo4j just uses jetty, i think the simple solution would be add
 option in neo4j shell script:
 -Djetty.host=127.0.0.1 to make it only listen to local request. then
 use ssh tunnel to expose service to designated machines.
 
 On Thu, Sep 8, 2011 at 2:18 PM, Peter Neubauer
 peter.neuba...@neotechnology.com wrote:
 Hi there,
 you can block access to it by blocking the access to the URL
 (localhost:.../webadmin) and even /db/manage. That requires probably
 to set up apache and mod_proxy in front of the Neo4j server, but I
 think that is a good idea in production scenarios anyway.
 
 http://docs.neo4j.org/chunked/snapshot/operations-security.html
 
 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://startupbootcamp.org/- Öresund - Innovation happens HERE.
 http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.
 
 
 
 On Thu, Sep 8, 2011 at 3:08 PM, carze ca...@som.umaryland.edu wrote:
 I'm making use of the Neo4j REST API to power a website and was wondering 
 if
 there was any way to block access to the web admin interface. Currently 
 the
 DB is in read-only mode but the web admin panel is accessibly by anyone 
 who
 can stumble upon the URL.
 
 --
 View this message in context: 
 http://neo4j-community-discussions.438527.n3.nabble.com/Blocking-access-to-the-Neo4j-web-admin-interface-tp3319626p3319626.html
 Sent from the Neo4j Community Discussions 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
 
 
 
 
 --
 Best regards
 
 Linan Wang
 ___
 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
 
 
 
 
 -- 
 Best regards
 
 Linan Wang
 ___
 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] Blocking access to the Neo4j web admin interface

2011-09-08 Thread Linan Wang
done.
https://github.com/neo4j/community/pull/16

On Thu, Sep 8, 2011 at 11:21 PM, Michael Hunger
michael.hun...@neotechnology.com wrote:
 Linan,

 your diff didn't make it could you just issue an pull request for that.

 And Peter should get you sign a CLA btw.

 Cheers

 Michael

 Am 08.09.2011 um 18:33 schrieb Linan Wang:

 tested the idea, it doesn't work. so i made simple changes to the
 server code and diff is attached.
 to change the binding ip of the webserver: add following line to
 conf/neo4j-server.properties:
 org.neo4j.server.webserver.address=127.0.0.1

 On Thu, Sep 8, 2011 at 2:55 PM, Peter Neubauer
 peter.neuba...@neotechnology.com wrote:
 That sounds good. Could you try it and report back? Would love to add
 it to the manual and as a setting.

 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://startupbootcamp.org/    - Öresund - Innovation happens HERE.
 http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.



 On Thu, Sep 8, 2011 at 3:34 PM, Linan Wang tali.w...@gmail.com wrote:
 since neo4j just uses jetty, i think the simple solution would be add
 option in neo4j shell script:
 -Djetty.host=127.0.0.1 to make it only listen to local request. then
 use ssh tunnel to expose service to designated machines.

 On Thu, Sep 8, 2011 at 2:18 PM, Peter Neubauer
 peter.neuba...@neotechnology.com wrote:
 Hi there,
 you can block access to it by blocking the access to the URL
 (localhost:.../webadmin) and even /db/manage. That requires probably
 to set up apache and mod_proxy in front of the Neo4j server, but I
 think that is a good idea in production scenarios anyway.

 http://docs.neo4j.org/chunked/snapshot/operations-security.html

 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://startupbootcamp.org/    - Öresund - Innovation happens HERE.
 http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party.



 On Thu, Sep 8, 2011 at 3:08 PM, carze ca...@som.umaryland.edu wrote:
 I'm making use of the Neo4j REST API to power a website and was 
 wondering if
 there was any way to block access to the web admin interface. Currently 
 the
 DB is in read-only mode but the web admin panel is accessibly by anyone 
 who
 can stumble upon the URL.

 --
 View this message in context: 
 http://neo4j-community-discussions.438527.n3.nabble.com/Blocking-access-to-the-Neo4j-web-admin-interface-tp3319626p3319626.html
 Sent from the Neo4j Community Discussions 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




 --
 Best regards

 Linan Wang
 ___
 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




 --
 Best regards

 Linan Wang
 ___
 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




-- 
Best regards

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


[Neo4j] Neo4j Write Test Compile Error

2011-09-08 Thread espeed
Hi Guys -

I'm trying to compile and run the write test
(https://svn.neo4j.org/laboratory/users/johan/write-test) from
http://wiki.neo4j.org/content/Linux_Performance_Guide, and I'm getting this
error:

   https://gist.github.com/1205327

Is there a newer version of this?

Thanks.

- James

--
View this message in context: 
http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Write-Test-Compile-Error-tp3321729p3321729.html
Sent from the Neo4j Community Discussions mailing list archive at Nabble.com.
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Neo4j Write Test Compile Error

2011-09-08 Thread Bryce
Hi James,

I initially gave this a go and it worked, but found I had cached version of
the parent pom in my local maven repo.  Removing this I got the same issue
you had.

You can get this working by replacing the parent pom reference in the
pom.xml file with:
  parent
groupIdorg.neo4j.build/groupId
artifactIdparent-central/artifactId
version25/version
  /parent
Instead of the current:
  parent
groupIdorg.neo4j/groupId
artifactIdparent-pom/artifactId
version6/version
  /parent

It still wont work quite as is though.  The build will fail on a license
check, so do compile like:
mvn -Dlicense.failIfMissing=false compile

Should work.

Cheers
Bryce

On Fri, Sep 9, 2011 at 2:12 PM, espeed ja...@jamesthornton.com wrote:

 Hi Guys -

 I'm trying to compile and run the write test
 (https://svn.neo4j.org/laboratory/users/johan/write-test) from
 http://wiki.neo4j.org/content/Linux_Performance_Guide, and I'm getting
 this
 error:

   https://gist.github.com/1205327

 Is there a newer version of this?

 Thanks.

 - James

 --
 View this message in context:
 http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Write-Test-Compile-Error-tp3321729p3321729.html
 Sent from the Neo4j Community Discussions 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


Re: [Neo4j] Neo4j Write Test Compile Error

2011-09-08 Thread espeed

Bryce Ewing wrote:
 
 You can get this working by replacing the parent pom reference in the
 pom.xml file with:
   parent
 groupIdorg.neo4j.build/groupId
 artifactIdparent-central/artifactId
 version25/version
   /parent
 Instead of the current:
   parent
 groupIdorg.neo4j/groupId
 artifactIdparent-pom/artifactId
 version6/version
   /parent
 
 It still wont work quite as is though.  The build will fail on a license
 check, so do compile like:
 mvn -Dlicense.failIfMissing=false compile
 

Sure enough. Thanks Bryce!


--
View this message in context: 
http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Write-Test-Compile-Error-tp3321729p3321821.html
Sent from the Neo4j Community Discussions mailing list archive at Nabble.com.
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


[Neo4j] Java PaaS with Neo4j (slightly off topic)

2011-09-08 Thread Christopher Schmidt
Hi all,

I am using (the embedded version of) Neo4j together with a webapplication
(WAR file for Tomcat).
Does anyone know a PaaS provider (like CloudBees) that allow a local file
storage?

(This would be a simple solution beside implementing the Neo4j Server
REST interface and f.e. using a Neo4j Heroku Addon)

-- 
Christopher
twitter: @fakod
blog: http://blog.fakod.eu
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] getProperty() on deleted Node in TransactionEventHandler.beforeCommit()

2011-09-08 Thread tcolar
To reply to myself:

I found out that i was able to get the properties of the to be deleted node
in data.removedNodeProperties()
with the value being in previouslyCommitedValue()

 

--
View this message in context: 
http://neo4j-community-discussions.438527.n3.nabble.com/getProperty-on-deleted-Node-in-TransactionEventHandler-beforeCommit-tp3320791p3321945.html
Sent from the Neo4j Community Discussions mailing list archive at Nabble.com.
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user