Re: [Neo4j] id problem on createNode

2011-11-15 Thread Mattias Persson
Yeah, I'd love a reproducible test case for this, if such exists

2011/11/10 Peter Neubauer 

> Wow,
> never seen this before, do you have a full testcase to reproduce this?
>
> 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  - NOSQL for the Enterprise.
> http://startupbootcamp.org/- Öresund - Innovation happens HERE.
>
>
>
> On Thu, Nov 10, 2011 at 9:18 AM, itoskov  wrote:
> > I have this snippet of code while using neo4j embedded 1.4.2:
> >
> >Node newlyCreatedNode =  db.createNode();
> >log.debug("NEWLY GENERATED NODE : " +
> newlyCreatedNode.getId());
> >
> >Node newlyCreatedNode1 =  db.createNode();
> >log.debug("NEWLY GENERATED NODE 1: " +
> newlyCreatedNode1.getId());
> >
> > In most cases, this returns two different ids, but my problem is that I'm
> > getting two same id values in two consecutive calls.
> > For example:
> > 2011-11-09 19:15:07,236 DEBUG  - 
> > 2011-11-09 19:15:07,236 DEBUG  - 
> >
> > Can you tell me reason for this, or how to prevent this from happening
> >
> >
> >
> > --
> > View this message in context:
> http://neo4j-community-discussions.438527.n3.nabble.com/id-problem-on-createNode-tp3496067p3496067.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
>



-- 
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] Native UUID support?

2011-11-15 Thread Mattias Persson
When guaranteed uniqueness on index-level is supported this can probably be
implemented. Have one indirection in an index adds overhead but I image
it's only for one or more starting points and then it's internal ids all
the way from there.

2011/11/9 Michael Hunger 

> I think a separate UUID (2xLONG = 16 Bytes) property type would make
> sense, if I remember correctly property types with larger block sizes are
> now possible.
> Otherwise it could be an inlined long[2].
>
> Having good support on the API  level (integrated separate fast index +
> uniqueness) would be important as well.
>
> That would come at the cost of dropping the exposure of native neo4j-ids.
> I think that's a worthwhile trade-off.
>
> Michael
>
> Am 09.11.2011 um 17:02 schrieb Jim Webber:
>
> > Hey Peter,
> >
> > I think you raise a good point. We'll need some kind of ID for objects
> stored in (v)shards, but that's likely to be some kind of hierarchical ID
> (so that we can locally and globally refer to objects in and across shards).
> >
> > I think here the question boils down to: can we add (fast) support for
> UUIDs natively in our store, like we do for strings. I don't know the
> answer to that, but the kernel folks can probably offer some insight.
> >
> > Jim
> > ___
> > 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] Numeric index update

2011-11-15 Thread Mattias Persson
This seems to be a bug in Lucene 3.1.0 and I can confirm that it doesn't
exist in 3.4.0, so I'm hoping neo4j will update the dependency soon.

2011/11/12 Mattias Persson 

> It looks to be a bug. I ran the test case and while it's supposedly should
> work it doesn't... I'll try to look at it asap.
>
>
> 2011/11/8 ptashcka 
>
>> well, as I mentioned, node may still be found by text key/value pair, but
>> not
>> numeric
>> also - the remove is not the problem, same issue if we just add same node
>> with another key/value to the index
>>
>> --
>> View this message in context:
>> http://neo4j-community-discussions.438527.n3.nabble.com/Numeric-index-update-tp3490124p3490221.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
>>
>
>
>
> --
> Mattias Persson, [matt...@neotechnology.com]
> Hacker, Neo Technology
> www.neotechnology.com
>



-- 
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] Traversing performance

2011-11-15 Thread Emil Dombagolla
Dear all,

Big thanks for the replies i got from the mailing list.

What is the best way to traverse the graph?
In our social network project , i use the node. traverse API to traverse
the database. i heard there are other sql like query languages. can i
have comparison over these.
are the query languages having more querying options and logical
possibilities that we can t come up with node. traverse api?
what is the most performance oriented way to traverse the database?


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


[Neo4j] Neo4j-Scala Wrapper 0.1.0 released

2011-11-15 Thread Christopher Schmidt
Hi all,

I released version 0.1.0 of the Neo4j Scala Wrapper neo4j-scala (base is
neo4j-scala by jawher).
Main features are

- simple Traits for the wrapper itself, GraphDatabaseService provider,
index provider and batch insertion
- transaction wrapping:

withTx {...}

- natural usage of relations:

start --> "KNOWS" --> intermediary --> "KNOWS" --> end

- setting and getting properties:

node("foo") = "bar"
node[String]("foo") match {
case Some(x) => println(x)
case None => println("aww")
}

- easy CaseClass to/from Node/Relation properties marshaling

withTx {
  implicit neo =>
// create new Node with Case Class Test
val node1 = createNode(Test("Something", 1, 2, 3.3, 10, true))

// or using Option[T] (returning Some[T] if possible)
val nodeOption: Option[Test] = node.toCC[Test]

// create new relation with Case Class Test
node1 --> "foo" --> node2 < Test("other", 0, 1, 1.3, 1, false)
}

- transparent batch processing (simply replace 2 traits to use the same
code for batch- and non batch processing)

For now I am using a simple Github "Maven repository".
Neo4j-scala should be usable with the following POM settings:

  
fakod-releases
https://raw.github.com/FaKod/fakod-mvn-repo/master/releases

  



  
org.neo4j
neo4j-scala
0.1.0
  


The Sources are hosted on Github:

https://github.com/FaKod/neo4j-scala/tree/0.1.0


A simple Matrix example GIST is here:

https://gist.github.com/1331556


Enjoy...


PS: Maybe you are using Neo4j Server via Jersey? So sjersey-client may be
interesting for you as well: see @
Github and
this example .

-- 
Christopher
twitter: @fakod
blog: http://blog.fakod.eu



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


Re: [Neo4j] py2neo 0.982

2011-11-15 Thread Krzysztof Raczyński
1. That's why i left the old method in, to each to his own. Until the
old methods are left untouched, i think we can safely experiment
without breaking anyone's code. As for the 'get' thing, i wouldn't
call it a get operation, it is an explicit function call:

   >>> n.connects_to(m)

If it's clearly documented, i see no issues with having both methods in though.

2. I'd probably use get/set item functions for accessing properties
too. That way if my proposal for relationships stays in, we won't be
having any problems with relationship and property names overlap.


While I do understand your reason for such API, i wanted to make
things a little bit simpler for beginners like me. Since my work
relies heavily on py2neo i want to make it as pleasant as possible. I
will be submitting my modifications for your review, and in the
meantime we'll see how others react to this.
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] py2neo 0.982

2011-11-15 Thread Nigel Small
Hi Krzysztof

Having looked at your Pull Request, I can see that your syntax certainly
provides a easy and readable way to create relationships to nodes. However,
I have a couple of reservations:

1. This essentially uses a "get" operation to carry out a "write" behind
the scenes. I would generally try to avoid something which is intuitively
read-only from having side-effects such as this.

2. Using the __getattr__ method in this way precludes using it to access
Node properties which is, arguably, the more obvious use (even though
__getitem__ is already used here).

I don't entirely dislike the idea but given this is really just syntactic
sugar, I'd like to hear other's opinions on this.

The new prune/filter methods aren't restricted purely to JavaScript: they
now simply have built-in and custom variants with clearer naming. My
philosophy is generally to swing towards longer/clearer and more
descriptive names as opposed to trying to save a few keystrokes and making
one function do multiple things.

Cheers

*Nigel Small*
Phone: +44 7814 638 246
Blog: http://nigelsmall.name/
GTalk: ni...@nigelsmall.name
MSN: nasm...@live.co.uk
Skype: technige
Twitter: @technige 
LinkedIn: http://uk.linkedin.com/in/nigelsmall



2011/11/16 Krzysztof Raczyński 

> No need to, i submitted a pull request with that change. I will also
> submit my proposed index syntax changes. I'm no good at git, so i may
> or may not screw this up.
>
> As far as changes you wrote about, i think we should move it to one
> method, and rely on arguments supplied by user to know which
> prune/filter to use. Also, are there any other language options
> besides javascript for evaluators?
>
> Cheers
> ___
> 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] py2neo 0.982

2011-11-15 Thread Krzysztof Raczyński
No need to, i submitted a pull request with that change. I will also
submit my proposed index syntax changes. I'm no good at git, so i may
or may not screw this up.

As far as changes you wrote about, i think we should move it to one
method, and rely on arguments supplied by user to know which
prune/filter to use. Also, are there any other language options
besides javascript for evaluators?

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


Re: [Neo4j] py2neo 0.982

2011-11-15 Thread Nigel Small
So that we can support both, I've made some further changes to the
TraversalDescription class. I have replaced "prune" and "filter" with:

builtin_prune_evaluator(self, name)
prune_evaluator(self, language, body)
builtin_return_filter(self, name)
return_filter(self, language, body)

This does break some backward compatibility with the methods but does
provide more clarity than the original. I'm also aware that some of this
has been deprecated within the core API; however, since this does not yet
appear to be reflected within the REST API, this is probably the best
option for now.

WRT your suggestion for the Node class: I'm happy to consider it but will
need to read up more on the JPype bindings as I'm not familiar with them.
Could you submit an issue, preferably containing a link to docs describing
the interface you describe, and I'll have a proper look.

Cheers

*Nigel Small*
Phone: +44 7814 638 246
Blog: http://nigelsmall.name/
GTalk: ni...@nigelsmall.name
MSN: nasm...@live.co.uk
Skype: technige
Twitter: @technige 
LinkedIn: http://uk.linkedin.com/in/nigelsmall



2011/11/15 Krzysztof Raczyński 

> No problem, on the other hand the "name" parameter is still valid,
> since there are two named filters: "all" and "all_but_start_node", and
> whatever filters someone may add themselves.
>
> I also have one issue with Node class, i really like the way original
> JPype bindings work - i.e. i can use node.loves(cake, how='deeply') to
> define a relationship, and also properties are easily accessible like
> class members. This could be easily implemented with some dose of
> __getattr__ magic, and pretty easily too. Question is wether such
> change in API would be accepted? Also, automatic binding of properties
> to node instances would be awesome too.
>
> Please let me know if you are interested, i'd gladly help.
> ___
> 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] Paths with null?

2011-11-15 Thread Alistair Jones
Reminds me of:
http://qconlondon.com/london-2009/presentation/Null+References:+The+Billion+Dollar+Mistake

On 15 November 2011 08:15, Peter Neubauer
wrote:

> The void is spreading. Beware.
>
> 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  - NOSQL for the Enterprise.
> http://startupbootcamp.org/- Öresund - Innovation happens HERE.
>
>
> On Tue, Nov 15, 2011 at 8:50 AM, Mattias Persson
> wrote:
>
> > That may be a good solution, because you could not treat such a path (if
> it
> > were to have null in it somewhere) in a normal fashion anyway.
> >
> > 2011/11/15 Andres Taylor 
> >
> > > I just realized the obviousness of the truth.
> > >
> > > The optional bit is viral - it spreads out if it can. So, a path
> pointing
> > > to an optional relationship, is it self optional. Just like nodes
> hanging
> > > from an optional relationship are also optional.
> > > So, if the path happens to have any null parts, the whole path is null.
> > >
> > > Makes sense?
> > >
> > > Andrés
> > >
> > > On Sun, Nov 13, 2011 at 1:11 PM, Mattias Persson
> > > wrote:
> > >
> > > > A Path with null in it doesn't make much sense to me. I'd prefer b)
> > also.
> > > >
> > > > Den lördagen den 12:e november 2011 skrev Andres Taylor<
> > > > andres.tay...@neotechnology.com>:
> > > > > On Sat, Nov 12, 2011 at 3:02 PM, D. Frej 
> > wrote:
> > > > >
> > > > >> to understand the question correctly: is it something like
> > > > >> (a)-[:REL_TYPE*0..1]->(b)
> > > > >>
> > > > >
> > > > > Sorry for not being clearer...
> > > > >
> > > > > No, that pattern is safe - it will never contain a null. The
> optional
> > > > > relationships have a question mark in them, like this:
> > > > >
> > > > >  (a)-[?:REL_TYPE]->(b)
> > > > >
> > > > > Andrés
> > > > > ___
> > > > > 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
> >
> ___
> 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] Suggestions on materials for learning graph theory

2011-11-15 Thread Michael Hunger
Thanks for all the feedback, very helpful information.

Do you think after finishing the book, you could write up a blog post about the 
literature you've been suggested so far and
what you found helpful for people starting to dive into graphs, that would be a 
valuable resource. This and the last email
could be already a good starting point for the post.

Thanks a lot

Michael

Am 15.11.2011 um 22:30 schrieb S3Logic:

> Hey guys,
> 
> I just wanted to follow up on this. After some more digging, I had some
> people suggest "Introductory Graph Theory" by Gary Chartrand. It seems to be
> an excellent text for a beginner, but I will update this post once I get
> through the rest of the book.
> 
> Also, Max and Rick's suggestions were excellent. Marko's article 'The Graph
> Traversal Pattern' helped me fill in some gaps that, as a result, helped me
> to understand the Gremlin syntax better. I also just got my copy of Puzzles
> and Graphs. It was quite difficult to find, but this book is a ton of fun
> and it's a really really fun way to exercise some of the concepts I'm
> learning about. The book itself is worth buying and when you're done it's a
> unique vintage book to put on your shelf. There is a pdf online that's
> provided by the government so I'm assuming it's legal  but it only has 8-58
> pages (in the wrong order) and I can confirm that you lose some valuable
> pages:  http://www.eric.ed.gov/PDFS/ED035552.pdf. I reached out to the
> National Council of Teachers of Mathematics to suggest they publish the book
> again :)
> 
> --
> View this message in context: 
> http://neo4j-community-discussions.438527.n3.nabble.com/Suggestions-on-materials-for-learning-graph-theory-tp3490877p3510999.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] py2neo 0.982

2011-11-15 Thread Krzysztof Raczyński
No problem, on the other hand the "name" parameter is still valid,
since there are two named filters: "all" and "all_but_start_node", and
whatever filters someone may add themselves.

I also have one issue with Node class, i really like the way original
JPype bindings work - i.e. i can use node.loves(cake, how='deeply') to
define a relationship, and also properties are easily accessible like
class members. This could be easily implemented with some dose of
__getattr__ magic, and pretty easily too. Question is wether such
change in API would be accepted? Also, automatic binding of properties
to node instances would be awesome too.

Please let me know if you are interested, i'd gladly help.
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] py2neo 0.982

2011-11-15 Thread Nigel Small
Hi Krzysztof

Yes, certainly looks like it's a bug, however I'm convinced this has changed
from the original REST docs on which I based this code. Can't find a copy
though and since your fix looks to apply to both 1.4 and 1.5 then
consider it merged!

Thanks for your help :-)

Nige

*Nigel Small*
Phone: +44 7814 638 246
Blog: http://nigelsmall.name/
GTalk: ni...@nigelsmall.name
MSN: nasm...@live.co.uk
Skype: technige
Twitter: @technige 
LinkedIn: http://uk.linkedin.com/in/nigelsmall



2011/11/15 Krzysztof Raczyński 

> First off, thanks for py2neo. I think i found a bug that prevents from
> using javascript filters when traversing over rest:
>
>
> http://py2neo.org/docs/api/py2neo.neo4j-pysrc.html#TraversalDescription.filter
>
> Instead of "body", key is named "name". Since you're on vacation i've
> taken justice of sending you a pull request over on github with
> proposed fix.
>
> Enjoy your chillaxing.
> ___
> 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] Suggestions on materials for learning graph theory

2011-11-15 Thread S3Logic
Hey guys,

I just wanted to follow up on this. After some more digging, I had some
people suggest "Introductory Graph Theory" by Gary Chartrand. It seems to be
an excellent text for a beginner, but I will update this post once I get
through the rest of the book.

Also, Max and Rick's suggestions were excellent. Marko's article 'The Graph
Traversal Pattern' helped me fill in some gaps that, as a result, helped me
to understand the Gremlin syntax better. I also just got my copy of Puzzles
and Graphs. It was quite difficult to find, but this book is a ton of fun
and it's a really really fun way to exercise some of the concepts I'm
learning about. The book itself is worth buying and when you're done it's a
unique vintage book to put on your shelf. There is a pdf online that's
provided by the government so I'm assuming it's legal  but it only has 8-58
pages (in the wrong order) and I can confirm that you lose some valuable
pages:  http://www.eric.ed.gov/PDFS/ED035552.pdf. I reached out to the
National Council of Teachers of Mathematics to suggest they publish the book
again :)

--
View this message in context: 
http://neo4j-community-discussions.438527.n3.nabble.com/Suggestions-on-materials-for-learning-graph-theory-tp3490877p3510999.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] py2neo 0.982

2011-11-15 Thread Krzysztof Raczyński
First off, thanks for py2neo. I think i found a bug that prevents from
using javascript filters when traversing over rest:

http://py2neo.org/docs/api/py2neo.neo4j-pysrc.html#TraversalDescription.filter

Instead of "body", key is named "name". Since you're on vacation i've
taken justice of sending you a pull request over on github with
proposed fix.

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


Re: [Neo4j] Using Webadmin Console to Execute Spatial Cypher Query

2011-11-15 Thread bm3780
In the short term, I've gotten around this issue by extending the
SpatialPlugin to add a method for searching within a distance of a point in
a layer.  Can I get this merged into the baseline?  I have created 
https://github.com/neo4j/spatial/issues/27 an issue  on Github.

--
View this message in context: 
http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Using-Webadmin-Console-to-Execute-Spatial-Cypher-Query-tp3500531p3510679.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] Batch uploading to REST server

2011-11-15 Thread vistorve
I setup visualvm with a jmx connection to the server running neo4j I wasn't
able to CPU profiling working, it had an error message saying
getThreadCpuTime was expecting long but got something else. I do have thread
and heap dumps though if those would be useful.

When I was running the batch upload I saw that the CPU usage never went over
one core ~15% total cpu usage.

Also I noticed that when I did a batch job of 1.5k nodes, 3k relationships
the network usage would spike and be consistent and then fall for the upload
and then spike and fall again for the read back from the server. However
when I did 15k nodes and 30k relationships the network would spike, fall and
then have short regular spike of only a couple KB/s. Is there some internal
paging going on with the REST server, why doesn't it transfer the file all
at once and then process it?

The 1.5k job took about 25 seconds, the 15k job took 1220 seconds.

Below is the configuration I have for the server, the machine itself has
32GB of ram and 8 64bit cores:
-XX:+DisableExplicitGC
-XX:+UseParallelGC
-XX:+UseNUMA
-Xss1024m
-Xms2048m
-Xmx4056m

Neo4j properties:
neostore.nodestore.db.mapped_memory=300M
neostore.relationshipstore.db.mapped_memory=600M
neostore.propertystore.db.mapped_memory=600M
neostore.propertystore.db.strings.mapped_memory=1024M
neostore.propertystore.db.arrays.mapped_memory=1024M
cache_type=strong
use_memory_mapped_buffers=false


--
View this message in context: 
http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Batch-uploading-to-REST-server-tp340p3510431.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] Server plugin running into memory limits

2011-11-15 Thread Anders Lindström

This new GC seems to work better actually. Queries that failed before now seem 
to work. I give it 128 mb. The "tons" were 512 mb. (My graph has 1.3 M nodes 
and 10.5 M props, 0 rels, the data folder is ~780 mb.) Querying is though 
considerably slower now when using 128 rather than 512 mb, but I guess this has 
to do with how much of the graph fits in the given heap, vs how often it needs 
to go to disk.

Although it works now, perhaps this is only for these particular queries. I am 
trying to create a rather general server plugin which is supposed to work for a 
general configuration. I would like to be able to avoid this exception also 
with my former configuration. Any more ideas on what might be causing this? How 
are the returned Representations from the plugins handled and GC:d? It seems 
this could be critical for this kind of exception, see e.g.:
http://stackoverflow.com/questions/1393486/what-does-the-error-message-java-lang-outofmemoryerror-gc-overhead-limit-excee
> From: david.mon...@neotechnology.com
> Date: Tue, 15 Nov 2011 07:50:46 -0800
> To: user@lists.neo4j.org
> Subject: Re: [Neo4j] Server plugin running into memory limits
> 
> Hi Anders,
> 
> How much heap are you giving the JVM? When it worked with "tons" of memory,
> how much heap did you give?
> 
> Maybe you could also try changing the garbage collector used in
> conf/neo4j-wrapper.conf. Just add these lines:
> 
> wrapper.java.additional.20=-XX:+UseConcMarkSweepGC
> wrapper.java.additional.21=-verbose:gc
> 
> David
> 
> 2011/11/15 Anders Lindström 
> 
> >
> > Hi all,
> > I'm currently writing a server plugin. I need it to make some specialized
> > queries that are not supported by the standard REST API. The important
> > methods I expose are 'query' and 'get_next_page', the latter to support
> > results pagination (i.e. the plugin is stateful).
> > In 'query', I run my query against the Neo4j backend, and store a Node
> > iterator to the query results (this is either an iterator originating from
> > 'getAllNodes', or a Lucene IndexHits instance). In 'get_next_page', I
> > run through the next N items of the iterator and return these as a
> > ListRepresentation. The same iterator object is kept across all page
> > retrievals, but of course stepped forward N steps for every invocation.
> > After having gone through all pages, the reference to the Node iterator is
> > removed.
> > Now, as I understand it, all the heap space I should be concerned about
> > using, is the one I allocate locally in my methods, since the referenced
> > stored to the iterator object is just a tiny reference, and iterator
> > results are fetched lazily (i.e., even though the iterator covers a result
> > set greater than the allotted heap size, I shall be able to page through it
> > within given heap space if the page size is small enough). But when I run
> > my plugin, this does not seem to be the case. I can make several successful
> > calls in a row to 'get_next_page', but then after a while bump into "GC
> > overhead limit exceeded" which I cannot quite understand. I am rather
> > certain the size of each page returned is within the allotted heap size.
> > For some reason the heap usage seems to grow with the calls to
> > 'get_next_page' which I cannot understand, given my understanding of the
> > Node iterators from Neo4j.
> > How do I avoid hitting this GC overhead limit? Am I missing something?
> > (And yes, I've tried using different values of the allowed heap space by
> > fiddling in the conf-files, and sure I can give tons of memory to the
> > instance, and then it works, but I shouldn't have to give more heap space
> > than what Neo4j "needs", plus my page size).
> > Thanks!
> > Regards,Anders
> >
> > ___
> > Neo4j mailing list
> > User@lists.neo4j.org
> > https://lists.neo4j.org/mailman/listinfo/user
> >
> 
> 
> 
> -- 
> David Montag 
> Neo Technology, www.neotechnology.com
> Cell: 650.556.4411
> Skype: ddmontag
> ___
> 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] Server plugin running into memory limits

2011-11-15 Thread David Montag
Hi Anders,

How much heap are you giving the JVM? When it worked with "tons" of memory,
how much heap did you give?

Maybe you could also try changing the garbage collector used in
conf/neo4j-wrapper.conf. Just add these lines:

wrapper.java.additional.20=-XX:+UseConcMarkSweepGC
wrapper.java.additional.21=-verbose:gc

David

2011/11/15 Anders Lindström 

>
> Hi all,
> I'm currently writing a server plugin. I need it to make some specialized
> queries that are not supported by the standard REST API. The important
> methods I expose are 'query' and 'get_next_page', the latter to support
> results pagination (i.e. the plugin is stateful).
> In 'query', I run my query against the Neo4j backend, and store a Node
> iterator to the query results (this is either an iterator originating from
> 'getAllNodes', or a Lucene IndexHits instance). In 'get_next_page', I
> run through the next N items of the iterator and return these as a
> ListRepresentation. The same iterator object is kept across all page
> retrievals, but of course stepped forward N steps for every invocation.
> After having gone through all pages, the reference to the Node iterator is
> removed.
> Now, as I understand it, all the heap space I should be concerned about
> using, is the one I allocate locally in my methods, since the referenced
> stored to the iterator object is just a tiny reference, and iterator
> results are fetched lazily (i.e., even though the iterator covers a result
> set greater than the allotted heap size, I shall be able to page through it
> within given heap space if the page size is small enough). But when I run
> my plugin, this does not seem to be the case. I can make several successful
> calls in a row to 'get_next_page', but then after a while bump into "GC
> overhead limit exceeded" which I cannot quite understand. I am rather
> certain the size of each page returned is within the allotted heap size.
> For some reason the heap usage seems to grow with the calls to
> 'get_next_page' which I cannot understand, given my understanding of the
> Node iterators from Neo4j.
> How do I avoid hitting this GC overhead limit? Am I missing something?
> (And yes, I've tried using different values of the allowed heap space by
> fiddling in the conf-files, and sure I can give tons of memory to the
> instance, and then it works, but I shouldn't have to give more heap space
> than what Neo4j "needs", plus my page size).
> Thanks!
> Regards,Anders
>
> ___
> Neo4j mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user
>



-- 
David Montag 
Neo Technology, www.neotechnology.com
Cell: 650.556.4411
Skype: ddmontag
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Fwd: Cool Discussion related to graph modelling of social networks

2011-11-15 Thread maxdemarzi
I came up on Aleksa Vukotic's blog post (
http://www.aleksavukotic.com/2011/07/neo4j-super-nodes-and-indexed.html )
and realized his IndexedRelationshipExpander with some tweaks would work for
this purpose.

  relationship_auto_indexing=true

  relationship_keys_indexable=dated,measured

This takes care of modeling an Activity Stream as well.

A user's first pull of an activity stream can be naive (get everything,
filter top 1000).
We store the date of the 1000th activity.
Every pull after that looks at activities that were dated after the stored
date.

--
View this message in context: 
http://neo4j-community-discussions.438527.n3.nabble.com/Neo4j-Cool-Discussion-related-to-graph-modelling-of-social-networks-tp3492527p3510036.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] Server plugin running into memory limits

2011-11-15 Thread Anders Lindström

'get_next_page' actually returns a ListRepresentation of ListRepresentations. 
The number of items in the outer list is what I call page size. I have varied 
this parameter and it seems that the page size by itself does not really 
matter. I have queries which consistently get returned correctly where each 
JSON string (i.e., page) is about 200k characters. A smaller page size also 
works for these queries (e.g. page size of about 20k chars). If I query for 
slightly larger (~2x) result sets and try various page sizes, again, page size 
does not seem to matter but they consistently fail after having returned 
several pages (initial pages do get returned both for 20k och 200k char 
strings). It also does not seem to matter if the consumer application slows 
down and queries for each page at a slower pace.
I return 'new ListRepresentation("x", rows)' where 'rows' is a 
List in 'get_next_page'. Each row is built via 
'ListRepresentation.strings(values)' where values is a String[].
If I instead try, as you suggested, to return a constant ListRepresentation, it 
seems to work fine for any result set. So perhaps the REST string building is 
the problem? Maybe the JVM has trouble GC:ing all ListRepresentations between 
the calls?

> From: peter.neuba...@neotechnology.com
> Date: Tue, 15 Nov 2011 14:51:30 +0100
> To: user@lists.neo4j.org
> Subject: Re: [Neo4j] Server plugin running into memory limits
> 
> Anders,
> how many items are you holding in that representation list? Also, it could
> be that the deserialization is taking up memory. Can you test just
> returning a constant string (not building up memory) and check if that
> changes anything? In that case we could track it down to the REST String
> building ...
> 
> 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  - NOSQL for the Enterprise.
> http://startupbootcamp.org/- Öresund - Innovation happens HERE.
> 
> 
> 2011/11/15 Anders Lindström 
> 
> >
> > Hi all,
> > I'm currently writing a server plugin. I need it to make some specialized
> > queries that are not supported by the standard REST API. The important
> > methods I expose are 'query' and 'get_next_page', the latter to support
> > results pagination (i.e. the plugin is stateful).
> > In 'query', I run my query against the Neo4j backend, and store a Node
> > iterator to the query results (this is either an iterator originating from
> > 'getAllNodes', or a Lucene IndexHits instance). In 'get_next_page', I
> > run through the next N items of the iterator and return these as a
> > ListRepresentation. The same iterator object is kept across all page
> > retrievals, but of course stepped forward N steps for every invocation.
> > After having gone through all pages, the reference to the Node iterator is
> > removed.
> > Now, as I understand it, all the heap space I should be concerned about
> > using, is the one I allocate locally in my methods, since the referenced
> > stored to the iterator object is just a tiny reference, and iterator
> > results are fetched lazily (i.e., even though the iterator covers a result
> > set greater than the allotted heap size, I shall be able to page through it
> > within given heap space if the page size is small enough). But when I run
> > my plugin, this does not seem to be the case. I can make several successful
> > calls in a row to 'get_next_page', but then after a while bump into "GC
> > overhead limit exceeded" which I cannot quite understand. I am rather
> > certain the size of each page returned is within the allotted heap size.
> > For some reason the heap usage seems to grow with the calls to
> > 'get_next_page' which I cannot understand, given my understanding of the
> > Node iterators from Neo4j.
> > How do I avoid hitting this GC overhead limit? Am I missing something?
> > (And yes, I've tried using different values of the allowed heap space by
> > fiddling in the conf-files, and sure I can give tons of memory to the
> > instance, and then it works, but I shouldn't have to give more heap space
> > than what Neo4j "needs", plus my page size).
> > Thanks!
> > Regards,Anders
> >
> > ___
> > 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] Confirming existence of relationship between two nodes

2011-11-15 Thread Andres Taylor
On Tue, Nov 15, 2011 at 3:50 AM, gsingh93  wrote:

> >
> > What version of Neo4j are you using? This query is valid syntax for 1.4.x
> > and 1.5.M01.
> >
> > I'm using version 1.4.1


If possible, you should upgrade to 1.5.

>
> > Later you would want to use:
> >
> > > start a=node:nodeIndex(identifier='0') return a
> >
> > I tried that and got the error:
>
> org.neo4j.cypher.SyntaxException: `<' expected but `n' found
>

Yes, that's the old version. Upgrade, or use the old Cypher
syntax
.


And if you do in Java:

> > Node node =
> > gds.index().forNodes("nodeIndex").get("identifier","0").getSingle()
> >
> > then node is the user you want?
> >
> > Yes, that command gives me the user I want. How would I do that in
> cypher?
>

The query above is correct, you version is off.


> > I'm not sure if that makes a difference, did you index your identifiers
> as
> > Strings or numeric values?
> >
> I set the properties of the node as byte [ ], and then the properties are
> auto-indexed.


Why are you storing byte arrays? You know that you can store numbers and
strings, right? Byte arrays are hard to query from Cypher.

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


Re: [Neo4j] Confirming existence of relationship between two nodes

2011-11-15 Thread Gulshan Singh
>
> What version of Neo4j are you using? This query is valid syntax for 1.4.x
>> and 1.5.M01.
>>
>> I'm using version 1.4.1
>
>
>> Later you would want to use:
>>
>> > start a=node:nodeIndex(identifier='0') return a
>>
>> I tried that and got the error:
>
>  org.neo4j.cypher.SyntaxException: `<' expected but `n' found
>>
>>  at org.neo4j.cypher.parser.CypherParser.parse(CypherParser.scala:75)
>>
>>  at org.neo4j.cypher.javacompat.CypherParser.parse(CypherParser.java:39)
>>
>>  at
>>> org.whispercomm.manes.server.graph.IntegrationTest.cypherTest(IntegrationTest.java:83)
>>
>>
> And if you do in Java:
>> Node node =
>> gds.index().forNodes("nodeIndex").get("identifier","0").getSingle()
>>
>> then node is the user you want?
>>
>> Yes, that command gives me the user I want. How would I do that in cypher?
>
>
>> I'm not sure if that makes a difference, did you index your identifiers
>> as Strings or numeric values?
>>
> I set the properties of the node as byte [ ], and then the properties are
> auto-indexed.
>
>
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Server plugin running into memory limits

2011-11-15 Thread Peter Neubauer
Anders,
how many items are you holding in that representation list? Also, it could
be that the deserialization is taking up memory. Can you test just
returning a constant string (not building up memory) and check if that
changes anything? In that case we could track it down to the REST String
building ...

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  - NOSQL for the Enterprise.
http://startupbootcamp.org/- Öresund - Innovation happens HERE.


2011/11/15 Anders Lindström 

>
> Hi all,
> I'm currently writing a server plugin. I need it to make some specialized
> queries that are not supported by the standard REST API. The important
> methods I expose are 'query' and 'get_next_page', the latter to support
> results pagination (i.e. the plugin is stateful).
> In 'query', I run my query against the Neo4j backend, and store a Node
> iterator to the query results (this is either an iterator originating from
> 'getAllNodes', or a Lucene IndexHits instance). In 'get_next_page', I
> run through the next N items of the iterator and return these as a
> ListRepresentation. The same iterator object is kept across all page
> retrievals, but of course stepped forward N steps for every invocation.
> After having gone through all pages, the reference to the Node iterator is
> removed.
> Now, as I understand it, all the heap space I should be concerned about
> using, is the one I allocate locally in my methods, since the referenced
> stored to the iterator object is just a tiny reference, and iterator
> results are fetched lazily (i.e., even though the iterator covers a result
> set greater than the allotted heap size, I shall be able to page through it
> within given heap space if the page size is small enough). But when I run
> my plugin, this does not seem to be the case. I can make several successful
> calls in a row to 'get_next_page', but then after a while bump into "GC
> overhead limit exceeded" which I cannot quite understand. I am rather
> certain the size of each page returned is within the allotted heap size.
> For some reason the heap usage seems to grow with the calls to
> 'get_next_page' which I cannot understand, given my understanding of the
> Node iterators from Neo4j.
> How do I avoid hitting this GC overhead limit? Am I missing something?
> (And yes, I've tried using different values of the allowed heap space by
> fiddling in the conf-files, and sure I can give tons of memory to the
> instance, and then it works, but I shouldn't have to give more heap space
> than what Neo4j "needs", plus my page size).
> Thanks!
> Regards,Anders
>
> ___
> 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] Server plugin running into memory limits

2011-11-15 Thread Anders Lindström

And sometimes I get the 'Error 500 Java heap space' too. I don't know if this 
is a separate problem or if it's the same. (And this can happen after several 
pages have already been fetched, which I find peculiar.)

From: andli...@hotmail.com
To: user@lists.neo4j.org
Subject: Server plugin running into memory limits
Date: Tue, 15 Nov 2011 14:11:18 +0100








Hi all,
I'm currently writing a server plugin. I need it to make some specialized 
queries that are not supported by the standard REST API. The important methods 
I expose are 'query' and 'get_next_page', the latter to support results 
pagination (i.e. the plugin is stateful).
In 'query', I run my query against the Neo4j backend, and store a Node iterator 
to the query results (this is either an iterator originating from 
'getAllNodes', or a Lucene IndexHits instance). In 'get_next_page', I run 
through the next N items of the iterator and return these as a 
ListRepresentation. The same iterator object is kept across all page 
retrievals, but of course stepped forward N steps for every invocation. After 
having gone through all pages, the reference to the Node iterator is removed.
Now, as I understand it, all the heap space I should be concerned about using, 
is the one I allocate locally in my methods, since the referenced stored to the 
iterator object is just a tiny reference, and iterator results are fetched 
lazily (i.e., even though the iterator covers a result set greater than the 
allotted heap size, I shall be able to page through it within given heap space 
if the page size is small enough). But when I run my plugin, this does not seem 
to be the case. I can make several successful calls in a row to 
'get_next_page', but then after a while bump into "GC overhead limit exceeded" 
which I cannot quite understand. I am rather certain the size of each page 
returned is within the allotted heap size. For some reason the heap usage seems 
to grow with the calls to 'get_next_page' which I cannot understand, given my 
understanding of the Node iterators from Neo4j.
How do I avoid hitting this GC overhead limit? Am I missing something?
(And yes, I've tried using different values of the allowed heap space by 
fiddling in the conf-files, and sure I can give tons of memory to the instance, 
and then it works, but I shouldn't have to give more heap space than what Neo4j 
"needs", plus my page size).
Thanks!
Regards,Anders

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


[Neo4j] Server plugin running into memory limits

2011-11-15 Thread Anders Lindström

Hi all,
I'm currently writing a server plugin. I need it to make some specialized 
queries that are not supported by the standard REST API. The important methods 
I expose are 'query' and 'get_next_page', the latter to support results 
pagination (i.e. the plugin is stateful).
In 'query', I run my query against the Neo4j backend, and store a Node iterator 
to the query results (this is either an iterator originating from 
'getAllNodes', or a Lucene IndexHits instance). In 'get_next_page', I run 
through the next N items of the iterator and return these as a 
ListRepresentation. The same iterator object is kept across all page 
retrievals, but of course stepped forward N steps for every invocation. After 
having gone through all pages, the reference to the Node iterator is removed.
Now, as I understand it, all the heap space I should be concerned about using, 
is the one I allocate locally in my methods, since the referenced stored to the 
iterator object is just a tiny reference, and iterator results are fetched 
lazily (i.e., even though the iterator covers a result set greater than the 
allotted heap size, I shall be able to page through it within given heap space 
if the page size is small enough). But when I run my plugin, this does not seem 
to be the case. I can make several successful calls in a row to 
'get_next_page', but then after a while bump into "GC overhead limit exceeded" 
which I cannot quite understand. I am rather certain the size of each page 
returned is within the allotted heap size. For some reason the heap usage seems 
to grow with the calls to 'get_next_page' which I cannot understand, given my 
understanding of the Node iterators from Neo4j.
How do I avoid hitting this GC overhead limit? Am I missing something?
(And yes, I've tried using different values of the allowed heap space by 
fiddling in the conf-files, and sure I can give tons of memory to the instance, 
and then it works, but I shouldn't have to give more heap space than what Neo4j 
"needs", plus my page size).
Thanks!
Regards,Anders
  
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] zero fromDepth and toDepth

2011-11-15 Thread Peter Neubauer
Done,
enjoy!  https://github.com/neo4j/community/issues/80

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  - NOSQL for the Enterprise.
http://startupbootcamp.org/- Öresund - Innovation happens HERE.


On Thu, Nov 3, 2011 at 10:08 PM, Peter Neubauer <
peter.neuba...@neotechnology.com> wrote:

> We can do this after 1.5.
>
> 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  - NOSQL for the Enterprise.
> http://startupbootcamp.org/- Öresund - Innovation happens HERE.
>
>
>
> On Thu, Nov 3, 2011 at 12:28 PM, Mattias Persson
>  wrote:
> > Sure, but implementations using it will break then. Maybe not this close
> to
> > release? hard decision.
> >
> > 2011/11/3 Peter Neubauer 
> >
> >> So,
> >> do we fix the implementation to match (see
> >> https://github.com/neo4j/community/issues/80) or adjust the JavaDoc? I
> >> kinda think it makes sense to change the code, have written tests for
> >> it.
> >>
> >> 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  - NOSQL for the Enterprise.
> >> http://startupbootcamp.org/- Öresund - Innovation happens HERE.
> >>
> >>
> >>
> >> On Thu, Nov 3, 2011 at 12:21 AM, Mattias Persson
> >>  wrote:
> >> > Right, the toDepth implementation isn't matching the javadoc and it
> is a
> >> > bit confusing.
> >> >
> >> > 2011/11/3 Alex 
> >> >
> >> >> Done:
> >> >>
> >> >>
> >> >>
> >>
> http://neo4jdb.lighthouseapp.com/projects/77609-neo4j-community/tickets/17-consisnte-behavior-of-fromdepth-todepth-and-atdepth
> >> >>
> >> >> there's a typo in the title... time to get some sleep :)
> >> >>
> >> >> Alex
> >> >>
> >> >> --
> >> >> View this message in context:
> >> >>
> >>
> http://neo4j-community-discussions.438527.n3.nabble.com/zero-fromDepth-and-toDepth-tp3474825p3476080.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
> >> >>
> >> >
> >> >
> >> >
> >> > --
> >> > 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
> >
>
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


[Neo4j] Time Series Data with complex domain model

2011-11-15 Thread s1ck
Hey,

I have a very complex domain model which can be perfectly mapped into the
neo4j database. OR Mapping is much too complex for the model... The data
itself is time series data from multiple sensors which needs to be stored
and retrieved (at given timestamps or in given ranges). Are there any good
explanations, articles or something else on how to handle this kind of data?
The second question is: What's the best way to model a domain in neo4j? I
currently use the aproach described in the 
http://docs.neo4j.org/chunked/milestone/tutorials-java-embedded-entities.html
documentation  and will also try out the spring graph.

Best regards,

Martin 

--
View this message in context: 
http://neo4j-community-discussions.438527.n3.nabble.com/Time-Series-Data-with-complex-domain-model-tp3509252p3509252.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] Copy queries from the web admin console?

2011-11-15 Thread Peter Neubauer
So, I am able to copy and paste - do you have a screenshot or so on what
you are trying 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  - NOSQL for the Enterprise.
http://startupbootcamp.org/- Öresund - Innovation happens HERE.


On Mon, Nov 14, 2011 at 1:01 AM, yobi  wrote:

> It's really hard for me to copy the CQL queries from the web admin console.
>
> Could this be a feature added?
>
> --
> View this message in context:
> http://neo4j-community-discussions.438527.n3.nabble.com/Copy-queries-from-the-web-admin-console-tp3505510p3505510.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] Paths with null?

2011-11-15 Thread Peter Neubauer
The void is spreading. Beware.

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  - NOSQL for the Enterprise.
http://startupbootcamp.org/- Öresund - Innovation happens HERE.


On Tue, Nov 15, 2011 at 8:50 AM, Mattias Persson
wrote:

> That may be a good solution, because you could not treat such a path (if it
> were to have null in it somewhere) in a normal fashion anyway.
>
> 2011/11/15 Andres Taylor 
>
> > I just realized the obviousness of the truth.
> >
> > The optional bit is viral - it spreads out if it can. So, a path pointing
> > to an optional relationship, is it self optional. Just like nodes hanging
> > from an optional relationship are also optional.
> > So, if the path happens to have any null parts, the whole path is null.
> >
> > Makes sense?
> >
> > Andrés
> >
> > On Sun, Nov 13, 2011 at 1:11 PM, Mattias Persson
> > wrote:
> >
> > > A Path with null in it doesn't make much sense to me. I'd prefer b)
> also.
> > >
> > > Den lördagen den 12:e november 2011 skrev Andres Taylor<
> > > andres.tay...@neotechnology.com>:
> > > > On Sat, Nov 12, 2011 at 3:02 PM, D. Frej 
> wrote:
> > > >
> > > >> to understand the question correctly: is it something like
> > > >> (a)-[:REL_TYPE*0..1]->(b)
> > > >>
> > > >
> > > > Sorry for not being clearer...
> > > >
> > > > No, that pattern is safe - it will never contain a null. The optional
> > > > relationships have a question mark in them, like this:
> > > >
> > > >  (a)-[?:REL_TYPE]->(b)
> > > >
> > > > Andrés
> > > > ___
> > > > 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
>
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user