Josh,
the docs are now at
http://docs.neo4j.org/chunked/snapshot/rest-api-graph-algos.html
Let me know if you want to see more, I am planning to put in an
example of Dijkstra, too.
Cheers,
/peter neubauer
GTalk: neubauer.peter
Skype peter.neubauer
Phone +46 704 106975
LinkedIn
Aman,
I think to start with, you probably want to set up indexing on only
the interesting aspects of your CMS and documents, not everything.
Normally, that leads to a much slimmer storage, and better speed in
mutating operations.
Given 50K users, the question is how much index-relevant content
Tatham,
you domain model sounds good. So you should do both things.
First try to use connected graphs for the agencies and try to traverse from the
agency node.
If you need to do index lookups you should always use queries that add the
agency key (which is in the session) to the lucene query
Sorry, mixed up the threads on the iphone :(
Will post an SDG update right ahead.
Michael
Am 15.06.2011 um 05:42 schrieb Vipul Gupta:
Michael,
I don't see anything released on maven repo yet?
Please update.
-VIpul
On Fri, Jun 10, 2011 at 3:40 PM, Michael Hunger
Yes, that's what I managed to do : remaned master to a new branch then
checkout upstream/master in local master.
Thanks.
2011/6/15 Peter Neubauer peter.neuba...@neotechnology.com
Nicolas,
I think you could just make another branch, or rename the master
branch to something else. Then, you
Hello,
I am using neo4j as database in my website. I am having problem in deciding
best way to query the database.
An user buys, lets say pen, from a shop. User and shop are the nodes and pen
is also a node . Relationships are like
User1-buysfrom-shop1
User1-uses-pen
buysfrom and uses are
Ian,
I used your fragments to rebuild your setup, please send a minimal functional
application (it missed the entry-points and also the startup-html files) next
time, that will help a lot in actually looking for the problem instead taking a
lot of time setting it up.
It turned out that your
Dear Graphistas,
After some quiet time that I spend on other important issues, we're back on our
regular release cycle/rhythm.
We discussed the future SDG roadmap with our CEO Emil and decided to work first
on the issues that were
reported by our users here on the mailing list, on the spring
2011/5/28 Chris Baranowski pharcos...@gmail.com
Nice, yeah that's what I was thinking too. So then did you bother with
subreferences for node types or just keep your approach consistent by
using indexes for nodes as well?
Also, iterating over the values of an index is a little more
Peter,
The project requires quick retrieval of data bases upon certain parameters,
which, without indexing, would not be feasible (as the relations that hold
the data are all same, so simple traversals won't work). As I said earlier,
I would have to extract data based upon combination of some
Matt,
what URL are you using to create the timeline? I don't recall that
being exposed via REST ...
Cheers,
/peter neubauer
GTalk: neubauer.peter
Skype peter.neubauer
Phone +46 704 106975
LinkedIn http://www.linkedin.com/in/neubauer
Twitter
Could you perhaps fire up VisualVM http://visualvm.java.net/ and ask it to
sample the heap while running? It will tell you exactly what type of objects
are allocated the most and how much heap everything takes. Any profiler
would suffice, but I really like that one.
2011/6/2 Paul Bandler
2011/6/3 Rick Bullotta rick.bullo...@thingworx.com
Alternatively, if we could have the composite index functionality I
described in a few previous e-mails (mix timestamp, textual and other
numeric key/values in the same index) - e.g. a Lucene timeline index with
extra keys, that might work
Hello,
I am using neo4j as database in my website. I am having problem in deciding
best way to query the database.
An user buys, lets say pen, from a shop. User and shop are the nodes and pen
is also a node . Relationships are like
User1-buysfrom-shop1
User1-uses-pen
buysfrom and uses are
Done!
- Reply message -
From: Mattias Persson matt...@neotechnology.com
Date: Wed, Jun 15, 2011 7:14 am
Subject: [Neo4j] In-graph Timeline index and Neo4j 1.4
To: Neo4j user discussions user@lists.neo4j.org
2011/6/3 Rick Bullotta rick.bullo...@thingworx.com
Alternatively, if we could
Rick,
there is always a network transfer going on, but of course in the
localhost case this is over loopback. Any particular reason you only
want file operations to be involved?
Cheers,
/peter neubauer
GTalk: neubauer.peter
Skype peter.neubauer
Phone +46 704 106975
LinkedIn
McKinley,
we are just in the process of adding index hits as starting points to
Cypher, which will then do exactly what you are asking. No ETA yet,
but that is high on the list and will show up in the docs :)
Cheers,
/peter neubauer
GTalk: neubauer.peter
Skype peter.neubauer
Phone
On Wed, Jun 15, 2011 at 1:51 PM, Peter Neubauer
peter.neuba...@neotechnology.com wrote:
McKinley,
we are just in the process of adding index hits as starting points to
Cypher, which will then do exactly what you are asking. No ETA yet,
but that is high on the list and will show up in the
Peter,
Thanks, that is all very useful for me. For future reference, is it safe to
assume that all multi-word data properties (default_cost, cost_property,
etc.) will be _ separated? Or will some be separated, like max
depth? Is there a plan to standardize?
-- Josh
Message: 5
Date:
I have a few Part nodes related with each via HASPART
relationship/edges.
(eg Part1---HASPART---Part2---HASPART---Part3 etc) .
TraversalDescription works fine, following each Part's outgoing HASPART
relationship.
Then I add a large number (say 100.000) of Container Nodes, where each
Container has
Peter,
I believe it was something like
curl -X POST -H Accept:application/json -HContent-Type:application/json -d \
'{name:time, config:{type:timeline,provider:lucene}}' \
http://localhost:7474/db/data/index/node
curl -HContent-Type:application/json -X POST -d \
Rick,
Is there a sensible way to do that while accessing the index via REST?
I'd prefer if I could create *and* access the index via the REST
interface, but just querying and inserting into the index would be
great.
--
Matt Luongo
Co-Founder, Scholr.ly
On Wed, Jun 15, 2011 at 8:55 AM, Rick
Correct, there's nothing special at all with a timeline. It just works its
magic with ValueContext/QueryContext for convenience!
2011/6/9 Rick Bullotta rick.bullo...@thingworx.com
Doh. Forget it. Grokking the code a bit and I see how LuceneTimeline is
just a wrapper around a regular Index.
I guess the other question is how I might accomplish range queries, using REST.
--
Matt Luongo
Co-Founder, Scholr.ly
On Wed, Jun 15, 2011 at 9:05 AM, Matt Luongo m...@scholr.ly wrote:
Rick,
Is there a sensible way to do that while accessing the index via REST?
I'd prefer if I could create
Josh,
well, a while back we changed the whole REST API not to have
whitespace in any keys, so it is safe to assume _ for whitespace, and
report as bugs otherwise :)
Cheers,
/peter neubauer
GTalk: neubauer.peter
Skype peter.neubauer
Phone +46 704 106975
LinkedIn
Peter,
Kind of. I see how I could do that server-side, but not how to insert
elements into the index numerically (with
ValueContext(val).indexNumeric()) or query by range (
.query(QueryContext.numericRange() ) via REST. Is this something
that will require our writing a plugin to support, or
Hi, Matt.
We don't use the REST API (we use Neo4J in an embedded mode), so I can't be of
much help there. If the REST API supports Lucene query syntax, you can use
something like:
timestamp : [1 to 2]
You'd need to do the Date - UTC milliseconds conversion on the
That is rather a case of warming up your caches.
Determining the traversal speed from the first run is not a good benchmark as
it doesn't represent production usage :)
The same (warming up) is true for all kinds of benchmarks (except for startup
performance benchmarks).
Cheers
Michael
Am
I would respectfully disagree that it doesn't necessarily represent production
usage, since in some cases, each query/traversal will be unique and isolated to
a part of a subgraph, so in some cases, a cold query may be the norm
-Original Message-
From: user-boun...@lists.neo4j.org
Matt,
inserting by other than String in
http://docs.neo4j.org/chunked/snapshot/rest-api-indexes.html#rest-api-add-node-to-index
is not supported. A shortcoming. This is probably what your plugin
should be doing in that case. Will add that as a ticket to be tracked.
Could you check what the value of this is?
scala.util.Properties.versionString
Thanks,
Andrés
On Wed, Jun 15, 2011 at 11:41 AM, Pierre De Wilde
pierredewi...@gmail.comwrote:
HiAndrés,
I also suspect that it's a scala version issue, but unfortunately only
scala-library-2.8.1.jar is
Wow, how did I miss that... Well, thanks for your time.
Ian
On 2011-06-15, at 04:06, Michael Hunger michael.hun...@neotechnology.com
wrote:
Ian,
I used your fragments to rebuild your setup, please send a minimal functional
application (it missed the entry-points and also the startup-html
It does- awesome, I didn't realize the query syntax would work for
numeric fields, as well. Now I just need to figure out how to insert
into a numeric field via rest.
--
Matt Luongo
Co-Founder, Scholr.ly
On Wed, Jun 15, 2011 at 10:24 AM, Rick Bullotta
rick.bullo...@thingworx.com wrote:
Hi,
Hi people !
So, I build a plugin just to ease a certain query that's really constant on
my system, but it doesn't seams to work. I built it with maven, the .jar
that it generates is this:
http://www.4shared.com/file/W8_s4LSu/neo4j-customquery-plugin-14M03.html
I put it in the plugins folder in
Depends I would think on how you are putting/posting the data. If via XML or
URL parameters, I can't see how Neo would know whether it was a string or a
number, but if via JSON you should be able to get it in there properly.
Perhaps the REST API should support passing content via either the
Could this also be related to the possibility that in order to determine
relationship type and direction, the relationships need to be loaded from
disk? If so, then having a large number of relationships on the same node
would decrease performance, if the number was large enough to affect the
disk
Or you can use the write locks on nodes to enforce just that. Just grab a
write lock prior to reading/writing to it (writing will grab a write lock
automatically of course). There's no exposed way of grabbing write locks
manually, but removing a non-existent property is a temporary solution. It
Re: [Neo4j] Slow Traversals on Nodes with too many
Relationships
I have to respectfully agree with Rick Bullotta.
I was suspecting the big-O is not linear for this case.
To verify I added x4 Container nodes (400.000) and their appropriate
Relationships, and it is now *unbelievably* slow
Hi,
when we started to evaluate neo4j we made some measurements and for us
it seemed that 50.000 is a magical number: this many relationships and
properties on one node seemed to be a limit, which once reached makes
things slow. But we didn't actually need that much relationship/property
in
Agelos,
sorry, didn't want to sound that way.
512M ram is not very much for larger graphs. Neo4j has to cache nodes,
relationships in the heap as well as you own datastructures.
The memory mapped files for the datastores are kept outside the heap.
Normally with your 4G I'd suggest using
On Wed, Jun 15, 2011 at 2:31 AM, Patrik Sundberg
patrik.sundb...@gmail.comwrote:
On 14 Jun 2011, at 22:51, Michael Hunger
michael.hun...@neotechnology.com wrote:
Patrick,
David Montag created a versioned graph approach on github:
https://github.com/dmontag/neo4j-versioning
Perhaps
Hey all,
We've elevated this thread into a tracked discussion at:
http://help.neo4j.org/discussions/questions/3-neo4j-check-if-node-exists-in-neo4j-index-possible-bug-in-the-remove-function
Feel free to add yourself as a watcher there, and we'll report back here when
it's been resolved.
This
I've came back to look at it, and I had deliberatley taken the jar files out of
the war folder for a smaller transfer between us. I had also specified that in
the email that contained the original archive. I will get back to you and send
the project some time tommorrow.
Cheers,
Ian.
Emailed
Dear all
/ Im' sorry if I cant use the user@lists properly, I am indeed lost :-(
Neo4J would be so much better as a forum or a stackOverNeo4J :-)***/
Allow me to say, that the 50K magic number is not very useful for real
practical modern Social Network apps.
What if there's simply a
Hello neo4j,
I'm trying to run via the gremlin server plugin a query like:
m=[:];n.outE.inV.inE.outV.groupCount(m);m.sort{a,b - b.value =
a.value}; m;
This doesn't output anything. I tried m.keySet() and that doesn't return
anything either.
Any ideas how I could make this work?
-m.
Hi,
The trick to Gremlin is to know that an expression is an Iterator and thus,
must be iterated.
n.outE.inV.inE.outV.groupCount(m);m.sort{a,b - b.value = a.value}
Should be:
n.outE.inV.inE.outV.groupCount(m);m.sort{a,b - b.value = a.value}
-1
-1 is equivalent to
Hey Marko,
Wow, that was an *unbelievably* fast response. Amazing.
Question: where are you setting the variable 'n' ? Is that Gremlin plugin
thing?
It's unrelated to the neo4j plugin. Just an easy way for me to set up a
starting node.
-m.
___
Oops.
n.outE.inV.inE.outV.groupCount(m) -1;m.sort{a,b - b.value = a.value}
NOT
n.outE.inV.inE.outV.groupCount(m);m.sort{a,b - b.value = a.value} -1
I didn't see the semicolon.
Marko.
On Jun 15, 2011, at 1:12 PM, Marko Rodriguez wrote:
Hi,
The trick to Gremlin is to know that an
n.outE.inV.inE.outV.groupCount(m) -1;m.sort{a,b - b.value = a.value}
Yep, this versions runs and returns.
However the returned values from the web interface are different from
the ones via the gremlin plugin.
-m.
___
Neo4j mailing list
Marcelo,
the Gremlin plugin is transforming the results from a query into Neo4j
REST conform structures, while the console is a pure command line
interpreter, outputting strings that are not consumable by clients.
Does that make sense?
Cheers,
/peter neubauer
GTalk: neubauer.peter
Skype
On Tue, Jun 14, 2011 at 9:11 AM, Andres Taylor
andres.tay...@neotechnology.com wrote:
Hi Pierre,
On Tue, Jun 14, 2011 at 1:48 PM, Pierre De Wilde pierredewi...@gmail.com
wrote:
start n=(1) return n
Nothing is returned...
Could you look in the logs for any clues? They are in
Hey Peter,
I think I understand.
So that means I can get a sort listed of nodes (the contents of m keys),
but not the actual number on which the sorting was based (m values)?
-m.
On 06/15/2011 10:46 PM, Peter Neubauer wrote:
Marcelo,
the Gremlin plugin is transforming the results from a
Well,
you get as the result from your expression whatever the last statement
is, since from a script, there is only one return construct. You could
try putting things into a map or so ( both the count and the list of
nodes) and return that?
Alternatively, we could send back all bound variables in
I was doing something wrong on my end. I could see the resulting map but
with different values in the web console from the rest plugin. It turns
out there was a lingering variable in the web console that I forgot to
reset and now I am getting the same values.
Thanks Peter.
-m.
On 06/15/2011
Great!
I plan to upgrade to Gremlin 1.1 tomorrow if the source is with me,
and add support even for the table() return construct, so you can do
the full shebang there :)
Cheers,
/peter neubauer
GTalk: neubauer.peter
Skype peter.neubauer
Phone +46 704 106975
LinkedIn
Agelos,
we are just testing help.neo4j.org, you might try to start a
discussion there if that is more convenient? It's web based and should
read more like a forum if you like that style.
Cheers,
/peter neubauer
GTalk: neubauer.peter
Skype peter.neubauer
Phone +46 704 106975
Tables look great. Just right now googled them.
Will they return something JSON encoded like [ row, row ],
where row is [ hash, hash ]?
-m.
On 06/15/2011 11:13 PM, Peter Neubauer wrote:
Great!
I plan to upgrade to Gremlin 1.1 tomorrow if the source is with me,
and add support even for the
Yes,
I am thinking along the lines of the Cypher return tables, see
http://docs.neo4j.org/chunked/snapshot/cypher-plugin.html in which
there is a column with Node representations, and a column with just a
String, etc.
Cheers,
/peter neubauer
GTalk: neubauer.peter
Skype peter.neubauer
Hi Manav,
I think there's a relationship missing here.
Pen--SOLD_BY--shop
That way it's easy to find all the pens that a shop sold, and who them sold
them to.
In general modelling your domain expressively does not come at an increase cost
with Neo4j (caveat: you can still create write
Hi Josh,
It's a safe assumption that JSON keys will be underscore delimited. If you find
something that isn't consider it a bug and let us know.
Jim
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user
Another common thing to do in this case is create a node for the purchase
action. This node would be related to the purchaser (user), item (pen) and
shop, and would contain data appropriate to the purchase (date/time, price,
etc).
Then traverse from the shop or the pen to all purchase actions
Absolutely! Funny how entities start falling about the woodwork when you think
graphy.
There's a purchase entity that links the specific pen, shopper, and shop too.
You might even boil it down to line items if that makes sense in this domain.
And don't get me going on where the pen was
I understood that on windows the memory mapped sizes needed to be included
in the heap, since they are not allocated outside the heap as they are on
linux/mac. So in this case he needs a larger heap (and make sure the memory
mapped files are much smaller than the heap). The relevant part of the
Angelos,
I spoke with Johan and he said that traversal iterations than scale not
linearly with the numbers of rels indicate a configuration issue or are a bug.
Craig reminded me that on Windows the memory mapped buffers are in the heap.
Could you please increase your heap to 2 or 3 GB an rerun
64 matches
Mail list logo