Re: [Neo4j] Clear database over REST

2011-12-06 Thread Krzysztof Raczyński
Hello Michael, I glanced through plugin's source code, and spank me if
i'm wrong, but is the plugging limited to removing only 1k nodes at a
time?

https://github.com/jexp/neo4j-clean-remote-db-addon/blob/master/src/main/java/org/neo4j/server/extension/test/delete/DeleteDatabaseResource.java#L58

calls

https://github.com/jexp/neo4j-clean-remote-db-addon/blob/master/src/main/java/org/neo4j/server/extension/test/delete/Neo4jDatabaseCleaner.java#L32

With a 1k limit. Maybe it's just a type, and you intended to use the
parameter-less version of the function?

cheers and thanks for answers
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


[Neo4j] REST Traversal and prune evaluators

2011-12-02 Thread Krzysztof Raczyński
Hello folks, i've been trying to prune based on number of outgoing
relationships, but so far i am stumped,
since org.neo4j.graphdb.Node interface doesn't expose any way to count
outgoing relationships. Traversal is for
tree visualisation, and i want to avoid creating too much of a
clutter, hence the outgoing relationship limit. My code right now:

t = neo4j.TraversalDescription().\
max_depth(3).relationships('rel_type','out').\
prune('javascript','position.endNode().getProperty("some_property")
>= 192')

I would like to prune nodes that have more than 10 outgoing relationships.

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


Re: [Neo4j] CQL find by name

2011-12-01 Thread Krzysztof Raczyński
In my opinion, the current syntax reminds me of SQL, which is a good
thing. All the newbies like me can easily wrap their head around the
concepts, without much problem. Since you can't do an actual
assignment in Cypher (please correct me if i am wrong), an equal sign
clearly means comparison only.
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Cypher Query Optimizing

2011-11-30 Thread Krzysztof Raczyński
> START n=node(119) MATCH n-[:CO_S]->m, n-[:CO_S]-> t, m-[r:CO_S]-> t
> return m.w_id, t.w_id, r.sig, r.freq
> took: 644ms (average of 100 runs after 10 warmups)
>
Can you try using shortestPath cypher function for m->t ?
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Cypher Query Optimizing

2011-11-30 Thread Krzysztof Raczyński
It is fairly well known that cypher queries are not (yet) optimised.
If speed is a concern for you, try using traversal API, i can confirm
it is much faster than cypher.

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


Re: [Neo4j] Scalability Roadmap

2011-11-19 Thread Krzysztof Raczyński
Great, since my schema is a tree (1 incoming, up to hundred of
outcoming) i was worried about that.
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Scalability Roadmap

2011-11-19 Thread Krzysztof Raczyński
On Sat, Nov 19, 2011 at 11:20 AM, Mattias Persson
 wrote:
> 2011/11/18 serge 
> Specifically what's bad about how they are handled is that to get any
> relationship from a node they all have to be loaded once first into cache,
> regardless of which type you requested.

Does this also pertain to relationship direction? If, f.e. i request
only inbound relationships, are outbound relationships loaded too?
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Batch Insert : poooor performance

2011-11-18 Thread Krzysztof Raczyński
Btw, inserting 600k nodes over REST with about 8 properties in batches
of 100 takes 20-30minutes for me. It's not awesomely fast, but it's
not slow either. What settings are affecting insertion speeds, Peter?
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Batch Insert : poooor performance

2011-11-18 Thread Krzysztof Raczyński
Of course providing some more context would be poor too? How are
we supposed to know what's the problem?
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Record not in use problem and solution

2011-11-17 Thread Krzysztof Raczyński
Does this problem occur with automatic node indexing?
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Traversing performance

2011-11-16 Thread Krzysztof Raczyński
It all depends on task at hand. Personally, i've had most success with
REST API, which allows you to define your own prune evaluators and
filters. With prune evaluators you an easily exclude nodes from
traversing, based on your rules. Although my graph is small (600k
nodes, 1.8M properties), i've succesfully got sub 200ms times when
traversing entire tree from the top (of course with prune evaluators).

The sql-like language you are speaking about is surely Cypher Query
Language ( http://docs.neo4j.org/chunked/snapshot/cypher-query-lang.html
). It is also great for some basic sql-like queries to neo4j. It
unfortunately isn't as flexible as node traverse api, but for simple
data retrieval there's nothing better.

Hope that helps
___
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 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 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 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] Neo4J 1.4.2 on Ubuntu 11.04

2011-10-20 Thread Krzysztof Raczyński
It is worth a try. Remember that on linux, memory mapped files are
allocated outside of JVM heap, so when calculating total memory usage
add whatever you configured to the JVM heap.

Database size on hdd doesn't mean much, mine is 80megs, but when all
nodes are cached (and usually they are) it can take up to 3 gigs.

On Fri, Oct 21, 2011 at 12:27 AM, fernandobr  wrote:
> Thanks for the answer. I'm using Neo4J embedded and I didn't change the
> default configuration. I just started the database by doing this:
> GraphDatabaseService targetDB = new
> EmbeddedGraphDatabase("/home/fmagalhaes/GraphDB/DistDB");
>
> I'm not creating a HashMap to set properties like described here:
> http://docs.neo4j.org/chunked/milestone/configuration-introduction.html
> http://docs.neo4j.org/chunked/milestone/configuration-introduction.html . Do
> you think this can be the problem?
>
> I'm running this program on a computer with 4 GB of memory and I'm working
> with a relatively small graph (database has around 20 MB).
>
> --
> View this message in context: 
> http://neo4j-community-discussions.438527.n3.nabble.com/Neo4J-1-4-2-on-Ubuntu-11-04-tp3439028p3439197.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 1.4.2 on Ubuntu 11.04

2011-10-20 Thread Krzysztof Raczyński
What is your memory mapped files configuration? Are you sure you
aren't running out of memory?

On Thu, Oct 20, 2011 at 11:14 PM, fernandobr  wrote:
> Hi, I'm having some trouble using Neo4J in Ubuntu 11.04 Linux OS. The program
> I've writen works fine under Windows 7 but when I tried to run it at Linux
> I'm experiencing some problems:
>
> org.neo4j.kernel.impl.nioneo.store.PersistenceWindowPool logWarn
> WARNING:
> [/home/fmagalhaes/Coppe/GraphBD/CineastDB/neostore.propertystore.db.index]
> Unable to memory map
>
> Oct 20, 2011 6:59:17 PM
> org.neo4j.kernel.impl.nioneo.store.PersistenceWindowPool logWarn
> WARNING:
> [/home/fmagalhaes/Coppe/GraphBD/CineastDB/neostore.propertystore.db.index.keys]
> Unable to memory map
>
> as soon as my program reaches these line of code:
>
> GraphDatabaseService sourceDb = new
> EmbeddedReadOnlyGraphDatabase("/home/fmagalhaes/GraphDB/CineastDB");
> GraphDatabaseService targetDb = new
> EmbeddedGraphDatabase("/home/fmagalhaes/GraphDB/DistDB");
>
> After this warning message the program starts, but at a later point I keep
> receiving these error messages:
>
> WARNING:
> [/home/fmagalhaes/GraphDB/CineastDB/neostore.propertystore.db.strings]
> Unable to memory map
> org.neo4j.kernel.impl.nioneo.store.MappedMemException: Unable to map
> pos=659456 recordSize=133 totalSize=136192
>        at
> org.neo4j.kernel.impl.nioneo.store.MappedPersistenceWindow.(MappedPersistenceWindow.java:61)
>        at
> org.neo4j.kernel.impl.nioneo.store.PersistenceWindowPool.allocateNewWindow(PersistenceWindowPool.java:603)
>        at
> org.neo4j.kernel.impl.nioneo.store.PersistenceWindowPool.refreshBricks(PersistenceWindowPool.java:501)
>        at
> org.neo4j.kernel.impl.nioneo.store.PersistenceWindowPool.acquire(PersistenceWindowPool.java:128)
>        at
> org.neo4j.kernel.impl.nioneo.store.CommonAbstractStore.acquireWindow(CommonAbstractStore.java:526)
>        at
> org.neo4j.kernel.impl.nioneo.store.AbstractDynamicStore.getLightRecords(AbstractDynamicStore.java:425)
>        at
> org.neo4j.kernel.impl.nioneo.store.PropertyStore.getRecord(PropertyStore.java:362)
>        at
> org.neo4j.kernel.impl.nioneo.xa.ReadTransaction.loadPropertyValue(ReadTransaction.java:208)
>        at
> org.neo4j.kernel.impl.persistence.PersistenceManager.loadPropertyValue(PersistenceManager.java:87)
>        at
> org.neo4j.kernel.impl.core.NodeManager.loadPropertyValue(NodeManager.java:602)
>        at
> org.neo4j.kernel.impl.core.Primitive.getPropertyValue(Primitive.java:544)
>        at org.neo4j.kernel.impl.core.Primitive.getProperty(Primitive.java:160)
>        at org.neo4j.kernel.impl.core.NodeProxy.getProperty(NodeProxy.java:145)
>        ...
>
> Can someone help me with this problem? Thanks!
>
> --
> View this message in context: 
> http://neo4j-community-discussions.438527.n3.nabble.com/Neo4J-1-4-2-on-Ubuntu-11-04-tp3439028p3439028.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