Re: [Neo4j] Design question: Del.icio.us
Aseem, Which users tagged what? SELECT DISTINCT user_id FROM USER_TAGS WHERE bookmark_id = x Which bookmarks did a user tag? SELECT DISTINCT bookmark_id FROM USER_TAGS WHERE user_id = x Which bookmarks were tagged with x? SELECT DISTINCT bookmark_id FROM USER_TAGS WHERE tag_id = x What question are you trying to answer that you can't get from a relational table? I think it's better to make your model depending on the questions you are trying to answer. I have a similar model (users tagging users) and I needed to answer: Which users have been tagged by me or my network 6 degrees out? What is the tagged distance a user is away from another user? Turns out, all I needed was User nodes with Tagged links. User - tagged - User - tagged - User Everything else I get from the relational db. When I start to care about which users have been tagged for by me or my network 6 degrees out for this KEYWORD, then I'll create a more complex model: User - UserKeyword - tagged - UserKeyword - User Keyword ---/Keyword ---/ Regards, Max On Thu, Jun 9, 2011 at 12:33 AM, Aseem Kishore aseem.kish...@gmail.com wrote: Also forgot to add: now if you want to show all links (globally) for a given tag, how do you do that? Are you indexing each tag-link (as a key-value pair) every time a tag is added? Removing from the index every time a tag is deleted? Thanks, Aseem On Wed, Jun 8, 2011 at 10:31 PM, Aseem Kishore aseem.kish...@gmail.comwrote: I forgot to state this, but a key requirement of tags of course is that you can apply multiple of them to the same link. Would you still go that route then? If you want to delete a link from your bookmarks, it's a matter then of deleting each tag edge? Aseem On Wed, Jun 8, 2011 at 10:28 PM, Siddhartha Kasivajhula countvajh...@gmail.com wrote: Couldn't you use edges for tags instead of nodes? user1 --tag-- link1 user2 --tag-- link1 user1 --tag-- link2 On Wed, Jun 8, 2011 at 10:23 PM, Aseem Kishore aseem.kish...@gmail.com wrote: Hi guys, We're thinking about implementing tags in our system, and we're pondering a few ideas for how we'd go about it, and none of them seem perfect. I'd like to ask you guys: how would you design an analogous case: Del.icio.us? At the core, *users bookmark links*, so it makes sense to have users and links as types of nodes, and bookmark as the type of edge that connects them. Now, you can see all the links a given user has bookmarked, and all the users that have bookmarked a given link. Now users can also *tag* links, of course, but the most interesting requirement is that, when I'm looking at *my links*, I only want to see *my tags*. Thus, tags can't be tied just to links; they have to be tied to users too. But most importantly, you have to maintain *which* user and *which* link *each* tag is for. Thus, it seems most intuitive to us if we could have tags be nodes that *point to the bookmark edges*. Unfortunately, that's a hypergraph, which Neo4j doesn't support. We could use intermediate nodes for bookmarks maybe, but that sort of sucks to lose the intuitiveness of the graph and introduce redundant edges, more complexity which makes consistency harder, etc. We have some other ideas, but I'm curious if any of you guys have thought about this already or have done it, or if you guys have thoughts. Thanks in advance! Aseem ___ 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] Design question: Del.icio.us
Perhaps it is really best to model the bookmark as node as well. Which is how you would model a hypergraph in Neo4j. Then it is natural to have tag nodes pointing to the bookmark node. For instance you want to store when user bookmarked the link, so that you can order his bookmarks (recent first). (This can be done by property + indexing on the relationship, or by having timeline nodes, which connect bookmarks that were added on a given day/hour). Or you want him to be able to have a comment thread on the bookmark (not the link). And more. Cheers Michael Am 09.06.2011 um 08:21 schrieb Max De Marzi Jr.: Aseem, Which users tagged what? SELECT DISTINCT user_id FROM USER_TAGS WHERE bookmark_id = x Which bookmarks did a user tag? SELECT DISTINCT bookmark_id FROM USER_TAGS WHERE user_id = x Which bookmarks were tagged with x? SELECT DISTINCT bookmark_id FROM USER_TAGS WHERE tag_id = x What question are you trying to answer that you can't get from a relational table? I think it's better to make your model depending on the questions you are trying to answer. I have a similar model (users tagging users) and I needed to answer: Which users have been tagged by me or my network 6 degrees out? What is the tagged distance a user is away from another user? Turns out, all I needed was User nodes with Tagged links. User - tagged - User - tagged - User Everything else I get from the relational db. When I start to care about which users have been tagged for by me or my network 6 degrees out for this KEYWORD, then I'll create a more complex model: User - UserKeyword - tagged - UserKeyword - User Keyword ---/Keyword ---/ Regards, Max On Thu, Jun 9, 2011 at 12:33 AM, Aseem Kishore aseem.kish...@gmail.com wrote: Also forgot to add: now if you want to show all links (globally) for a given tag, how do you do that? Are you indexing each tag-link (as a key-value pair) every time a tag is added? Removing from the index every time a tag is deleted? Thanks, Aseem On Wed, Jun 8, 2011 at 10:31 PM, Aseem Kishore aseem.kish...@gmail.comwrote: I forgot to state this, but a key requirement of tags of course is that you can apply multiple of them to the same link. Would you still go that route then? If you want to delete a link from your bookmarks, it's a matter then of deleting each tag edge? Aseem On Wed, Jun 8, 2011 at 10:28 PM, Siddhartha Kasivajhula countvajh...@gmail.com wrote: Couldn't you use edges for tags instead of nodes? user1 --tag-- link1 user2 --tag-- link1 user1 --tag-- link2 On Wed, Jun 8, 2011 at 10:23 PM, Aseem Kishore aseem.kish...@gmail.com wrote: Hi guys, We're thinking about implementing tags in our system, and we're pondering a few ideas for how we'd go about it, and none of them seem perfect. I'd like to ask you guys: how would you design an analogous case: Del.icio.us? At the core, *users bookmark links*, so it makes sense to have users and links as types of nodes, and bookmark as the type of edge that connects them. Now, you can see all the links a given user has bookmarked, and all the users that have bookmarked a given link. Now users can also *tag* links, of course, but the most interesting requirement is that, when I'm looking at *my links*, I only want to see *my tags*. Thus, tags can't be tied just to links; they have to be tied to users too. But most importantly, you have to maintain *which* user and *which* link *each* tag is for. Thus, it seems most intuitive to us if we could have tags be nodes that *point to the bookmark edges*. Unfortunately, that's a hypergraph, which Neo4j doesn't support. We could use intermediate nodes for bookmarks maybe, but that sort of sucks to lose the intuitiveness of the graph and introduce redundant edges, more complexity which makes consistency harder, etc. We have some other ideas, but I'm curious if any of you guys have thought about this already or have done it, or if you guys have thoughts. Thanks in advance! Aseem ___ 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 ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] Unexpected error
Hi All, I'm going to give a try again to my apps on neo4j with the current 1.4.M03 implementations. After a while I got this stack trace for which I hope someone could give me a clue: org.neo4j.graphdb.TransactionFailureException: Unable to commit transaction at org.neo4j.kernel.TopLevelTransaction.finish(TopLevelTransaction.java:104) at my.services.graphdb.Neo4jSourceImpl.addNodes(Neo4jSourceImpl.java:734) at $Neo4jSource_1306fa8fc0b.addNodes($Neo4jSource_1306fa8fc0b.java) at my.services.input.RowLineProcessorImpl.processLogLines(RowLineProcessorImpl.java:86) at $RowLineProcessor_1306fa8fc11.processLogLines($RowLineProcessor_1306fa8fc11.java) at $RowLineProcessor_1306fa8fc0f.processLogLines($RowLineProcessor_1306fa8fc0f.java) at my.services.input.PickUpPollerImpl$DirPoller.run(PickUpPollerImpl.java:168) at java.util.TimerThread.mainLoop(Timer.java:534) at java.util.TimerThread.run(Timer.java:484) Caused by: javax.transaction.HeuristicMixedException: Unable to rollback --- error in commit: java.lang.OutOfMemoryError: Java heap space --- error code for rollback: 0 at org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:669) at org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:588) at org.neo4j.kernel.impl.transaction.TransactionImpl.commit(TransactionImpl.java:107) at org.neo4j.kernel.TopLevelTransaction.finish(TopLevelTransaction.java:85) ... 8 more Caused by: javax.transaction.xa.XAException: Unknown xid[GlobalId[NEOKERNL|9147195978689142839|809], BranchId[ 52 49 52 49 52 49 ]] at org.neo4j.kernel.impl.transaction.xaframework.XaResourceManager.rollback(XaResourceManager.java:470) at org.neo4j.kernel.impl.transaction.xaframework.XaResourceHelpImpl.rollback(XaResourceHelpImpl.java:111) at org.neo4j.kernel.impl.transaction.TransactionImpl.doRollback(TransactionImpl.java:533) at org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:651) ... 11 more This are the command line options used to start the JVM: -Djava.awt.headless=true -XX:MaxPermSize=512m -Xms512m -Xmx2048m The box has 8G of RAM At the time of the exception the db had 4482380 nodes and 94613402 relationships, a lot of my relations goes to a single node. The operations as usual are simple insert in the DB with some checks on Index (RelationalIndex and plain Index). Any help is really appreciated Cheers -- Massimo http://meridio.blogspot.com ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Design question: Del.icio.us
Hi, few notes from the top of my head on how we modeled this in the past: User is a Node Resource (Document) is a Node Tag is a Node (having a label, language property, can be connected via relationships to other Tag Nodes representing its synonyms, can become a concept in (tree-)structured thesauri, etc...) Scenario: User U tags Resource R with Tag T: - Create special 'TaggingEvent' TE Node, with timestamp property and connect it to U, R and T by creating [TE, U], [TE, R] and [TE, T] relationships - TE nodes are indexed by timestamp, allowing to easily generate 'Tag activity streams' for different contexts - for users, resources or even tags (if it makes sense) - create some additional relationship(s) as needed between [U, T], [U, R] and [T, R] to simplify graph traversals and also to aggregate/cache the information like 'how many times was given R tagged with given T ~ this is f.e. expressed by some 'weight' property on the [T,R] relationship - and comes handy for generating things like tag clouds (~ get all [T,R] relationships with their weights) Scenario: User U bookmarks Resource R: - here it may be enough to create only [U,R] relationship with properties like timestamp, but we followed similar model as above - create special 'BookmarkEvent' Node BE, with timestamp and ralationships [BE, U] and [BE, R] and [U,R] - this again allows to easily create bookmarking activity streams, or to mix tagging+bookmarking events into one stream, if there is a requirement to do so. That's about it. Hope this helps. Regards, Josef. -- www.subject.cz __ Od: Max De Marzi Jr. maxdema...@gmail.com Komu: Neo4j user discussions user@lists.neo4j.org Datum: 09.06.2011 08:21 Předmět: Re: [Neo4j] Design question: Del.icio.us Aseem, Which users tagged what? SELECT DISTINCT user_id FROM USER_TAGS WHERE bookmark_id = x Which bookmarks did a user tag? SELECT DISTINCT bookmark_id FROM USER_TAGS WHERE user_id = x Which bookmarks were tagged with x? SELECT DISTINCT bookmark_id FROM USER_TAGS WHERE tag_id = x What question are you trying to answer that you can't get from a relational table? I think it's better to make your model depending on the questions you are trying to answer. I have a similar model (users tagging users) and I needed to answer: Which users have been tagged by me or my network 6 degrees out? What is the tagged distance a user is away from another user? Turns out, all I needed was User nodes with Tagged links. User - tagged - User - tagged - User Everything else I get from the relational db. When I start to care about which users have been tagged for by me or my network 6 degrees out for this KEYWORD, then I'll create a more complex model: User - UserKeyword - tagged - UserKeyword - User Keyword ---/Keyword ---/ Regards, Max On Thu, Jun 9, 2011 at 12:33 AM, Aseem Kishore aseem.kish...@gmail.com wrote: Also forgot to add: now if you want to show all links (globally) for a given tag, how do you do that? Are you indexing each tag-link (as a key-value pair) every time a tag is added? Removing from the index every time a tag is deleted? Thanks, Aseem On Wed, Jun 8, 2011 at 10:31 PM, Aseem Kishore aseem.kish...@gmail.comwrote: I forgot to state this, but a key requirement of tags of course is that you can apply multiple of them to the same link. Would you still go that route then? If you want to delete a link from your bookmarks, it's a matter then of deleting each tag edge? Aseem On Wed, Jun 8, 2011 at 10:28 PM, Siddhartha Kasivajhula countvajh...@gmail.com wrote: Couldn't you use edges for tags instead of nodes? user1 --tag-- link1 user2 --tag-- link1 user1 --tag-- link2 On Wed, Jun 8, 2011 at 10:23 PM, Aseem Kishore aseem.kish...@gmail.com wrote: Hi guys, We're thinking about implementing tags in our system, and we're pondering a few ideas for how we'd go about it, and none of them seem perfect. I'd like to ask you guys: how would you design an analogous case: Del.icio.us? At the core, *users bookmark links*, so it makes sense to have users and links as types of nodes, and bookmark as the type of edge that connects them. Now, you can see all the links a given user has bookmarked, and all the users that have bookmarked a given link. Now users can also *tag* links, of course, but the most interesting requirement is that, when I'm looking at *my links*, I only want to see *my tags*. Thus, tags can't be tied just to links; they have to be tied to users too. But most importantly, you have to maintain *which* user and *which* link *each* tag is for. Thus, it seems most intuitive to us if we could have tags be nodes that *point to the bookmark edges*. Unfortunately, that's a hypergraph, which Neo4j doesn't support. We could use intermediate nodes for bookmarks maybe, but that sort of sucks to lose the
Re: [Neo4j] How to embed neo4j to OSGI env without spring?
Nicolas, I have now a failing testcase (albeit using snapshot versions of PAX stuff, trying to relax that ASAP) at https://github.com/neo4j/neo4j-osgi-examples that exposes the IndexProvider not being found in OSGi environments. Is your fork of Neo4j Community fixing this issue? In that case, it would be great to verify it against the testcase and merge it in! 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, Jun 2, 2011 at 10:33 AM, Nicolas Jouanin nicolas.joua...@gmail.com wrote: Hi, This page may help you : http://wiki.escapek.org/display/DEV/Neo4j+community+edition+installation Le 2 juin 2011 à 09:30, Super Wang a écrit : I've tried to expose org.neo4j.graphdb.GraphDatabaseService as a service component directly and use a delegate class as implementation, but failed... On Thu, Jun 2, 2011 at 12:34, Andreas Kollegger andreas.kolleg...@neotechnology.com wrote: Hey, The Neo4j libraries should be usable within OSGi, though we're a bit lax in keeping on top of that. The best approach would be to use one bundle to instantiate the database and advertise the reference as a service for use by other bundles. Cheers, Andreas On Jun 1, 2011, at 8:25 PM, Super Wang wrote: Hi folks, I'm new to neo4j and I'm going to embed neo4j to my OSGI environment(without Spring) as a component, so I can keep a single instance of graph database and can make it available for all other bundles. Any ideas about how to implement this? Thank you very much. ___ 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 ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] Speeding up initial import of graph
Hi all, I'm struggling with importing a graph with about 10m nodes and 20m relationships, with nodes having 0 to 10 relationships. Creating the nodes takes about 10 minutes, but creating the relationships is slower by several orders of magnitude. I'm using a 2.4 GHz i7 MacBookPro with 4GB RAM and conventional HDD. The graph is stored as adjacency list in a text file where each line has this form: Foo|Bar|Baz (Node Foo has relations to Bar and Baz) My current approach is to iterate over the whole file twice. In the first run, I create a node with the property name for the first entry in the line (Foo in this case) and add it to an index. In the second run, I get the start node and the end nodes from the index by name and create the relationships. My code can be found here: http://pastie.org/2041801 With my approach, the best I can achieve is 100 created relationships per second. I experimented with mapped memory settings, but without much effect. Is this the speed I can expect? Any advice on how to speed up this process? Best regards, Daniel Hepper ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Speeding up initial import of graph
I too am experiencing similar problems - possibly worse than you're seeing as I am using a very modestly provisioned windows m/c (1.5Gb ram, setting max heap to 1Gb, oldish processor). I found that using the BatchInserter for loading nodes the heap grew and grew until when it was exhausted everything ground to a halt practically. I experimented with various settings of the cache memory but nothing made much difference. So now I reset the BatchInserter (i.e. shutdown and re-start it) ever 100,000 nodes or so. I posted questions on the list before but the replies seemed to suggest that it was just a config issue - but no config changes I made helped much. I get the impression that most people are using Neo4j with hugely larger memory footprints than I can realistically expect to use at this stage and so maybe that is why this problem may not receive much attention. I have a similar approach to you for relationships - i.e. creating them in a second pass. I'm not sure how memory hungry it is, but again have built a class that resets the inserters every 100,000 relationships. It is slow, but experimenting with my 'reset' size, didn't make much difference so I'm suspecting that its limited by index access time. Effectively I suspect it's going to disk for every index look up that it sees for the first time, and also suspect that the size of the index might make a difference as I have over 3m nodes in some indexes and these are the ones that are very slow. I suspect there might be some tuning that can be done, and I really think the problem with running out of heap is probably a bug that should be fixed, but am now turning my attention to finding ways of creating relationships when the initial nodes are created (at least for those for which this is possible) to avoid the index lookup overhead... I'll let you know if/how this helps, but am also interested to learn of others experience. On 9 Jun 2011, at 10:59, Daniel Hepper wrote: Hi all, I'm struggling with importing a graph with about 10m nodes and 20m relationships, with nodes having 0 to 10 relationships. Creating the nodes takes about 10 minutes, but creating the relationships is slower by several orders of magnitude. I'm using a 2.4 GHz i7 MacBookPro with 4GB RAM and conventional HDD. The graph is stored as adjacency list in a text file where each line has this form: Foo|Bar|Baz (Node Foo has relations to Bar and Baz) My current approach is to iterate over the whole file twice. In the first run, I create a node with the property name for the first entry in the line (Foo in this case) and add it to an index. In the second run, I get the start node and the end nodes from the index by name and create the relationships. My code can be found here: http://pastie.org/2041801 With my approach, the best I can achieve is 100 created relationships per second. I experimented with mapped memory settings, but without much effect. Is this the speed I can expect? Any advice on how to speed up this process? Best regards, Daniel Hepper ___ 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] Speeding up initial import of graph
Hi Daniel, I am working currently on a tool for importing big data sets into Neo4j graphs. The main problem in such operations is that the usual index implementations are just too slow for retrieving the mapping from keys to created node ids, so a custom solution is needed, that is dependent to a varying degree on the distribution of values of the input set. While your dataset is smaller than the data sizes i deal with, i would like to use it as a test case. If you could provide somehow the actual data or something that emulates them, I would be grateful. If you want to see my approach, it is available here https://github.com/digitalstain/BigDataImport The core algorithm is an XJoin style two-level-hashing scheme with adaptable eviction strategies but it is not production ready yet, mainly from an API perspective. You can contact me directly for any details regarding this issue. cheers, CG On Thu, Jun 9, 2011 at 12:59 PM, Daniel Hepper daniel.hep...@gmail.com wrote: Hi all, I'm struggling with importing a graph with about 10m nodes and 20m relationships, with nodes having 0 to 10 relationships. Creating the nodes takes about 10 minutes, but creating the relationships is slower by several orders of magnitude. I'm using a 2.4 GHz i7 MacBookPro with 4GB RAM and conventional HDD. The graph is stored as adjacency list in a text file where each line has this form: Foo|Bar|Baz (Node Foo has relations to Bar and Baz) My current approach is to iterate over the whole file twice. In the first run, I create a node with the property name for the first entry in the line (Foo in this case) and add it to an index. In the second run, I get the start node and the end nodes from the index by name and create the relationships. My code can be found here: http://pastie.org/2041801 With my approach, the best I can achieve is 100 created relationships per second. I experimented with mapped memory settings, but without much effect. Is this the speed I can expect? Any advice on how to speed up this process? Best regards, Daniel Hepper ___ 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] Cannot change node with neo4j-shell
Hey, When creating a Neo4jGraph from gremlin (1.1-SNAPSHOT), I cannot change node in neo4j-shell (1.4-M03). It's probably related to inexistent root node 0... Here is the steps to reproduce this issue: ~$ gremlin \,,,/ (o o) -oOOo-(_)-oOOo- gremlin g = new Neo4jGraph(/data/neo4j/tinkergraph) ==neo4jgraph[EmbeddedGraphDatabase [/data/neo4j/tinkergraph]] gremlin g.loadGraphML(data/graph-example-1.xml) ==null gremlin g.V.count() ==6 gremlin g.E.count() ==6 gremlin g.shutdown() ==null gremlin quit ~$ neo4j-shell -path /data/neo4j/tinkergraph Jun 9, 2011 12:34:17 PM org.neo4j.kernel.impl.transaction.TxManager init INFO: Unresolved transactions found, recovery started ... Jun 9, 2011 12:34:17 PM org.neo4j.kernel.impl.transaction.TxManager init INFO: Recovery completed, all transactions have been resolved to a consistent state. NOTE: Local Neo4j graph database service at '/data/neo4j/tinkergraph' Welcome to the Neo4j Shell! Enter 'help' for a list of commands neo4j-sh \W$ ls 1 *age =[29] *name =[marko] (marko,1) --[created]- (lop,3) (marko,1) --[knows]- (josh,4) (marko,1) --[knows]- (vadas,2) neo4j-sh \W$ pwd org.neo4j.graphdb.NotFoundException: Node[0] neo4j-sh \W$ cd -a 1 org.neo4j.graphdb.NotFoundException: Node[0] Thanks beforehand for you help, Pierre ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Cannot change node with neo4j-shell
Pierre, it seems that the db is not closed properly, it tries to resolve transaction upon startup. Could you try the same by opening it the second time with gremlin again? I am suspecting that node 0 is removed by Marko ;) and the import is not committed so the nodes are not there upon the next startup? 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, Jun 9, 2011 at 12:52 PM, Pierre De Wilde pierredewi...@gmail.com wrote: Hey, When creating a Neo4jGraph from gremlin (1.1-SNAPSHOT), I cannot change node in neo4j-shell (1.4-M03). It's probably related to inexistent root node 0... Here is the steps to reproduce this issue: ~$ gremlin \,,,/ (o o) -oOOo-(_)-oOOo- gremlin g = new Neo4jGraph(/data/neo4j/tinkergraph) ==neo4jgraph[EmbeddedGraphDatabase [/data/neo4j/tinkergraph]] gremlin g.loadGraphML(data/graph-example-1.xml) ==null gremlin g.V.count() ==6 gremlin g.E.count() ==6 gremlin g.shutdown() ==null gremlin quit ~$ neo4j-shell -path /data/neo4j/tinkergraph Jun 9, 2011 12:34:17 PM org.neo4j.kernel.impl.transaction.TxManager init INFO: Unresolved transactions found, recovery started ... Jun 9, 2011 12:34:17 PM org.neo4j.kernel.impl.transaction.TxManager init INFO: Recovery completed, all transactions have been resolved to a consistent state. NOTE: Local Neo4j graph database service at '/data/neo4j/tinkergraph' Welcome to the Neo4j Shell! Enter 'help' for a list of commands neo4j-sh \W$ ls 1 *age =[29] *name =[marko] (marko,1) --[created]- (lop,3) (marko,1) --[knows]- (josh,4) (marko,1) --[knows]- (vadas,2) neo4j-sh \W$ pwd org.neo4j.graphdb.NotFoundException: Node[0] neo4j-sh \W$ cd -a 1 org.neo4j.graphdb.NotFoundException: Node[0] Thanks beforehand for you help, Pierre ___ 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] Speeding up initial import of graph
I recreated Daniels code in Java, mainly because some things were missing from his scala example. You're right that the index is the bottleneck. But with your small data set it should be possible to cache the 10m nodes in a heap that fits in your machine. I ran it first with the index and had about 8 seconds / 1M nodes and 320 sec/1M rels. Then I switched to 3G heap and a HashMap to keep the name=node lookup and it went to 2s/1M nodes and 13 down-to 3 sec for 1M rels. That is the approach that Chris takes only that his solution can persist the map to disk and is more efficient :) Hope that helps. Michael package org.neo4j.load; import org.apache.commons.io.FileUtils; import org.junit.Test; import org.neo4j.graphdb.RelationshipType; import org.neo4j.graphdb.index.BatchInserterIndex; import org.neo4j.graphdb.index.BatchInserterIndexProvider; import org.neo4j.helpers.collection.MapUtil; import org.neo4j.index.impl.lucene.LuceneBatchInserterIndexProvider; import org.neo4j.kernel.impl.batchinsert.BatchInserter; import org.neo4j.kernel.impl.batchinsert.BatchInserterImpl; import java.io.*; import java.util.HashMap; import java.util.Map; import java.util.Random; /** * @author mh * @since 09.06.11 */ public class Hepper { public static final int REPORT_COUNT = Config.MILLION; enum MyRelationshipTypes implements RelationshipType { BELONGS_TO } public static final int COUNT = Config.MILLION * 10; @Test public void createData() throws IOException { long time = System.currentTimeMillis(); final PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(data.txt))); Random r = new Random(-1L); for (int nodes = 0; nodes COUNT; nodes++) { writer.printf(%07d|%07d|%07d%n, nodes, r.nextInt(COUNT), r.nextInt(COUNT)); } writer.close(); System.out.println(Creating data took + (System.currentTimeMillis() - time) / 1000 + seconds); } @Test public void runImport() throws IOException { MapString,Long cache=new HashMapString, Long(COUNT); final File storeDir = new File(target/hepper); FileUtils.deleteDirectory(storeDir); BatchInserter inserter = new BatchInserterImpl(storeDir.getAbsolutePath()); final BatchInserterIndexProvider indexProvider = new LuceneBatchInserterIndexProvider(inserter); final BatchInserterIndex index = indexProvider.nodeIndex(pages, MapUtil.stringMap(type, exact)); BufferedReader reader = new BufferedReader(new FileReader(data.txt)); String line = null; int nodes = 0; long time = System.currentTimeMillis(); long batchTime=time; while ((line = reader.readLine()) != null) { final String[] nodeNames = line.split(\\|); final String name = nodeNames[0]; final MapString, Object props = MapUtil.map(name, name); final long node = inserter.createNode(props); //index.add(node, props); cache.put(name,node); nodes++; if ((nodes % REPORT_COUNT) == 0) { System.out.printf(%d nodes created. Took %d %n, nodes, (System.currentTimeMillis() - batchTime)); batchTime = System.currentTimeMillis(); } } System.out.println(Creating nodes took + (System.currentTimeMillis() - time) / 1000); index.flush(); reader.close(); reader = new BufferedReader(new FileReader(data.txt)); int rels = 0; time = System.currentTimeMillis(); batchTime=time; while ((line = reader.readLine()) != null) { final String[] nodeNames = line.split(\\|); final String name = nodeNames[0]; //final Long from = index.get(name, name).getSingle(); Long from =cache.get(name); for (int j = 1; j nodeNames.length; j++) { //final Long to = index.get(name, nodeNames[j]).getSingle(); final Long to = cache.get(name); inserter.createRelationship(from, to, MyRelationshipTypes.BELONGS_TO,null); } rels++; if ((rels % REPORT_COUNT) == 0) { System.out.printf(%d relationships created. Took %d %n, rels, (System.currentTimeMillis() - batchTime)); batchTime = System.currentTimeMillis(); } } System.out.println(Creating relationships took + (System.currentTimeMillis() - time) / 1000); } } 100 nodes created. Took 2227 200 nodes created. Took 1930 300 nodes created. Took 1818 400 nodes created. Took 1966 500 nodes created. Took 1857 600 nodes created. Took 2009 700 nodes created. Took 2068 800 nodes created. Took 1991 900 nodes created. Took 2151 1000 nodes created. Took 2276 Creating nodes took 20 100 relationships created. Took 13441 200 relationships created.
Re: [Neo4j] Cannot change node with neo4j-shell
Hi Peter, You're right: when reopening in gremlin, same recovery message. I will report this issue + node 0 to gremlin mailing list. Thanks, Pierre 2011/6/9 Peter Neubauer peter.neuba...@neotechnology.com Pierre, it seems that the db is not closed properly, it tries to resolve transaction upon startup. Could you try the same by opening it the second time with gremlin again? I am suspecting that node 0 is removed by Marko ;) and the import is not committed so the nodes are not there upon the next startup? 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, Jun 9, 2011 at 12:52 PM, Pierre De Wilde pierredewi...@gmail.com wrote: Hey, When creating a Neo4jGraph from gremlin (1.1-SNAPSHOT), I cannot change node in neo4j-shell (1.4-M03). It's probably related to inexistent root node 0... Here is the steps to reproduce this issue: ~$ gremlin \,,,/ (o o) -oOOo-(_)-oOOo- gremlin g = new Neo4jGraph(/data/neo4j/tinkergraph) ==neo4jgraph[EmbeddedGraphDatabase [/data/neo4j/tinkergraph]] gremlin g.loadGraphML(data/graph-example-1.xml) ==null gremlin g.V.count() ==6 gremlin g.E.count() ==6 gremlin g.shutdown() ==null gremlin quit ~$ neo4j-shell -path /data/neo4j/tinkergraph Jun 9, 2011 12:34:17 PM org.neo4j.kernel.impl.transaction.TxManager init INFO: Unresolved transactions found, recovery started ... Jun 9, 2011 12:34:17 PM org.neo4j.kernel.impl.transaction.TxManager init INFO: Recovery completed, all transactions have been resolved to a consistent state. NOTE: Local Neo4j graph database service at '/data/neo4j/tinkergraph' Welcome to the Neo4j Shell! Enter 'help' for a list of commands neo4j-sh \W$ ls 1 *age =[29] *name =[marko] (marko,1) --[created]- (lop,3) (marko,1) --[knows]- (josh,4) (marko,1) --[knows]- (vadas,2) neo4j-sh \W$ pwd org.neo4j.graphdb.NotFoundException: Node[0] neo4j-sh \W$ cd -a 1 org.neo4j.graphdb.NotFoundException: Node[0] Thanks beforehand for you help, Pierre ___ 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] Import/export data with neo4j-shell ?
Hi, How can I easily import/export data with neo4j? I can do it with Gremlin (GraphML only), but what are the backup/restore console commands available in Neo4j? Pierre ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] Neo4j webadmin Console Cheat sheet
Hi, I have noticed a subtle typo in webadmin console cheat sheet ( http://localhost:7474/webadmin/#/console/): Create relation myRelation = g.addEdge(edgeProps, refNode, secondNode, 'KNOWS') will create the edge without the properties. The correct syntax is: Create relation myRelation = g.addEdge(refNode, secondNode, 'KNOWS', edgeProps) See https://github.com/tinkerpop/gremlin/blob/master/src/main/groovy/com/tinkerpop/gremlin/loaders/GraphLoader.groovy for supported .addEdges() definitions. Pierre ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Neo4j webadmin Console Cheat sheet
Pierre, thanks for pointing it out! Fixed in https://github.com/neo4j/community/commit/d7b442e14461e9256a1747adca3d4128466089a5 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, Jun 9, 2011 at 3:00 PM, Pierre De Wilde pierredewi...@gmail.com wrote: Hi, I have noticed a subtle typo in webadmin console cheat sheet ( http://localhost:7474/webadmin/#/console/): Create relation myRelation = g.addEdge(edgeProps, refNode, secondNode, 'KNOWS') will create the edge without the properties. The correct syntax is: Create relation myRelation = g.addEdge(refNode, secondNode, 'KNOWS', edgeProps) See https://github.com/tinkerpop/gremlin/blob/master/src/main/groovy/com/tinkerpop/gremlin/loaders/GraphLoader.groovy for supported .addEdges() definitions. Pierre ___ 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] Import/export data with neo4j-shell ?
Pierre, the backup scripts are for online full and incremental backup management, see http://docs.neo4j.org/chunked/snapshot/operations-backup.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, Jun 9, 2011 at 2:18 PM, Pierre De Wilde pierredewi...@gmail.com wrote: Hi, How can I easily import/export data with neo4j? I can do it with Gremlin (GraphML only), but what are the backup/restore console commands available in Neo4j? Pierre ___ 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] Incompatible batch inserted data with Python bindings
Hi all, I am a newbie to neo4j so please bare with me. I installed neo4j for cpython and it is working fine. I can create graph databases and everything. Since I need to insert a huge data set, I need to use the batch inserter form neo4j in its Java form. The problem that I am having is that, after creating my database using the batch insert in Java, I am not able to open it using the python bindings. I really need to use the python bindings because I will be doing a lot of analysis using some python libraries. I have attempted to create the database with different versions of neo4j (1.2, 1.3, and 1.4) and still get the same result. I am trying to open the database in python using: graphdb = neo4j.GraphDatabase('fleedGraph') The errors that I get are: C:\Python26\lib\site-packages\jpype\_pykeywords.py:18: DeprecationWarning: the sets module is deprecated import sets Traceback (most recent call last): File C:\Documents and Settings\tequilamambo\Desktop\batchDataMaker\nodesIndexer.py, line 10, in module graphdb = neo4j.GraphDatabase('fleedGraph') File C:\Python26\lib\site-packages\neo4j.py-0.1_snapshot-py2.6.egg\neo4j\__init__.py, line 522, in __new__ neo = core.load_neo(resource_uri, params) File C:\Python26\lib\site-packages\neo4j.py-0.1_snapshot-py2.6.egg\neo4j\_core.py, line 332, in load_neo return load_neo(resource_uri, parameters) File C:\Python26\lib\site-packages\neo4j.py-0.1_snapshot-py2.6.egg\neo4j\_core.py, line 225, in load_neo return GraphDatabase(resource_uri, settings, config, log) File C:\Python26\lib\site-packages\neo4j.py-0.1_snapshot-py2.6.egg\neo4j\_core.py, line 230, in __init__ neo = backend.load_neo(resource_uri, settings) File C:\Python26\lib\site-packages\neo4j.py-0.1_snapshot-py2.6.egg\neo4j\_backend\__init__.py, line 74, in load_neo return impl(resource_uri, implementation.make_map(settings)) File C:\Python26\lib\site-packages\jpype\_jclass.py, line 79, in _javaInit self.__javaobject__ = self.__class__.__javaclass__.newClassInstance(*args) jpype._jexception.RuntimeExceptionPyRaisable: org.neo4j.kernel.impl.transaction.TransactionFailureException: Could not create data source [nioneodb], see nested exception for cause of error I hope someone can help me with this. Best, omar -- View this message in context: http://neo4j-user-list.438527.n3.nabble.com/Neo4j-Incompatible-batch-inserted-data-with-Python-bindings-tp3043869p3043869.html Sent from the Neo4J User List mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Import/export data with neo4j-shell ?
The Backup features are only available in the Neo4j Enterprise Edition. Does it mean no backup in Neo4j Community Edition??? Pierre 2011/6/9 Peter Neubauer peter.neuba...@neotechnology.com Pierre, the backup scripts are for online full and incremental backup management, see http://docs.neo4j.org/chunked/snapshot/operations-backup.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, Jun 9, 2011 at 2:18 PM, Pierre De Wilde pierredewi...@gmail.com wrote: Hi, How can I easily import/export data with neo4j? I can do it with Gremlin (GraphML only), but what are the backup/restore console commands available in Neo4j? Pierre ___ 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] Import/export data with neo4j-shell ?
Backup = stop database, copy database directory, restart database. -Original Message- From: user-boun...@lists.neo4j.org [mailto:user-boun...@lists.neo4j.org] On Behalf Of Pierre De Wilde Sent: Thursday, June 09, 2011 9:32 AM To: Neo4j user discussions Subject: Re: [Neo4j] Import/export data with neo4j-shell ? The Backup features are only available in the Neo4j Enterprise Edition. Does it mean no backup in Neo4j Community Edition??? Pierre 2011/6/9 Peter Neubauer peter.neuba...@neotechnology.com Pierre, the backup scripts are for online full and incremental backup management, see http://docs.neo4j.org/chunked/snapshot/operations-backup.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, Jun 9, 2011 at 2:18 PM, Pierre De Wilde pierredewi...@gmail.com wrote: Hi, How can I easily import/export data with neo4j? I can do it with Gremlin (GraphML only), but what are the backup/restore console commands available in Neo4j? Pierre ___ 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] Import/export data with neo4j-shell ?
Pierre, you can backup you database by just copying the store files as Rick is saying. No big deal, just not 99.999 SLA :) 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, Jun 9, 2011 at 3:31 PM, Pierre De Wilde pierredewi...@gmail.com wrote: The Backup features are only available in the Neo4j Enterprise Edition. Does it mean no backup in Neo4j Community Edition??? Pierre 2011/6/9 Peter Neubauer peter.neuba...@neotechnology.com Pierre, the backup scripts are for online full and incremental backup management, see http://docs.neo4j.org/chunked/snapshot/operations-backup.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, Jun 9, 2011 at 2:18 PM, Pierre De Wilde pierredewi...@gmail.com wrote: Hi, How can I easily import/export data with neo4j? I can do it with Gremlin (GraphML only), but what are the backup/restore console commands available in Neo4j? Pierre ___ 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] Import/export data with neo4j-shell ?
OK, so offline backup for community edition. Regarding the load of large datasets, is there a shell command available ? Thanks, Pierre 2011/6/9 Peter Neubauer peter.neuba...@neotechnology.com Pierre, you can backup you database by just copying the store files as Rick is saying. No big deal, just not 99.999 SLA :) 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, Jun 9, 2011 at 3:31 PM, Pierre De Wilde pierredewi...@gmail.com wrote: The Backup features are only available in the Neo4j Enterprise Edition. Does it mean no backup in Neo4j Community Edition??? Pierre 2011/6/9 Peter Neubauer peter.neuba...@neotechnology.com Pierre, the backup scripts are for online full and incremental backup management, see http://docs.neo4j.org/chunked/snapshot/operations-backup.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, Jun 9, 2011 at 2:18 PM, Pierre De Wilde pierredewi...@gmail.com wrote: Hi, How can I easily import/export data with neo4j? I can do it with Gremlin (GraphML only), but what are the backup/restore console commands available in Neo4j? Pierre ___ 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 ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Import/export data with neo4j-shell ?
Pierre, that is what Chris is working on - making a well defined import path for big datasets possible. Chris, will this result in a command line tool, too? At least it will be documented in the manual when we get there ... 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, Jun 9, 2011 at 3:49 PM, Pierre De Wilde pierredewi...@gmail.com wrote: OK, so offline backup for community edition. Regarding the load of large datasets, is there a shell command available ? Thanks, Pierre 2011/6/9 Peter Neubauer peter.neuba...@neotechnology.com Pierre, you can backup you database by just copying the store files as Rick is saying. No big deal, just not 99.999 SLA :) 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, Jun 9, 2011 at 3:31 PM, Pierre De Wilde pierredewi...@gmail.com wrote: The Backup features are only available in the Neo4j Enterprise Edition. Does it mean no backup in Neo4j Community Edition??? Pierre 2011/6/9 Peter Neubauer peter.neuba...@neotechnology.com Pierre, the backup scripts are for online full and incremental backup management, see http://docs.neo4j.org/chunked/snapshot/operations-backup.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, Jun 9, 2011 at 2:18 PM, Pierre De Wilde pierredewi...@gmail.com wrote: Hi, How can I easily import/export data with neo4j? I can do it with Gremlin (GraphML only), but what are the backup/restore console commands available in Neo4j? Pierre ___ 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 ___ 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] Speeding up initial import of graph
I will try caching the nodes in the heap as Michael suggested and I'll also look into Chris' tool. Thanks everybody for the effort and the suggestions! Daniel On Thu, Jun 9, 2011 at 1:27 PM, Michael Hunger michael.hun...@neotechnology.com wrote: I recreated Daniels code in Java, mainly because some things were missing from his scala example. You're right that the index is the bottleneck. But with your small data set it should be possible to cache the 10m nodes in a heap that fits in your machine. I ran it first with the index and had about 8 seconds / 1M nodes and 320 sec/1M rels. Then I switched to 3G heap and a HashMap to keep the name=node lookup and it went to 2s/1M nodes and 13 down-to 3 sec for 1M rels. That is the approach that Chris takes only that his solution can persist the map to disk and is more efficient :) Hope that helps. Michael package org.neo4j.load; import org.apache.commons.io.FileUtils; import org.junit.Test; import org.neo4j.graphdb.RelationshipType; import org.neo4j.graphdb.index.BatchInserterIndex; import org.neo4j.graphdb.index.BatchInserterIndexProvider; import org.neo4j.helpers.collection.MapUtil; import org.neo4j.index.impl.lucene.LuceneBatchInserterIndexProvider; import org.neo4j.kernel.impl.batchinsert.BatchInserter; import org.neo4j.kernel.impl.batchinsert.BatchInserterImpl; import java.io.*; import java.util.HashMap; import java.util.Map; import java.util.Random; /** * @author mh * @since 09.06.11 */ public class Hepper { public static final int REPORT_COUNT = Config.MILLION; enum MyRelationshipTypes implements RelationshipType { BELONGS_TO } public static final int COUNT = Config.MILLION * 10; @Test public void createData() throws IOException { long time = System.currentTimeMillis(); final PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(data.txt))); Random r = new Random(-1L); for (int nodes = 0; nodes COUNT; nodes++) { writer.printf(%07d|%07d|%07d%n, nodes, r.nextInt(COUNT), r.nextInt(COUNT)); } writer.close(); System.out.println(Creating data took + (System.currentTimeMillis() - time) / 1000 + seconds); } @Test public void runImport() throws IOException { MapString,Long cache=new HashMapString, Long(COUNT); final File storeDir = new File(target/hepper); FileUtils.deleteDirectory(storeDir); BatchInserter inserter = new BatchInserterImpl(storeDir.getAbsolutePath()); final BatchInserterIndexProvider indexProvider = new LuceneBatchInserterIndexProvider(inserter); final BatchInserterIndex index = indexProvider.nodeIndex(pages, MapUtil.stringMap(type, exact)); BufferedReader reader = new BufferedReader(new FileReader(data.txt)); String line = null; int nodes = 0; long time = System.currentTimeMillis(); long batchTime=time; while ((line = reader.readLine()) != null) { final String[] nodeNames = line.split(\\|); final String name = nodeNames[0]; final MapString, Object props = MapUtil.map(name, name); final long node = inserter.createNode(props); //index.add(node, props); cache.put(name,node); nodes++; if ((nodes % REPORT_COUNT) == 0) { System.out.printf(%d nodes created. Took %d %n, nodes, (System.currentTimeMillis() - batchTime)); batchTime = System.currentTimeMillis(); } } System.out.println(Creating nodes took + (System.currentTimeMillis() - time) / 1000); index.flush(); reader.close(); reader = new BufferedReader(new FileReader(data.txt)); int rels = 0; time = System.currentTimeMillis(); batchTime=time; while ((line = reader.readLine()) != null) { final String[] nodeNames = line.split(\\|); final String name = nodeNames[0]; //final Long from = index.get(name, name).getSingle(); Long from =cache.get(name); for (int j = 1; j nodeNames.length; j++) { //final Long to = index.get(name, nodeNames[j]).getSingle(); final Long to = cache.get(name); inserter.createRelationship(from, to, MyRelationshipTypes.BELONGS_TO,null); } rels++; if ((rels % REPORT_COUNT) == 0) { System.out.printf(%d relationships created. Took %d %n, rels, (System.currentTimeMillis() - batchTime)); batchTime = System.currentTimeMillis(); } } System.out.println(Creating relationships took + (System.currentTimeMillis() - time) / 1000); } } 100 nodes created. Took 2227 200 nodes created. Took 1930 300 nodes created. Took 1818 400 nodes created. Took 1966 500 nodes
Re: [Neo4j] Cannot change node with neo4j-shell
Hi, If the Neo4 graph is created first with Blueprints (not pre-existing), then the root vertex is removed as that is not a concept support by Blueprints. Its not a bug, its a feature :). NOTE: If you create Neo4j graph with Neo4j and then load up a Neo4jGraph around it, then Blueprints will not alter the structure (i.e. remove the root vertex). See ya, Marko. http://markorodriguez.com On Jun 9, 2011, at 5:32 AM, Pierre De Wilde wrote: Hi Peter, You're right: when reopening in gremlin, same recovery message. I will report this issue + node 0 to gremlin mailing list. Thanks, Pierre 2011/6/9 Peter Neubauer peter.neuba...@neotechnology.com Pierre, it seems that the db is not closed properly, it tries to resolve transaction upon startup. Could you try the same by opening it the second time with gremlin again? I am suspecting that node 0 is removed by Marko ;) and the import is not committed so the nodes are not there upon the next startup? 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, Jun 9, 2011 at 12:52 PM, Pierre De Wilde pierredewi...@gmail.com wrote: Hey, When creating a Neo4jGraph from gremlin (1.1-SNAPSHOT), I cannot change node in neo4j-shell (1.4-M03). It's probably related to inexistent root node 0... Here is the steps to reproduce this issue: ~$ gremlin \,,,/ (o o) -oOOo-(_)-oOOo- gremlin g = new Neo4jGraph(/data/neo4j/tinkergraph) ==neo4jgraph[EmbeddedGraphDatabase [/data/neo4j/tinkergraph]] gremlin g.loadGraphML(data/graph-example-1.xml) ==null gremlin g.V.count() ==6 gremlin g.E.count() ==6 gremlin g.shutdown() ==null gremlin quit ~$ neo4j-shell -path /data/neo4j/tinkergraph Jun 9, 2011 12:34:17 PM org.neo4j.kernel.impl.transaction.TxManager init INFO: Unresolved transactions found, recovery started ... Jun 9, 2011 12:34:17 PM org.neo4j.kernel.impl.transaction.TxManager init INFO: Recovery completed, all transactions have been resolved to a consistent state. NOTE: Local Neo4j graph database service at '/data/neo4j/tinkergraph' Welcome to the Neo4j Shell! Enter 'help' for a list of commands neo4j-sh \W$ ls 1 *age =[29] *name =[marko] (marko,1) --[created]- (lop,3) (marko,1) --[knows]- (josh,4) (marko,1) --[knows]- (vadas,2) neo4j-sh \W$ pwd org.neo4j.graphdb.NotFoundException: Node[0] neo4j-sh \W$ cd -a 1 org.neo4j.graphdb.NotFoundException: Node[0] Thanks beforehand for you help, Pierre ___ 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] Cannot change node with neo4j-shell
Also, I think we should fic the Neo4j Shell functionality to not stop on missing 0 node. Will put it up to fix. 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, Jun 9, 2011 at 4:04 PM, Marko Rodriguez okramma...@gmail.com wrote: Hi, If the Neo4 graph is created first with Blueprints (not pre-existing), then the root vertex is removed as that is not a concept support by Blueprints. Its not a bug, its a feature :). NOTE: If you create Neo4j graph with Neo4j and then load up a Neo4jGraph around it, then Blueprints will not alter the structure (i.e. remove the root vertex). See ya, Marko. http://markorodriguez.com On Jun 9, 2011, at 5:32 AM, Pierre De Wilde wrote: Hi Peter, You're right: when reopening in gremlin, same recovery message. I will report this issue + node 0 to gremlin mailing list. Thanks, Pierre 2011/6/9 Peter Neubauer peter.neuba...@neotechnology.com Pierre, it seems that the db is not closed properly, it tries to resolve transaction upon startup. Could you try the same by opening it the second time with gremlin again? I am suspecting that node 0 is removed by Marko ;) and the import is not committed so the nodes are not there upon the next startup? 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, Jun 9, 2011 at 12:52 PM, Pierre De Wilde pierredewi...@gmail.com wrote: Hey, When creating a Neo4jGraph from gremlin (1.1-SNAPSHOT), I cannot change node in neo4j-shell (1.4-M03). It's probably related to inexistent root node 0... Here is the steps to reproduce this issue: ~$ gremlin \,,,/ (o o) -oOOo-(_)-oOOo- gremlin g = new Neo4jGraph(/data/neo4j/tinkergraph) ==neo4jgraph[EmbeddedGraphDatabase [/data/neo4j/tinkergraph]] gremlin g.loadGraphML(data/graph-example-1.xml) ==null gremlin g.V.count() ==6 gremlin g.E.count() ==6 gremlin g.shutdown() ==null gremlin quit ~$ neo4j-shell -path /data/neo4j/tinkergraph Jun 9, 2011 12:34:17 PM org.neo4j.kernel.impl.transaction.TxManager init INFO: Unresolved transactions found, recovery started ... Jun 9, 2011 12:34:17 PM org.neo4j.kernel.impl.transaction.TxManager init INFO: Recovery completed, all transactions have been resolved to a consistent state. NOTE: Local Neo4j graph database service at '/data/neo4j/tinkergraph' Welcome to the Neo4j Shell! Enter 'help' for a list of commands neo4j-sh \W$ ls 1 *age =[29] *name =[marko] (marko,1) --[created]- (lop,3) (marko,1) --[knows]- (josh,4) (marko,1) --[knows]- (vadas,2) neo4j-sh \W$ pwd org.neo4j.graphdb.NotFoundException: Node[0] neo4j-sh \W$ cd -a 1 org.neo4j.graphdb.NotFoundException: Node[0] Thanks beforehand for you help, Pierre ___ 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 ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Neo4j webadmin Console Cheat sheet
Hi, You can also do: myRelation = g.addEdge(nodeA,nodeB,'KNOWS',[key:'value',key2:123]) As such, put a Map into the definition. A nice place to find these shorthand methods is: https://github.com/tinkerpop/gremlin/wiki/Gremlin-Methods See ya, Marko. http://markorodriguez.com On Jun 9, 2011, at 7:00 AM, Pierre De Wilde wrote: Hi, I have noticed a subtle typo in webadmin console cheat sheet ( http://localhost:7474/webadmin/#/console/): Create relation myRelation = g.addEdge(edgeProps, refNode, secondNode, 'KNOWS') will create the edge without the properties. The correct syntax is: Create relation myRelation = g.addEdge(refNode, secondNode, 'KNOWS', edgeProps) See https://github.com/tinkerpop/gremlin/blob/master/src/main/groovy/com/tinkerpop/gremlin/loaders/GraphLoader.groovy for supported .addEdges() definitions. Pierre ___ 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] Cannot change node with neo4j-shell
I think that is a good idea. Mainly because if you can delete the root node, then its possible to get the neo4j-shell into this 'broken state.' Thanks P, Marko. http://markorodriguez.com On Jun 9, 2011, at 8:06 AM, Peter Neubauer wrote: Also, I think we should fic the Neo4j Shell functionality to not stop on missing 0 node. Will put it up to fix. 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, Jun 9, 2011 at 4:04 PM, Marko Rodriguez okramma...@gmail.com wrote: Hi, If the Neo4 graph is created first with Blueprints (not pre-existing), then the root vertex is removed as that is not a concept support by Blueprints. Its not a bug, its a feature :). NOTE: If you create Neo4j graph with Neo4j and then load up a Neo4jGraph around it, then Blueprints will not alter the structure (i.e. remove the root vertex). See ya, Marko. http://markorodriguez.com On Jun 9, 2011, at 5:32 AM, Pierre De Wilde wrote: Hi Peter, You're right: when reopening in gremlin, same recovery message. I will report this issue + node 0 to gremlin mailing list. Thanks, Pierre 2011/6/9 Peter Neubauer peter.neuba...@neotechnology.com Pierre, it seems that the db is not closed properly, it tries to resolve transaction upon startup. Could you try the same by opening it the second time with gremlin again? I am suspecting that node 0 is removed by Marko ;) and the import is not committed so the nodes are not there upon the next startup? 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, Jun 9, 2011 at 12:52 PM, Pierre De Wilde pierredewi...@gmail.com wrote: Hey, When creating a Neo4jGraph from gremlin (1.1-SNAPSHOT), I cannot change node in neo4j-shell (1.4-M03). It's probably related to inexistent root node 0... Here is the steps to reproduce this issue: ~$ gremlin \,,,/ (o o) -oOOo-(_)-oOOo- gremlin g = new Neo4jGraph(/data/neo4j/tinkergraph) ==neo4jgraph[EmbeddedGraphDatabase [/data/neo4j/tinkergraph]] gremlin g.loadGraphML(data/graph-example-1.xml) ==null gremlin g.V.count() ==6 gremlin g.E.count() ==6 gremlin g.shutdown() ==null gremlin quit ~$ neo4j-shell -path /data/neo4j/tinkergraph Jun 9, 2011 12:34:17 PM org.neo4j.kernel.impl.transaction.TxManager init INFO: Unresolved transactions found, recovery started ... Jun 9, 2011 12:34:17 PM org.neo4j.kernel.impl.transaction.TxManager init INFO: Recovery completed, all transactions have been resolved to a consistent state. NOTE: Local Neo4j graph database service at '/data/neo4j/tinkergraph' Welcome to the Neo4j Shell! Enter 'help' for a list of commands neo4j-sh \W$ ls 1 *age =[29] *name =[marko] (marko,1) --[created]- (lop,3) (marko,1) --[knows]- (josh,4) (marko,1) --[knows]- (vadas,2) neo4j-sh \W$ pwd org.neo4j.graphdb.NotFoundException: Node[0] neo4j-sh \W$ cd -a 1 org.neo4j.graphdb.NotFoundException: Node[0] Thanks beforehand for you help, Pierre ___ 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 ___ 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] Problems binding to a specific ip
Hi Max, there are two distinct problems here One is that there is no IP access control that can be configured through Neo4j. Setting the listen URIs to a specific address in the configuration does not bind the server there exclusively. This behavior has to be imposed with external means, such as a firewall. The other is a benign bug that has to do with logging the listen address - currently it uses always the java.net.InetAddress methods to find the hostname, ignoring the configuration and leading to the behavior you describe, since the JVM does not prefer the localhost interface. This will be of course addressed in subsequent SNAPSHOTs and milestone releases but it will remain the default behavior. Hope that clarifies things. cheers, CG On Wed, Jun 8, 2011 at 2:59 PM, Maximilian Schulz nam...@gmail.com wrote: Hi everyone, after weeks of experimentation, we finally migrated one of our apps features to neo4j. But now that we are about to deploy the app to our staging server, we discovered a small problem with the server configuration. We have checked the manual at http://docs.neo4j.org/chunked/1.4.M03/server-configuration.html and followed the suggested configuration, but we are not getting the expected results. What we are trying to achieve is to bind the server to localhost, so it is no longer accessible from outside. We restricted access to IPv4 in the wrapper config and set the webadmin data and manage uri to http://localhost:7474. But when starting the server it still binds to the hostname. Here is the output of the start process. Check the last line, where it states that the server is started on http://OUR_DOMAIN:7474/ 6/8/11 1:44:46 PM org.neo4j.server.database.Database INFO: Using database at /tmp/neo4j-community-1.4.M03/data/graph.db 6/8/11 1:44:47 PM org.neo4j.server.modules.DiscoveryModule INFO: Mounted discovery module at [/] 6/8/11 1:44:47 PM org.neo4j.server.modules.RESTApiModule INFO: Mounted REST API at [http://localhost:7474/db/data/] 6/8/11 1:44:47 PM org.neo4j.server.modules.ManagementApiModule INFO: Mounted management API at [http://localhost:7474/db/manage/] 6/8/11 1:44:47 PM org.neo4j.server.modules.WebAdminModule INFO: Mounted webadmin at [/webadmin] 6/8/11 1:44:47 PM org.neo4j.server.NeoServerWithEmbeddedWebServer INFO: Starting Neo Server on port [7474] 6/8/11 1:44:47 PM org.neo4j.server.web.Jetty6WebServer INFO: Mounting static content at [/webadmin] from [webadmin-html] 6/8/11 1:44:48 PM org.neo4j.server.NeoServerWithEmbeddedWebServer INFO: Server started on [http://OUR_DOMAIN:7474/] I am pretty sure that I have missed something, but I cannot figure out what. Any help is greatly appreciated! Max ___ 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] Fulltext indexing apparently not working when done in Batch insertion phase...
Hi all! Recently I noticed that some fulltext indexes I created and populated in my project in the Batch insertion phase are not working as expected. I've carried out some tests and cannot come up with what can be going wrong. That's why I thought, ok let's try with a really basic example (mostly taken from the official wiki ) and see if it works right first. This is the code: BatchInserter inserter = new BatchInserterImpl(target/neo4jdb-batchinsert); BatchInserterIndexProvider indexProvider = new LuceneBatchInserterIndexProvider(inserter); BatchInserterIndex actors = indexProvider.nodeIndex(actors, MapUtil.stringMap(type, fulltext, provider, lucene)); MapString, Object properties = MapUtil.map(name, Keanu Reeves); long node = inserter.createNode(properties); actors.add(node, properties); indexProvider.shutdown(); inserter.shutdown(); GraphDatabaseService graphDbService = new EmbeddedGraphDatabase(CommonData.DATABASE_FOLDER); MapString, String indexFullTextProps = new HashMapString, String(); indexFullTextProps.put(provider, lucene); indexFullTextProps.put(type, fulltext); //--node indexes--- IndexNode index = graphDbService.index().forNodes(actors, indexFullTextProps); System.out.println(index.get(actors, Keanu).size()); System.out.println(index.get(actors, keanu).size()); System.out.println(index.get(actors, Keanu Reeves).size()); graphDbService.shutdown(); I'm probably doing something wrong but I'm getting 0 size in the three queries I perform... Otherwise, is there any kind of known issue for this scenario (I mean, fulltext indexing with Batch insertion) ? I'd really appreciate any help with this. Cheers, Pablo Pareja -- Pablo Pareja Tobes LinkedInhttp://www.linkedin.com/in/pabloparejatobes Twitter http://www.twitter.com/pablopareja http://about.me/pablopareja http://www.ohnosequences.com ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Fulltext indexing apparently not working when done in Batch insertion phase...
Hi again, I just found out that I had the wrong name for querying the actors index, still when I change it for name like this: System.out.println(index.get(name, Keanu).size()); System.out.println(index.get(name, keanu).size()); System.out.println(index.get(name, Keanu Reeves).size()); I still get unexpected results for a fulltext index: 0 0 1 so it seems that it is actually an exact index what was created, even though I specified the string 'fulltext' ... Pablo On Thu, Jun 9, 2011 at 4:49 PM, Pablo Pareja ppar...@era7.com wrote: Hi all! Recently I noticed that some fulltext indexes I created and populated in my project in the Batch insertion phase are not working as expected. I've carried out some tests and cannot come up with what can be going wrong. That's why I thought, ok let's try with a really basic example (mostly taken from the official wiki ) and see if it works right first. This is the code: BatchInserter inserter = new BatchInserterImpl(target/neo4jdb-batchinsert); BatchInserterIndexProvider indexProvider = new LuceneBatchInserterIndexProvider(inserter); BatchInserterIndex actors = indexProvider.nodeIndex(actors, MapUtil.stringMap(type, fulltext, provider, lucene)); MapString, Object properties = MapUtil.map(name, Keanu Reeves); long node = inserter.createNode(properties); actors.add(node, properties); indexProvider.shutdown(); inserter.shutdown(); GraphDatabaseService graphDbService = new EmbeddedGraphDatabase(CommonData.DATABASE_FOLDER); MapString, String indexFullTextProps = new HashMapString, String(); indexFullTextProps.put(provider, lucene); indexFullTextProps.put(type, fulltext); //--node indexes--- IndexNode index = graphDbService.index().forNodes(actors, indexFullTextProps); System.out.println(index.get(actors, Keanu).size()); System.out.println(index.get(actors, keanu).size()); System.out.println(index.get(actors, Keanu Reeves).size()); graphDbService.shutdown(); I'm probably doing something wrong but I'm getting 0 size in the three queries I perform... Otherwise, is there any kind of known issue for this scenario (I mean, fulltext indexing with Batch insertion) ? I'd really appreciate any help with this. Cheers, Pablo Pareja -- Pablo Pareja Tobes LinkedInhttp://www.linkedin.com/in/pabloparejatobes Twitter http://www.twitter.com/pablopareja http://about.me/pablopareja http://www.ohnosequences.com -- Pablo Pareja Tobes LinkedInhttp://www.linkedin.com/in/pabloparejatobes Twitter http://www.twitter.com/pablopareja http://about.me/pablopareja http://www.ohnosequences.com ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Fulltext indexing apparently not working when done in Batch insertion phase...
your query key should be name not actors Michael Sent from my iBrick4 Am 09.06.2011 um 16:49 schrieb Pablo Pareja ppar...@era7.com: Hi all! Recently I noticed that some fulltext indexes I created and populated in my project in the Batch insertion phase are not working as expected. I've carried out some tests and cannot come up with what can be going wrong. That's why I thought, ok let's try with a really basic example (mostly taken from the official wiki ) and see if it works right first. This is the code: BatchInserter inserter = new BatchInserterImpl(target/neo4jdb-batchinsert); BatchInserterIndexProvider indexProvider = new LuceneBatchInserterIndexProvider(inserter); BatchInserterIndex actors = indexProvider.nodeIndex(actors, MapUtil.stringMap(type, fulltext, provider, lucene)); MapString, Object properties = MapUtil.map(name, Keanu Reeves); long node = inserter.createNode(properties); actors.add(node, properties); indexProvider.shutdown(); inserter.shutdown(); GraphDatabaseService graphDbService = new EmbeddedGraphDatabase(CommonData.DATABASE_FOLDER); MapString, String indexFullTextProps = new HashMapString, String(); indexFullTextProps.put(provider, lucene); indexFullTextProps.put(type, fulltext); //--node indexes--- IndexNode index = graphDbService.index().forNodes(actors, indexFullTextProps); System.out.println(index.get(actors, Keanu).size()); System.out.println(index.get(actors, keanu).size()); System.out.println(index.get(actors, Keanu Reeves).size()); graphDbService.shutdown(); I'm probably doing something wrong but I'm getting 0 size in the three queries I perform... Otherwise, is there any kind of known issue for this scenario (I mean, fulltext indexing with Batch insertion) ? I'd really appreciate any help with this. Cheers, Pablo Pareja -- Pablo Pareja Tobes LinkedInhttp://www.linkedin.com/in/pabloparejatobes Twitter http://www.twitter.com/pablopareja http://about.me/pablopareja http://www.ohnosequences.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] Fulltext indexing apparently not working when done in Batch insertion phase...
and you should use index.query(key,querystring) not get for fulltext queries Sent from my iBrick4 Am 09.06.2011 um 17:04 schrieb Pablo Pareja ppar...@era7.com: Hi again, I just found out that I had the wrong name for querying the actors index, still when I change it for name like this: System.out.println(index.get(name, Keanu).size()); System.out.println(index.get(name, keanu).size()); System.out.println(index.get(name, Keanu Reeves).size()); I still get unexpected results for a fulltext index: 0 0 1 so it seems that it is actually an exact index what was created, even though I specified the string 'fulltext' ... Pablo On Thu, Jun 9, 2011 at 4:49 PM, Pablo Pareja ppar...@era7.com wrote: Hi all! Recently I noticed that some fulltext indexes I created and populated in my project in the Batch insertion phase are not working as expected. I've carried out some tests and cannot come up with what can be going wrong. That's why I thought, ok let's try with a really basic example (mostly taken from the official wiki ) and see if it works right first. This is the code: BatchInserter inserter = new BatchInserterImpl(target/neo4jdb-batchinsert); BatchInserterIndexProvider indexProvider = new LuceneBatchInserterIndexProvider(inserter); BatchInserterIndex actors = indexProvider.nodeIndex(actors, MapUtil.stringMap(type, fulltext, provider, lucene)); MapString, Object properties = MapUtil.map(name, Keanu Reeves); long node = inserter.createNode(properties); actors.add(node, properties); indexProvider.shutdown(); inserter.shutdown(); GraphDatabaseService graphDbService = new EmbeddedGraphDatabase(CommonData.DATABASE_FOLDER); MapString, String indexFullTextProps = new HashMapString, String(); indexFullTextProps.put(provider, lucene); indexFullTextProps.put(type, fulltext); //--node indexes--- IndexNode index = graphDbService.index().forNodes(actors, indexFullTextProps); System.out.println(index.get(actors, Keanu).size()); System.out.println(index.get(actors, keanu).size()); System.out.println(index.get(actors, Keanu Reeves).size()); graphDbService.shutdown(); I'm probably doing something wrong but I'm getting 0 size in the three queries I perform... Otherwise, is there any kind of known issue for this scenario (I mean, fulltext indexing with Batch insertion) ? I'd really appreciate any help with this. Cheers, Pablo Pareja -- Pablo Pareja Tobes LinkedInhttp://www.linkedin.com/in/pabloparejatobes Twitter http://www.twitter.com/pablopareja http://about.me/pablopareja http://www.ohnosequences.com -- Pablo Pareja Tobes LinkedInhttp://www.linkedin.com/in/pabloparejatobes Twitter http://www.twitter.com/pablopareja http://about.me/pablopareja http://www.ohnosequences.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-spatial
Hi Saikat, Yes, your explanation was clear, but I was busy with other work and failed to repond - my bad ;-) Anyway, your idea is nice. And I can think of a few ways to model this in the graph, but at the end of the day the most important thing to decide first is what queries are you going to perform? Do you want a creative map, that while not drawn to scale, can still be asked questions like 'how far from the roller-coaster to the closest lunch venue?'. That kind of question could make use of the graph and the spatial extensions to provide an answer and show the route on the creative map, even if it is not a real to-scale map. Is that what you want to see? You can try contact me on skype also. Regards, Craig On Thu, Jun 9, 2011 at 5:35 AM, Saikat Kanjilal sxk1...@hotmail.com wrote: Hi Craig,Following up on this thread, was this explanation clear? If so I'd like to talk more details.Regards From: sxk1...@hotmail.com To: user@lists.neo4j.org Subject: RE: [Neo4j] neo4j-spatial Date: Sun, 5 Jun 2011 20:15:27 -0700 Hey Craig,Thanks for responding, so to be clear a theme park can have its own map created by the graphic artists that work at the theme park company, this map is sometimes 2D or sometimes a 3D map that really has no notion of lat long coordinates or GPS. What I am proposing is that we have the ability to inject GPS coordinates into this creative map through some mechanism that understands what the GPS coordinates of each point in this creative map are. So thats where the google map comes in, the google or bing map would potentially have lat long coordinates of every point in a theme park, so now the challenge is how do we transfer that knowledge inside this 2D or 3D creative map so that we can run neo4j traversal algorithms inside a map that has been injected with GPS data. A theme park is just the beginning, imagine having the power to inject this information into any 2D or 3D map, that would be pretty amazing.In essence I am doing this so that the creative map itself can use neo4j and be highly interactive and meaningful. Let me know if that's still unclear and if so lets talk on skype. Regards Date: Mon, 6 Jun 2011 01:13:08 +0200 From: cr...@amanzi.com To: user@lists.neo4j.org Subject: Re: [Neo4j] neo4j-spatial Hi Saikat, This sounds worth discussing further. I think I need to hear more about your use case. I do not know what the term 'creative map' means, and what traversals you are planning to do? When you talk about 'plotting points', do you mean you have a GPS and are moving inside a real theme park and want to see this inside google maps? Or are you just drawing a path on an interactive GIS? I think once I have some more understanding of what your use case is, what problem you are trying to solve, I am sure I will be able to give advice on how best to approach it, if it relates to anything else we are doing, or whether this is something you would need to put some coding time into :-) Regards, Craig On Sun, Jun 5, 2011 at 8:26 PM, Saikat Kanjilal sxk1...@hotmail.com wrote: Craig et al,I have an interesting usecase that I've been thinking about and I was wondering if it would make a good candidate for inclusion inside neo4j-spatial, I've read through the wiki ( http://wiki.neo4j.org/content/Collaboration_on_Spatial_Projects) and was interested in using neo4j-spatial to take any creative 2D Map and geo-enabling it. To explain in more detail lets say you are at a certain latitude and longitude in a theme park inside a google map (or a bing map), now you want to have the ability to reference that same latitude and longitude inside a 2d or a 3d creative map of that theme park and then be able to plot these points and enable traversal algorithms inside the creative map. I was wondering if you guys are thinking about this usecase, if not I'd love to work on and discuss this in more detail to see whether this fits into the neo4j-spatial roadmap. Thoughts? ___ 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] neo4j-spatial
Hey Craig,Thanks for responding, here's what I'd like to see on the creative map: 1) My current position in the park and the positions of attractions and other things in the park2) Ability to perform traversals and graph matching algorithms once number 1 is known3) Ability to add new points in the park through a configurable process We should talk in person, lots of interesting stuff to discuss, another thought I had was that you come up to Seattle for the graph-db meetup so we can talk in more detail.Regards Date: Thu, 9 Jun 2011 17:39:22 +0200 From: cr...@amanzi.com To: user@lists.neo4j.org Subject: Re: [Neo4j] neo4j-spatial Hi Saikat, Yes, your explanation was clear, but I was busy with other work and failed to repond - my bad ;-) Anyway, your idea is nice. And I can think of a few ways to model this in the graph, but at the end of the day the most important thing to decide first is what queries are you going to perform? Do you want a creative map, that while not drawn to scale, can still be asked questions like 'how far from the roller-coaster to the closest lunch venue?'. That kind of question could make use of the graph and the spatial extensions to provide an answer and show the route on the creative map, even if it is not a real to-scale map. Is that what you want to see? You can try contact me on skype also. Regards, Craig On Thu, Jun 9, 2011 at 5:35 AM, Saikat Kanjilal sxk1...@hotmail.com wrote: Hi Craig,Following up on this thread, was this explanation clear? If so I'd like to talk more details.Regards From: sxk1...@hotmail.com To: user@lists.neo4j.org Subject: RE: [Neo4j] neo4j-spatial Date: Sun, 5 Jun 2011 20:15:27 -0700 Hey Craig,Thanks for responding, so to be clear a theme park can have its own map created by the graphic artists that work at the theme park company, this map is sometimes 2D or sometimes a 3D map that really has no notion of lat long coordinates or GPS. What I am proposing is that we have the ability to inject GPS coordinates into this creative map through some mechanism that understands what the GPS coordinates of each point in this creative map are. So thats where the google map comes in, the google or bing map would potentially have lat long coordinates of every point in a theme park, so now the challenge is how do we transfer that knowledge inside this 2D or 3D creative map so that we can run neo4j traversal algorithms inside a map that has been injected with GPS data. A theme park is just the beginning, imagine having the power to inject this information into any 2D or 3D map, that would be pretty amazing.In essence I am doing this so that the creative map itself can use neo4j and be highly interactive and meaningful. Let me know if that's still unclear and if so lets talk on skype. Regards Date: Mon, 6 Jun 2011 01:13:08 +0200 From: cr...@amanzi.com To: user@lists.neo4j.org Subject: Re: [Neo4j] neo4j-spatial Hi Saikat, This sounds worth discussing further. I think I need to hear more about your use case. I do not know what the term 'creative map' means, and what traversals you are planning to do? When you talk about 'plotting points', do you mean you have a GPS and are moving inside a real theme park and want to see this inside google maps? Or are you just drawing a path on an interactive GIS? I think once I have some more understanding of what your use case is, what problem you are trying to solve, I am sure I will be able to give advice on how best to approach it, if it relates to anything else we are doing, or whether this is something you would need to put some coding time into :-) Regards, Craig On Sun, Jun 5, 2011 at 8:26 PM, Saikat Kanjilal sxk1...@hotmail.com wrote: Craig et al,I have an interesting usecase that I've been thinking about and I was wondering if it would make a good candidate for inclusion inside neo4j-spatial, I've read through the wiki ( http://wiki.neo4j.org/content/Collaboration_on_Spatial_Projects) and was interested in using neo4j-spatial to take any creative 2D Map and geo-enabling it. To explain in more detail lets say you are at a certain latitude and longitude in a theme park inside a google map (or a bing map), now you want to have the ability to reference that same latitude and longitude inside a 2d or a 3d creative map of that theme park and then be able to plot these points and enable traversal algorithms inside the creative map. I was wondering if you guys are thinking about this usecase, if not I'd love to work on and discuss this in more detail to see whether this fits into the neo4j-spatial roadmap. Thoughts? ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Fulltext indexing apparently not working when done in Batch insertion phase...
yeah, it works just fine using query(...) method instead of get(...) Thanks ;) Pablo On Thu, Jun 9, 2011 at 5:31 PM, Michael Hunger michael.hun...@neotechnology.com wrote: and you should use index.query(key,querystring) not get for fulltext queries Sent from my iBrick4 Am 09.06.2011 um 17:04 schrieb Pablo Pareja ppar...@era7.com: Hi again, I just found out that I had the wrong name for querying the actors index, still when I change it for name like this: System.out.println(index.get(name, Keanu).size()); System.out.println(index.get(name, keanu).size()); System.out.println(index.get(name, Keanu Reeves).size()); I still get unexpected results for a fulltext index: 0 0 1 so it seems that it is actually an exact index what was created, even though I specified the string 'fulltext' ... Pablo On Thu, Jun 9, 2011 at 4:49 PM, Pablo Pareja ppar...@era7.com wrote: Hi all! Recently I noticed that some fulltext indexes I created and populated in my project in the Batch insertion phase are not working as expected. I've carried out some tests and cannot come up with what can be going wrong. That's why I thought, ok let's try with a really basic example (mostly taken from the official wiki ) and see if it works right first. This is the code: BatchInserter inserter = new BatchInserterImpl(target/neo4jdb-batchinsert); BatchInserterIndexProvider indexProvider = new LuceneBatchInserterIndexProvider(inserter); BatchInserterIndex actors = indexProvider.nodeIndex(actors, MapUtil.stringMap(type, fulltext, provider, lucene)); MapString, Object properties = MapUtil.map(name, Keanu Reeves); long node = inserter.createNode(properties); actors.add(node, properties); indexProvider.shutdown(); inserter.shutdown(); GraphDatabaseService graphDbService = new EmbeddedGraphDatabase(CommonData.DATABASE_FOLDER); MapString, String indexFullTextProps = new HashMapString, String(); indexFullTextProps.put(provider, lucene); indexFullTextProps.put(type, fulltext); //--node indexes--- IndexNode index = graphDbService.index().forNodes(actors, indexFullTextProps); System.out.println(index.get(actors, Keanu).size()); System.out.println(index.get(actors, keanu).size()); System.out.println(index.get(actors, Keanu Reeves).size()); graphDbService.shutdown(); I'm probably doing something wrong but I'm getting 0 size in the three queries I perform... Otherwise, is there any kind of known issue for this scenario (I mean, fulltext indexing with Batch insertion) ? I'd really appreciate any help with this. Cheers, Pablo Pareja -- Pablo Pareja Tobes LinkedInhttp://www.linkedin.com/in/pabloparejatobes Twitter http://www.twitter.com/pablopareja http://about.me/pablopareja http://www.ohnosequences.com -- Pablo Pareja Tobes LinkedInhttp://www.linkedin.com/in/pabloparejatobes Twitter http://www.twitter.com/pablopareja http://about.me/pablopareja http://www.ohnosequences.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 -- Pablo Pareja Tobes LinkedInhttp://www.linkedin.com/in/pabloparejatobes Twitter http://www.twitter.com/pablopareja http://about.me/pablopareja http://www.ohnosequences.com ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] JAXRS Server Extensions
Hi Miklós, Batch updates through the REST API will be supported from 1.4 M4 which should be released today - so no need to roll your own. Jim ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Incompatible batch inserted data with Python bindings
You might also try the newer cpython bindings which use jcc instead of jpype to connect with Java. They also don't support batch import, but I'm curious if you run into the same issue. https://github.com/OneSaidWho/neo4py Aaron On Thu, Jun 9, 2011 at 6:31 AM, oguerrer oguer...@gmail.com wrote: Hi all, I am a newbie to neo4j so please bare with me. I installed neo4j for cpython and it is working fine. I can create graph databases and everything. Since I need to insert a huge data set, I need to use the batch inserter form neo4j in its Java form. The problem that I am having is that, after creating my database using the batch insert in Java, I am not able to open it using the python bindings. I really need to use the python bindings because I will be doing a lot of analysis using some python libraries. I have attempted to create the database with different versions of neo4j (1.2, 1.3, and 1.4) and still get the same result. I am trying to open the database in python using: graphdb = neo4j.GraphDatabase('fleedGraph') The errors that I get are: C:\Python26\lib\site-packages\jpype\_pykeywords.py:18: DeprecationWarning: the sets module is deprecated import sets Traceback (most recent call last): File C:\Documents and Settings\tequilamambo\Desktop\batchDataMaker\nodesIndexer.py, line 10, in module graphdb = neo4j.GraphDatabase('fleedGraph') File C:\Python26\lib\site-packages\neo4j.py-0.1_snapshot-py2.6.egg\neo4j\__init__.py, line 522, in __new__ neo = core.load_neo(resource_uri, params) File C:\Python26\lib\site-packages\neo4j.py-0.1_snapshot-py2.6.egg\neo4j\_core.py, line 332, in load_neo return load_neo(resource_uri, parameters) File C:\Python26\lib\site-packages\neo4j.py-0.1_snapshot-py2.6.egg\neo4j\_core.py, line 225, in load_neo return GraphDatabase(resource_uri, settings, config, log) File C:\Python26\lib\site-packages\neo4j.py-0.1_snapshot-py2.6.egg\neo4j\_core.py, line 230, in __init__ neo = backend.load_neo(resource_uri, settings) File C:\Python26\lib\site-packages\neo4j.py-0.1_snapshot-py2.6.egg\neo4j\_backend\__init__.py, line 74, in load_neo return impl(resource_uri, implementation.make_map(settings)) File C:\Python26\lib\site-packages\jpype\_jclass.py, line 79, in _javaInit self.__javaobject__ = self.__class__.__javaclass__.newClassInstance(*args) jpype._jexception.RuntimeExceptionPyRaisable: org.neo4j.kernel.impl.transaction.TransactionFailureException: Could not create data source [nioneodb], see nested exception for cause of error I hope someone can help me with this. Best, omar -- View this message in context: http://neo4j-user-list.438527.n3.nabble.com/Neo4j-Incompatible-batch-inserted-data-with-Python-bindings-tp3043869p3043869.html Sent from the Neo4J User List mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] Possible bug/omission in LuceneTimeline?
One big issue we've encountered (actually, a fairly critical one) is that there does not seem to be any way to *delete* a LuceneTimeline index. This raises a more general question: - Is LuceneTimeline part of the IndexFramework or is it an experimental piece of code - Is there a way to achieve the same functionality of the LuceneTimeline using the normal Neo4J index framework? Thanks in advance for any help! ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Possible bug/omission in LuceneTimeline?
Doh. Forget it. Grokking the code a bit and I see how LuceneTimeline is just a wrapper around a regular Index. Nevermind. ;-) -Original Message- From: user-boun...@lists.neo4j.org [mailto:user-boun...@lists.neo4j.org] On Behalf Of Rick Bullotta Sent: Thursday, June 09, 2011 2:41 PM To: Neo4j user discussions Subject: [Neo4j] Possible bug/omission in LuceneTimeline? Importance: High One big issue we've encountered (actually, a fairly critical one) is that there does not seem to be any way to *delete* a LuceneTimeline index. This raises a more general question: - Is LuceneTimeline part of the IndexFramework or is it an experimental piece of code - Is there a way to achieve the same functionality of the LuceneTimeline using the normal Neo4J index framework? Thanks in advance for any 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] Design question: Del.icio.us
Max, just to be clear, are you basically saying that this problem is best solved by a relational db instead of a graph db? Thanks, Aseem On Wed, Jun 8, 2011 at 11:21 PM, Max De Marzi Jr. maxdema...@gmail.comwrote: Aseem, Which users tagged what? SELECT DISTINCT user_id FROM USER_TAGS WHERE bookmark_id = x Which bookmarks did a user tag? SELECT DISTINCT bookmark_id FROM USER_TAGS WHERE user_id = x Which bookmarks were tagged with x? SELECT DISTINCT bookmark_id FROM USER_TAGS WHERE tag_id = x What question are you trying to answer that you can't get from a relational table? I think it's better to make your model depending on the questions you are trying to answer. I have a similar model (users tagging users) and I needed to answer: Which users have been tagged by me or my network 6 degrees out? What is the tagged distance a user is away from another user? Turns out, all I needed was User nodes with Tagged links. User - tagged - User - tagged - User Everything else I get from the relational db. When I start to care about which users have been tagged for by me or my network 6 degrees out for this KEYWORD, then I'll create a more complex model: User - UserKeyword - tagged - UserKeyword - User Keyword ---/Keyword ---/ Regards, Max On Thu, Jun 9, 2011 at 12:33 AM, Aseem Kishore aseem.kish...@gmail.com wrote: Also forgot to add: now if you want to show all links (globally) for a given tag, how do you do that? Are you indexing each tag-link (as a key-value pair) every time a tag is added? Removing from the index every time a tag is deleted? Thanks, Aseem On Wed, Jun 8, 2011 at 10:31 PM, Aseem Kishore aseem.kish...@gmail.com wrote: I forgot to state this, but a key requirement of tags of course is that you can apply multiple of them to the same link. Would you still go that route then? If you want to delete a link from your bookmarks, it's a matter then of deleting each tag edge? Aseem On Wed, Jun 8, 2011 at 10:28 PM, Siddhartha Kasivajhula countvajh...@gmail.com wrote: Couldn't you use edges for tags instead of nodes? user1 --tag-- link1 user2 --tag-- link1 user1 --tag-- link2 On Wed, Jun 8, 2011 at 10:23 PM, Aseem Kishore aseem.kish...@gmail.com wrote: Hi guys, We're thinking about implementing tags in our system, and we're pondering a few ideas for how we'd go about it, and none of them seem perfect. I'd like to ask you guys: how would you design an analogous case: Del.icio.us ? At the core, *users bookmark links*, so it makes sense to have users and links as types of nodes, and bookmark as the type of edge that connects them. Now, you can see all the links a given user has bookmarked, and all the users that have bookmarked a given link. Now users can also *tag* links, of course, but the most interesting requirement is that, when I'm looking at *my links*, I only want to see *my tags*. Thus, tags can't be tied just to links; they have to be tied to users too. But most importantly, you have to maintain *which* user and *which* link *each* tag is for. Thus, it seems most intuitive to us if we could have tags be nodes that *point to the bookmark edges*. Unfortunately, that's a hypergraph, which Neo4j doesn't support. We could use intermediate nodes for bookmarks maybe, but that sort of sucks to lose the intuitiveness of the graph and introduce redundant edges, more complexity which makes consistency harder, etc. We have some other ideas, but I'm curious if any of you guys have thought about this already or have done it, or if you guys have thoughts. Thanks in advance! Aseem ___ 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 ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] Open question on Index Framework
We really need a way to query a list of all of the terms for a specific field/key name. Any thoughts on how we could extend the Index framework safely to do this? ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] neo4j and GUI
hello; I created a hierarchy with neo4j and I need to see it in a GUI. how i should to make it with neo4j? thank you. -- View this message in context: http://neo4j-user-list.438527.n3.nabble.com/neo4j-and-GUI-tp3045627p3045627.html Sent from the Neo4J User List mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Design question: Del.icio.us
Thanks for the input, Michael and Josef! I'm intrigued by the possibility of being able to have comment threads, etc. when you consider a tagging action as an event, and thus consider it a node in the graph. I'm worried though about having the duplicate edges. How do you make sure everything remains consistent? If I delete a tag, do you delete the node for the previous tag event too? Or just the edge? If you delete the node too, that deletes the comment thread too then? Some great food for thought. Let me chew on this a bit more and get back to you guys. Thanks again, Aseem On Thu, Jun 9, 2011 at 1:55 AM, Josef Holy ho...@centrum.cz wrote: Hi, few notes from the top of my head on how we modeled this in the past: User is a Node Resource (Document) is a Node Tag is a Node (having a label, language property, can be connected via relationships to other Tag Nodes representing its synonyms, can become a concept in (tree-)structured thesauri, etc...) Scenario: User U tags Resource R with Tag T: - Create special 'TaggingEvent' TE Node, with timestamp property and connect it to U, R and T by creating [TE, U], [TE, R] and [TE, T] relationships - TE nodes are indexed by timestamp, allowing to easily generate 'Tag activity streams' for different contexts - for users, resources or even tags (if it makes sense) - create some additional relationship(s) as needed between [U, T], [U, R] and [T, R] to simplify graph traversals and also to aggregate/cache the information like 'how many times was given R tagged with given T ~ this is f.e. expressed by some 'weight' property on the [T,R] relationship - and comes handy for generating things like tag clouds (~ get all [T,R] relationships with their weights) Scenario: User U bookmarks Resource R: - here it may be enough to create only [U,R] relationship with properties like timestamp, but we followed similar model as above - create special 'BookmarkEvent' Node BE, with timestamp and ralationships [BE, U] and [BE, R] and [U,R] - this again allows to easily create bookmarking activity streams, or to mix tagging+bookmarking events into one stream, if there is a requirement to do so. That's about it. Hope this helps. Regards, Josef. -- www.subject.cz __ Od: Max De Marzi Jr. maxdema...@gmail.com Komu: Neo4j user discussions user@lists.neo4j.org Datum: 09.06.2011 08:21 Předmět: Re: [Neo4j] Design question: Del.icio.us Aseem, Which users tagged what? SELECT DISTINCT user_id FROM USER_TAGS WHERE bookmark_id = x Which bookmarks did a user tag? SELECT DISTINCT bookmark_id FROM USER_TAGS WHERE user_id = x Which bookmarks were tagged with x? SELECT DISTINCT bookmark_id FROM USER_TAGS WHERE tag_id = x What question are you trying to answer that you can't get from a relational table? I think it's better to make your model depending on the questions you are trying to answer. I have a similar model (users tagging users) and I needed to answer: Which users have been tagged by me or my network 6 degrees out? What is the tagged distance a user is away from another user? Turns out, all I needed was User nodes with Tagged links. User - tagged - User - tagged - User Everything else I get from the relational db. When I start to care about which users have been tagged for by me or my network 6 degrees out for this KEYWORD, then I'll create a more complex model: User - UserKeyword - tagged - UserKeyword - User Keyword ---/Keyword ---/ Regards, Max On Thu, Jun 9, 2011 at 12:33 AM, Aseem Kishore aseem.kish...@gmail.com wrote: Also forgot to add: now if you want to show all links (globally) for a given tag, how do you do that? Are you indexing each tag-link (as a key-value pair) every time a tag is added? Removing from the index every time a tag is deleted? Thanks, Aseem On Wed, Jun 8, 2011 at 10:31 PM, Aseem Kishore aseem.kish...@gmail.com wrote: I forgot to state this, but a key requirement of tags of course is that you can apply multiple of them to the same link. Would you still go that route then? If you want to delete a link from your bookmarks, it's a matter then of deleting each tag edge? Aseem On Wed, Jun 8, 2011 at 10:28 PM, Siddhartha Kasivajhula countvajh...@gmail.com wrote: Couldn't you use edges for tags instead of nodes? user1 --tag-- link1 user2 --tag-- link1 user1 --tag-- link2 On Wed, Jun 8, 2011 at 10:23 PM, Aseem Kishore aseem.kish...@gmail.com wrote: Hi guys, We're thinking about implementing tags in our system, and we're pondering a few ideas for how we'd go about it, and none of them seem perfect. I'd like to ask you guys: how would you design an analogous case: Del.icio.us? At the core, *users bookmark links*, so it makes sense to have users and links as types of nodes, and
Re: [Neo4j] neo4j and GUI
You could use Neoclipse to visualize your graph: http://wiki.neo4j.org/content/Neoclipse_Guide Cheers Michael Am 09.06.2011 um 21:49 schrieb lakel: hello; I created a hierarchy with neo4j and I need to see it in a GUI. how i should to make it with neo4j? thank you. -- View this message in context: http://neo4j-user-list.438527.n3.nabble.com/neo4j-and-GUI-tp3045627p3045627.html Sent from the Neo4J User List mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Speeding up initial import of graph
I ran Michael’s example test import program with the Map replacing the index on my on more modestly configured machine to see whether the import scaling problems I have reported previously using Batchinserter were reproduced. They were – I gave the program 1G of heap and watched it run using jconsole. It ran reasonably quickly as it consumed the in an almost straight line until it neared its capacity then practically stopped for about 20 minutes after which it died with an out of memory error – see below. Now I’m not saying that Neo4j should necessarily go out of its way to support very memory constrained environments, but I do think that it is not unreasonable to expect its batch import mechanism not to fall over in this way but should rather flush its buffers or whatever without requiring the import application writer to shut it down and restart it periodically... Creating data took 331 seconds 100 nodes created. Took 29001 200 nodes created. Took 35107 300 nodes created. Took 35904 400 nodes created. Took 66169 500 nodes created. Took 63280 600 nodes created. Took 183922 700 nodes created. Took 258276 com.nomura.smo.rdm.neo4j.restore.Hepper createData(330.364seconds) runImport (1,485 seconds later...) java.lang.OutOfMemoryError: Java heap space at java.util.ArrayList.init(Unknown Source) at java.util.ArrayList.init(Unknown Source) at org.neo4j.kernel.impl.nioneo.store.PropertyRecord.init(PropertyRecord.java:33) at org.neo4j.kernel.impl.batchinsert.BatchInserterImpl.createPropertyChain(BatchInserterImpl.java:425) at org.neo4j.kernel.impl.batchinsert.BatchInserterImpl.createNode(BatchInserterImpl.java:143) at com.nomura.smo.rdm.neo4j.restore.Hepper.runImport(Hepper.java:61) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) at org.junit.runners.ParentRunner.run(ParentRunner.java:236) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) Regards, Paul Bandler On 9 Jun 2011, at 12:27, Michael Hunger wrote: I recreated Daniels code in Java, mainly because some things were missing from his scala example. You're right that the index is the bottleneck. But with your small data set it should be possible to cache the 10m nodes in a heap that fits in your machine. I ran it first with the index and had about 8 seconds / 1M nodes and 320 sec/1M rels. Then I switched to 3G heap and a HashMap to keep the name=node lookup and it went to 2s/1M nodes and 13 down-to 3 sec for 1M rels. That is the approach that Chris takes only that his solution can persist the map to disk and is more efficient :) Hope that helps. Michael package org.neo4j.load; import org.apache.commons.io.FileUtils; import org.junit.Test; import org.neo4j.graphdb.RelationshipType; import org.neo4j.graphdb.index.BatchInserterIndex; import org.neo4j.graphdb.index.BatchInserterIndexProvider; import org.neo4j.helpers.collection.MapUtil; import org.neo4j.index.impl.lucene.LuceneBatchInserterIndexProvider; import org.neo4j.kernel.impl.batchinsert.BatchInserter; import org.neo4j.kernel.impl.batchinsert.BatchInserterImpl;
Re: [Neo4j] Design question: Del.icio.us
Aseem, Josef's suggestion is pretty cool and very powerful. I would start simple by modeling the bookmark as a node and have the tag-events only being relationships (with properties) from the actual tag to the bookmark node. In the end it all depends on your usage scenarios. What kind of functionality do you want to support with your graph. Btw. you can also start simple and later evolve your graph by upgrading relationships to nodes. Your worries about duplicate tag edges being inserted can be dealt with by checking that no path containing that user, resource and tag exists using a traverser (you could also index the tag event with a user_tag_resource key). It might be necessary to add some properties to relationships or use the suggested aggregation relationships to optimize the traversal. Starting with M04 this should also be expressable with our query language cypher. start user=(users,name,username), tag=(tags,name,tagname), url=(urls,link,uri) match user - tagged - tag_event, tag - tagged - tag_event, tag_event - tagged - url return tag_event Am 09.06.2011 um 22:10 schrieb Aseem Kishore: Thanks for the input, Michael and Josef! I'm intrigued by the possibility of being able to have comment threads, etc. when you consider a tagging action as an event, and thus consider it a node in the graph. I'm worried though about having the duplicate edges. How do you make sure everything remains consistent? If I delete a tag, do you delete the node for the previous tag event too? Or just the edge? If you delete the node too, that deletes the comment thread too then? Some great food for thought. Let me chew on this a bit more and get back to you guys. Thanks again, Aseem On Thu, Jun 9, 2011 at 1:55 AM, Josef Holy ho...@centrum.cz wrote: Hi, few notes from the top of my head on how we modeled this in the past: User is a Node Resource (Document) is a Node Tag is a Node (having a label, language property, can be connected via relationships to other Tag Nodes representing its synonyms, can become a concept in (tree-)structured thesauri, etc...) Scenario: User U tags Resource R with Tag T: - Create special 'TaggingEvent' TE Node, with timestamp property and connect it to U, R and T by creating [TE, U], [TE, R] and [TE, T] relationships - TE nodes are indexed by timestamp, allowing to easily generate 'Tag activity streams' for different contexts - for users, resources or even tags (if it makes sense) - create some additional relationship(s) as needed between [U, T], [U, R] and [T, R] to simplify graph traversals and also to aggregate/cache the information like 'how many times was given R tagged with given T ~ this is f.e. expressed by some 'weight' property on the [T,R] relationship - and comes handy for generating things like tag clouds (~ get all [T,R] relationships with their weights) Scenario: User U bookmarks Resource R: - here it may be enough to create only [U,R] relationship with properties like timestamp, but we followed similar model as above - create special 'BookmarkEvent' Node BE, with timestamp and ralationships [BE, U] and [BE, R] and [U,R] - this again allows to easily create bookmarking activity streams, or to mix tagging+bookmarking events into one stream, if there is a requirement to do so. That's about it. Hope this helps. Regards, Josef. -- www.subject.cz __ Od: Max De Marzi Jr. maxdema...@gmail.com Komu: Neo4j user discussions user@lists.neo4j.org Datum: 09.06.2011 08:21 Předmět: Re: [Neo4j] Design question: Del.icio.us Aseem, Which users tagged what? SELECT DISTINCT user_id FROM USER_TAGS WHERE bookmark_id = x Which bookmarks did a user tag? SELECT DISTINCT bookmark_id FROM USER_TAGS WHERE user_id = x Which bookmarks were tagged with x? SELECT DISTINCT bookmark_id FROM USER_TAGS WHERE tag_id = x What question are you trying to answer that you can't get from a relational table? I think it's better to make your model depending on the questions you are trying to answer. I have a similar model (users tagging users) and I needed to answer: Which users have been tagged by me or my network 6 degrees out? What is the tagged distance a user is away from another user? Turns out, all I needed was User nodes with Tagged links. User - tagged - User - tagged - User Everything else I get from the relational db. When I start to care about which users have been tagged for by me or my network 6 degrees out for this KEYWORD, then I'll create a more complex model: User - UserKeyword - tagged - UserKeyword - User Keyword ---/Keyword ---/ Regards, Max On Thu, Jun 9, 2011 at 12:33 AM, Aseem Kishore aseem.kish...@gmail.com wrote: Also forgot to add: now if you want to show all links (globally) for a given tag, how do you do that? Are you indexing each tag-link (as a
Re: [Neo4j] Speeding up initial import of graph
Please keep in mind that the HashMap of 10M strings - longs will take a substantial amount of heap memory. That's not the fault of Neo4j :) On my system it alone takes 1.8 G of memory (distributed across the strings, the hashmap-entries and the longs). So 3 GB of heap are sensible to run this, that leaves about 1G for neo4j + its caches. Of course you're free to shard you map (e.g. by first letter of the name) and persist those maps to disk and reload them if needed. But that's an application level concern. If your are really limited that way wrt memory you should try Chris Giorans implementation which will take care of that. Or you should perhaps use an amazon ec2 instance which you can easily get with up to 68 G of RAM :) Cheers Michael P.S. As a side-note: For the rest of the memory: Have you tried to use weak reference cache instead of the default soft one? in your config.properties add cache_type = weak that should take care of your memory problems (and the stopping which is actually the GC trying to reclaim memory). Am 09.06.2011 um 22:36 schrieb Paul Bandler: I ran Michael’s example test import program with the Map replacing the index on my on more modestly configured machine to see whether the import scaling problems I have reported previously using Batchinserter were reproduced. They were – I gave the program 1G of heap and watched it run using jconsole. It ran reasonably quickly as it consumed the in an almost straight line until it neared its capacity then practically stopped for about 20 minutes after which it died with an out of memory error – see below. Now I’m not saying that Neo4j should necessarily go out of its way to support very memory constrained environments, but I do think that it is not unreasonable to expect its batch import mechanism not to fall over in this way but should rather flush its buffers or whatever without requiring the import application writer to shut it down and restart it periodically... Creating data took 331 seconds 100 nodes created. Took 29001 200 nodes created. Took 35107 300 nodes created. Took 35904 400 nodes created. Took 66169 500 nodes created. Took 63280 600 nodes created. Took 183922 700 nodes created. Took 258276 com.nomura.smo.rdm.neo4j.restore.Hepper createData(330.364seconds) runImport (1,485 seconds later...) java.lang.OutOfMemoryError: Java heap space at java.util.ArrayList.init(Unknown Source) at java.util.ArrayList.init(Unknown Source) at org.neo4j.kernel.impl.nioneo.store.PropertyRecord.init(PropertyRecord.java:33) at org.neo4j.kernel.impl.batchinsert.BatchInserterImpl.createPropertyChain(BatchInserterImpl.java:425) at org.neo4j.kernel.impl.batchinsert.BatchInserterImpl.createNode(BatchInserterImpl.java:143) at com.nomura.smo.rdm.neo4j.restore.Hepper.runImport(Hepper.java:61) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) at org.junit.runners.ParentRunner.run(ParentRunner.java:236) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) Regards, Paul Bandler On 9 Jun 2011, at 12:27, Michael Hunger
Re: [Neo4j] Incompatible batch inserted data with Python bindings
Thank you Aaron, I am trying to build the the latest bindings but I get an error regarding a file called: jcc_d.lib I installed jcc successfully and I have the Visual Studio Compilers of 2008. The error I get is: LINK : fatal error LNK1181: cannot open input file 'C:\Python26\lib\site-package s\jcc-2.8-py2.6-win32.egg\jcc\jcc_d.lib' error: command 'C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\link.exe' failed with exit status 1181 Any idea? -- View this message in context: http://neo4j-user-list.438527.n3.nabble.com/Neo4j-Incompatible-batch-inserted-data-with-Python-bindings-tp3043869p3046045.html Sent from the Neo4J User List mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] Building neo4jpy for JCC in windows
Hi, I am trying to build the latest version of neo4jpy for JCC in windows. I have successfully installed JCC but I keep getting the following error: LINK : fatal error LNK1181: cannot open input file 'C:\Python26\lib\site-package s\jcc-2.8-py2.6-win32.egg\jcc\jcc_d.lib' error: command 'C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\link.exe' failed with exit status 1181 I just don't find the jcc_d.lib file anywhere. Any ideas? -- View this message in context: http://neo4j-user-list.438527.n3.nabble.com/Neo4j-Building-neo4jpy-for-JCC-in-windows-tp3046129p3046129.html Sent from the Neo4J User List mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] neo4j and GUI
hello; I have developed with JBuilder I can import into JBuilder neoclipse for display my hierarchy ! thank you. -- View this message in context: http://neo4j-user-list.438527.n3.nabble.com/neo4j-and-GUI-tp3045627p3046218.html Sent from the Neo4J User List mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] neo4j and GUI
No, Neoclipse is a standalone application. There are lots of other visualizations for graphs possible: http://wiki.neo4j.org/content/Visualization_options_for_graphs Cheers Michael Am 09.06.2011 um 23:46 schrieb lakel: hello; I have developed with JBuilder I can import into JBuilder neoclipse for display my hierarchy ! thank you. -- View this message in context: http://neo4j-user-list.438527.n3.nabble.com/neo4j-and-GUI-tp3045627p3046218.html Sent from the Neo4J User List mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] Interesting Neo4J design question...unidirectional relationships
We seem to be encountering a lot of issues when attempting to do lots of reads/writes/deletes of nodes in a collection scenario, where the members of the collection (each a node w/properties) are linked to their collection (also a node) via a relationship. This creates a hot spot and concurrency issue apparently, which has led to some unpredictable performance. In this specific use case, the relationship is only meaningful in one direction, so I am considering creating a property on the members of type long, which corresponds to the node id of the collection node. This would seem to work, and would likely avoid the issues we're encountering, but it makes me feel a bit dirty to do so in a graph database. Any other suggestions? Any other workarounds for the issues with frequent updates to a node and its relationships? Many thanks, Rick ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] No index provider 'lucene' found
Hello, I'm getting an error I cannot seem to repair. Here's the line of code popping up the error : private static IndexNode people = index.forNodes( people ); I've checked my classpath and tried with both lucene-core-3.1.0.jar and lucene-core-3.0.1.jar. Stack trace follows, thanks for any indications here ! Ian. java.lang.ExceptionInInitializerError at webapp.server.AccountServiceImpl.clinit(AccountServiceImpl.java:20) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at org.mortbay.jetty.servlet.Holder.newInstance(Holder.java:153) at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:339) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:463) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488) Caused by: java.lang.IllegalArgumentException: No index provider 'lucene' found at org.neo4j.kernel.IndexManagerImpl.getIndexProvider(IndexManagerImpl.java:69) at org.neo4j.kernel.IndexManagerImpl.findIndexConfig(IndexManagerImpl.java:109) at org.neo4j.kernel.IndexManagerImpl.getOrCreateIndexConfig(IndexManagerImpl.java:171) at org.neo4j.kernel.IndexManagerImpl.forNodes(IndexManagerImpl.java:242) at business.domain.DomainServicesImpl.clinit(DomainServicesImpl.java:29) ... 26 more [WARN] Nested in java.lang.ExceptionInInitializerError: java.lang.IllegalArgumentException: No index provider 'lucene' found at org.neo4j.kernel.IndexManagerImpl.getIndexProvider(IndexManagerImpl.java:69) at org.neo4j.kernel.IndexManagerImpl.findIndexConfig(IndexManagerImpl.java:109) at org.neo4j.kernel.IndexManagerImpl.getOrCreateIndexConfig(IndexManagerImpl.java:171) at org.neo4j.kernel.IndexManagerImpl.forNodes(IndexManagerImpl.java:242) at business.domain.DomainServicesImpl.clinit(DomainServicesImpl.java:29) at webapp.server.AccountServiceImpl.clinit(AccountServiceImpl.java:20) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at org.mortbay.jetty.servlet.Holder.newInstance(Holder.java:153) at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:339) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:463) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
Re: [Neo4j] No index provider 'lucene' found
Hi Ian, Is neo4j-lucene-index-${version}.jar on the classpath? That is the jar file that contains the lucene integration for Neo4j, this needs to be on the classpath along with lucene-core. If it is, and things are still not working, could you please answer these questions: Which version of Neo4j are you using? Which JVM are you using? What else do you have in your system that impacts the runtime environment (e.g. OSGi)? And also provide the full classpath you are using. Cheers, Tobias 2011/6/10 Ian Bussières ian.bussie...@gmail.com Hello, I'm getting an error I cannot seem to repair. Here's the line of code popping up the error : private static IndexNode people = index.forNodes( people ); I've checked my classpath and tried with both lucene-core-3.1.0.jar and lucene-core-3.0.1.jar. Stack trace follows, thanks for any indications here ! Ian. java.lang.ExceptionInInitializerError at webapp.server.AccountServiceImpl.clinit(AccountServiceImpl.java:20) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at org.mortbay.jetty.servlet.Holder.newInstance(Holder.java:153) at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:339) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:463) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488) Caused by: java.lang.IllegalArgumentException: No index provider 'lucene' found at org.neo4j.kernel.IndexManagerImpl.getIndexProvider(IndexManagerImpl.java:69) at org.neo4j.kernel.IndexManagerImpl.findIndexConfig(IndexManagerImpl.java:109) at org.neo4j.kernel.IndexManagerImpl.getOrCreateIndexConfig(IndexManagerImpl.java:171) at org.neo4j.kernel.IndexManagerImpl.forNodes(IndexManagerImpl.java:242) at business.domain.DomainServicesImpl.clinit(DomainServicesImpl.java:29) ... 26 more [WARN] Nested in java.lang.ExceptionInInitializerError: java.lang.IllegalArgumentException: No index provider 'lucene' found at org.neo4j.kernel.IndexManagerImpl.getIndexProvider(IndexManagerImpl.java:69) at org.neo4j.kernel.IndexManagerImpl.findIndexConfig(IndexManagerImpl.java:109) at org.neo4j.kernel.IndexManagerImpl.getOrCreateIndexConfig(IndexManagerImpl.java:171) at org.neo4j.kernel.IndexManagerImpl.forNodes(IndexManagerImpl.java:242) at business.domain.DomainServicesImpl.clinit(DomainServicesImpl.java:29) at webapp.server.AccountServiceImpl.clinit(AccountServiceImpl.java:20) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at org.mortbay.jetty.servlet.Holder.newInstance(Holder.java:153) at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:339) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:463) at
Re: [Neo4j] No index provider 'lucene' found
Thanks for the quick answer, here's the config : JVM 1.6.0_24 I am compiling through GWT, which might somewhat impact the build, although I doubt it. Classpath, which answers some of your questions itself : ?xml version=1.0 encoding=UTF-8? classpath classpathentry kind=src path=src/ classpathentry kind=src output=test-classes path=test/ classpathentry kind=src path=lib/ classpathentry kind=con path=com.google.gwt.eclipse.core.GWT_CONTAINER/ classpathentry kind=con path=org.eclipse.jdt.launching.JRE_CONTAINER/ classpathentry kind=lib path=lib/geronimo-jta_1.1_spec-1.1.1.jar/ classpathentry kind=lib path=lib/neo4j-community-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-graph-algo-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-jmx-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-kernel-1.4.M03.jar sourcepath=C:/Users/Ian/.m2/repository/org/neo4j/neo4j-kernel/1.4.M03/neo4j-kernel-1.4.M03-sources.jar/ classpathentry kind=lib path=lib/neo4j-lucene-index-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-shell-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-udc-1.4.M03.jar/ classpathentry kind=lib path=lib/org.apache.servicemix.bundles.jline-0.9.94_1.jar/ classpathentry kind=lib path=lib/server-api-1.4.M03.jar/ classpathentry kind=lib path=lib/lucene-core-3.0.1.jar/ // also tried 3.1.0 classpathentry kind=output path=war/WEB-INF/classes/ /classpath On Thu, Jun 9, 2011 at 19:07, Tobias Ivarsson tobias.ivars...@neotechnology.com wrote: Hi Ian, Is neo4j-lucene-index-${version}.jar on the classpath? That is the jar file that contains the lucene integration for Neo4j, this needs to be on the classpath along with lucene-core. If it is, and things are still not working, could you please answer these questions: Which version of Neo4j are you using? Which JVM are you using? What else do you have in your system that impacts the runtime environment (e.g. OSGi)? And also provide the full classpath you are using. Cheers, Tobias 2011/6/10 Ian Bussières ian.bussie...@gmail.com Hello, I'm getting an error I cannot seem to repair. Here's the line of code popping up the error : private static IndexNode people = index.forNodes( people ); I've checked my classpath and tried with both lucene-core-3.1.0.jar and lucene-core-3.0.1.jar. Stack trace follows, thanks for any indications here ! Ian. java.lang.ExceptionInInitializerError at webapp.server.AccountServiceImpl.clinit(AccountServiceImpl.java:20) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at org.mortbay.jetty.servlet.Holder.newInstance(Holder.java:153) at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:339) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:463) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488) Caused by: java.lang.IllegalArgumentException: No index provider 'lucene' found at org.neo4j.kernel.IndexManagerImpl.getIndexProvider(IndexManagerImpl.java:69) at org.neo4j.kernel.IndexManagerImpl.findIndexConfig(IndexManagerImpl.java:109) at
Re: [Neo4j] No index provider 'lucene' found
But you're not trying to run Neo4j in the gwt client side code but rather on the server? How exactly do you start-up your application? The classpath you supplied is imho the build-classpath and not necessarily the run-classpath? Can you verify that? you can get the runtime classpath by using jsp to determine the pid of your java process and jinfo pid to extract the information. Cheers Michael Am 10.06.2011 um 01:20 schrieb Ian Bussières: Thanks for the quick answer, here's the config : JVM 1.6.0_24 I am compiling through GWT, which might somewhat impact the build, although I doubt it. Classpath, which answers some of your questions itself : ?xml version=1.0 encoding=UTF-8? classpath classpathentry kind=src path=src/ classpathentry kind=src output=test-classes path=test/ classpathentry kind=src path=lib/ classpathentry kind=con path=com.google.gwt.eclipse.core.GWT_CONTAINER/ classpathentry kind=con path=org.eclipse.jdt.launching.JRE_CONTAINER/ classpathentry kind=lib path=lib/geronimo-jta_1.1_spec-1.1.1.jar/ classpathentry kind=lib path=lib/neo4j-community-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-graph-algo-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-jmx-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-kernel-1.4.M03.jar sourcepath=C:/Users/Ian/.m2/repository/org/neo4j/neo4j-kernel/1.4.M03/neo4j-kernel-1.4.M03-sources.jar/ classpathentry kind=lib path=lib/neo4j-lucene-index-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-shell-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-udc-1.4.M03.jar/ classpathentry kind=lib path=lib/org.apache.servicemix.bundles.jline-0.9.94_1.jar/ classpathentry kind=lib path=lib/server-api-1.4.M03.jar/ classpathentry kind=lib path=lib/lucene-core-3.0.1.jar/ // also tried 3.1.0 classpathentry kind=output path=war/WEB-INF/classes/ /classpath On Thu, Jun 9, 2011 at 19:07, Tobias Ivarsson tobias.ivars...@neotechnology.com wrote: Hi Ian, Is neo4j-lucene-index-${version}.jar on the classpath? That is the jar file that contains the lucene integration for Neo4j, this needs to be on the classpath along with lucene-core. If it is, and things are still not working, could you please answer these questions: Which version of Neo4j are you using? Which JVM are you using? What else do you have in your system that impacts the runtime environment (e.g. OSGi)? And also provide the full classpath you are using. Cheers, Tobias 2011/6/10 Ian Bussières ian.bussie...@gmail.com Hello, I'm getting an error I cannot seem to repair. Here's the line of code popping up the error : private static IndexNode people = index.forNodes( people ); I've checked my classpath and tried with both lucene-core-3.1.0.jar and lucene-core-3.0.1.jar. Stack trace follows, thanks for any indications here ! Ian. java.lang.ExceptionInInitializerError at webapp.server.AccountServiceImpl.clinit(AccountServiceImpl.java:20) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at org.mortbay.jetty.servlet.Holder.newInstance(Holder.java:153) at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:339) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:463) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) at
[Neo4j] Gremlin
Hi, I am currently using the latest version of Neo4J. However, when I run: curl -v http://localhost:7474/db/data/ I get this response for extensions: extensions : { } And when I look in System\Lib, I can see gremlin-0.9.jar. So, how do I register or configure the server to enable gremlin. Since, when I try to query it via: http://localhost:7474/db/data/ext/GremlinPlugin/graphdb/execute_script+ I get no such plugin exists (I also tried to copy the jar file to the plugin folder, and some little voice told me this is not the right way, since it is in the system folder already :)) Any help is appreciate, I am looking at creating a .Net Query Language for it at some point. No such ServerPlugin: GremlinPlugin org.neo4j.server.plugins.PluginLookupException: No such ServerPlugin: GremlinPlugin at org.neo4j.server.plugins.PluginManager.extension(PluginManager.java:108) at org.neo4j.server.plugins.PluginManager.describe(PluginManager.java:117) at org.neo4j.server.rest.web.ExtensionService.describeGraphDatabaseExtension(ExtensionService.java:287) at org.neo4j.server.rest.web.ExtensionService.getGraphDatabaseExtensionDescription(ExtensionService.java:150) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] Gremlin
Romiko, the gremlin plugin is currently separate from the Neo4J-Server it will be included with one of the next releases. Until then please go to. https://github.com/neo4j/neo4j-gremlin-plugin build the jar using maven and then copy that to your servers plugins directory. The gremlin file you can see is used for the console of the webadmin-UI. Looking forward to your .net Query Language. Cheers Michael Am 10.06.2011 um 01:46 schrieb Romiko Derbynew: Hi, I am currently using the latest version of Neo4J. However, when I run: curl -v http://localhost:7474/db/data/ I get this response for extensions: extensions : { } And when I look in System\Lib, I can see gremlin-0.9.jar. So, how do I register or configure the server to enable gremlin. Since, when I try to query it via: http://localhost:7474/db/data/ext/GremlinPlugin/graphdb/execute_script+ I get no such plugin exists (I also tried to copy the jar file to the plugin folder, and some little voice told me this is not the right way, since it is in the system folder already :)) Any help is appreciate, I am looking at creating a .Net Query Language for it at some point. No such ServerPlugin: GremlinPlugin org.neo4j.server.plugins.PluginLookupException: No such ServerPlugin: GremlinPlugin at org.neo4j.server.plugins.PluginManager.extension(PluginManager.java:108) at org.neo4j.server.plugins.PluginManager.describe(PluginManager.java:117) at org.neo4j.server.rest.web.ExtensionService.describeGraphDatabaseExtension(ExtensionService.java:287) at org.neo4j.server.rest.web.ExtensionService.getGraphDatabaseExtensionDescription(ExtensionService.java:150) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) ___ 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] basic design question
Hi All, Noob question here: Say that I am a node on the graph as are 3 of my other friends. No let's say that ice cream is a node and pizza is a node. Two of us like pizza, where like is the relationship (edge), and 3 of us like ice cream. I would like to know who likes ice cream and who likes pizza given just the people nodes. The ultimate goal is to determine who like the same things I do. What is the best way to do this? Currently I can accomplish what I'm looking for by getting all the relationships from each of the nodes and seeing where they lead and then seeing if these nodes are the same as mine. But it would seem that there may be a better way, like something that takes two (n) nodes and shows all the common relationship endpoints. Seems like this should be possible with paths, but I can't seem to figure it out. Bonus if you can give me an example in REST. Thanks so much! ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] No index provider 'lucene' found
Definitely on server side code. I start up the application directly in eclipse with the built in web server. C:\Users\Ian\Dev\PFE\pfe\src;C:\Users\Ian\Dev\PFE\pfe\lib;C:\Users\Ian\Dev\PFE\pfe\test-classes;C:\Users\Ian\Dev\PFE\pfe\war\WEB-INF\classes;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\gwt-user.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\gwt-dev.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\validation-api-1.0.0.GA-sources.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\validation-api-1.0.0.GA.jar;C:\Users\Ian\Dev\PFE\pfe\lib\geronimo-jta_1.1_spec-1.1.1.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-community-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-graph-algo-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-jmx-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-kernel-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-lucene-index-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\lucene-core-3.1.0.jar;C:\Users\Ian\Dev\PFE\pfe\lib\org.apache.servicemix.bundles.jline-0.9.94_1.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-shell-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-udc-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\server-api-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\lucene-core-3.0.1.jar On Thu, Jun 9, 2011 at 19:32, Michael Hunger michael.hun...@neotechnology.com wrote: But you're not trying to run Neo4j in the gwt client side code but rather on the server? How exactly do you start-up your application? The classpath you supplied is imho the build-classpath and not necessarily the run-classpath? Can you verify that? you can get the runtime classpath by using jsp to determine the pid of your java process and jinfo pid to extract the information. Cheers Michael Am 10.06.2011 um 01:20 schrieb Ian Bussières: Thanks for the quick answer, here's the config : JVM 1.6.0_24 I am compiling through GWT, which might somewhat impact the build, although I doubt it. Classpath, which answers some of your questions itself : ?xml version=1.0 encoding=UTF-8? classpath classpathentry kind=src path=src/ classpathentry kind=src output=test-classes path=test/ classpathentry kind=src path=lib/ classpathentry kind=con path=com.google.gwt.eclipse.core.GWT_CONTAINER/ classpathentry kind=con path=org.eclipse.jdt.launching.JRE_CONTAINER/ classpathentry kind=lib path=lib/geronimo-jta_1.1_spec-1.1.1.jar/ classpathentry kind=lib path=lib/neo4j-community-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-graph-algo-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-jmx-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-kernel-1.4.M03.jar sourcepath=C:/Users/Ian/.m2/repository/org/neo4j/neo4j-kernel/1.4.M03/neo4j-kernel-1.4.M03-sources.jar/ classpathentry kind=lib path=lib/neo4j-lucene-index-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-shell-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-udc-1.4.M03.jar/ classpathentry kind=lib path=lib/org.apache.servicemix.bundles.jline-0.9.94_1.jar/ classpathentry kind=lib path=lib/server-api-1.4.M03.jar/ classpathentry kind=lib path=lib/lucene-core-3.0.1.jar/ // also tried 3.1.0 classpathentry kind=output path=war/WEB-INF/classes/ /classpath On Thu, Jun 9, 2011 at 19:07, Tobias Ivarsson tobias.ivars...@neotechnology.com wrote: Hi Ian, Is neo4j-lucene-index-${version}.jar on the classpath? That is the jar file that contains the lucene integration for Neo4j, this needs to be on the classpath along with lucene-core. If it is, and things are still not working, could you please answer these questions: Which version of Neo4j are you using? Which JVM are you using? What else do you have in your system that impacts the runtime environment (e.g. OSGi)? And also provide the full classpath you are using. Cheers, Tobias 2011/6/10 Ian Bussières ian.bussie...@gmail.com Hello, I'm getting an error I cannot seem to repair. Here's the line of code popping up the error : private static IndexNode people = index.forNodes( people ); I've checked my classpath and tried with both lucene-core-3.1.0.jar and lucene-core-3.0.1.jar. Stack trace follows, thanks for any indications here ! Ian. java.lang.ExceptionInInitializerError at webapp.server.AccountServiceImpl.clinit(AccountServiceImpl.java:20) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
Re: [Neo4j] No index provider 'lucene' found
Can you please try to remove the lucene-core-3.0.1. It is possible that mixing two versions of lucene at the classpath messes things up. Cheers Michael Am 10.06.2011 um 02:27 schrieb Ian Bussières: Definitely on server side code. I start up the application directly in eclipse with the built in web server. C:\Users\Ian\Dev\PFE\pfe\src;C:\Users\Ian\Dev\PFE\pfe\lib;C:\Users\Ian\Dev\PFE\pfe\test-classes;C:\Users\Ian\Dev\PFE\pfe\war\WEB-INF\classes;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\gwt-user.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\gwt-dev.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\validation-api-1.0.0.GA-sources.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\validation-api-1.0.0.GA.jar;C:\Users\Ian\Dev\PFE\pfe\lib\geronimo-jta_1.1_spec-1.1.1.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-community-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-graph-algo-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-jmx-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-kernel-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-lucene-index-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\lucene-core-3.1.0.jar;C:\Users\Ian\Dev\PFE\pfe\lib\org.apache.servicemix.bundles.jline-0.9.94_1.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-shell-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-udc-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\server-api-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\lucene-core-3.0.1.jar On Thu, Jun 9, 2011 at 19:32, Michael Hunger michael.hun...@neotechnology.com wrote: But you're not trying to run Neo4j in the gwt client side code but rather on the server? How exactly do you start-up your application? The classpath you supplied is imho the build-classpath and not necessarily the run-classpath? Can you verify that? you can get the runtime classpath by using jsp to determine the pid of your java process and jinfo pid to extract the information. Cheers Michael Am 10.06.2011 um 01:20 schrieb Ian Bussières: Thanks for the quick answer, here's the config : JVM 1.6.0_24 I am compiling through GWT, which might somewhat impact the build, although I doubt it. Classpath, which answers some of your questions itself : ?xml version=1.0 encoding=UTF-8? classpath classpathentry kind=src path=src/ classpathentry kind=src output=test-classes path=test/ classpathentry kind=src path=lib/ classpathentry kind=con path=com.google.gwt.eclipse.core.GWT_CONTAINER/ classpathentry kind=con path=org.eclipse.jdt.launching.JRE_CONTAINER/ classpathentry kind=lib path=lib/geronimo-jta_1.1_spec-1.1.1.jar/ classpathentry kind=lib path=lib/neo4j-community-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-graph-algo-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-jmx-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-kernel-1.4.M03.jar sourcepath=C:/Users/Ian/.m2/repository/org/neo4j/neo4j-kernel/1.4.M03/neo4j-kernel-1.4.M03-sources.jar/ classpathentry kind=lib path=lib/neo4j-lucene-index-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-shell-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-udc-1.4.M03.jar/ classpathentry kind=lib path=lib/org.apache.servicemix.bundles.jline-0.9.94_1.jar/ classpathentry kind=lib path=lib/server-api-1.4.M03.jar/ classpathentry kind=lib path=lib/lucene-core-3.0.1.jar/ // also tried 3.1.0 classpathentry kind=output path=war/WEB-INF/classes/ /classpath On Thu, Jun 9, 2011 at 19:07, Tobias Ivarsson tobias.ivars...@neotechnology.com wrote: Hi Ian, Is neo4j-lucene-index-${version}.jar on the classpath? That is the jar file that contains the lucene integration for Neo4j, this needs to be on the classpath along with lucene-core. If it is, and things are still not working, could you please answer these questions: Which version of Neo4j are you using? Which JVM are you using? What else do you have in your system that impacts the runtime environment (e.g. OSGi)? And also provide the full classpath you are using. Cheers, Tobias 2011/6/10 Ian Bussières ian.bussie...@gmail.com Hello, I'm getting an error I cannot seem to repair. Here's the line of code popping up the error : private static IndexNode people = index.forNodes( people ); I've checked my classpath and tried with both lucene-core-3.1.0.jar and lucene-core-3.0.1.jar. Stack trace follows, thanks for any indications here ! Ian. java.lang.ExceptionInInitializerError at webapp.server.AccountServiceImpl.clinit(AccountServiceImpl.java:20) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at
Re: [Neo4j] No index provider 'lucene' found
New buildpath, same problem. C:\Users\Ian\Dev\PFE\pfe\src;C:\Users\Ian\Dev\PFE\pfe\lib;C:\Users\Ian\Dev\PFE\pfe\test-classes;C:\Users\Ian\Dev\PFE\pfe\war\WEB-INF\classes;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\gwt-user.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\gwt-dev.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\validation-api-1.0.0.GA-sources.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\validation-api-1.0.0.GA.jar;C:\Users\Ian\Dev\PFE\pfe\lib\geronimo-jta_1.1_spec-1.1.1.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-community-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-graph-algo-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-jmx-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-kernel-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-lucene-index-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\lucene-core-3.1.0.jar;C:\Users\Ian\Dev\PFE\pfe\lib\org.apache.servicemix.bundles.jline-0.9.94_1.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-shell-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-udc-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\server-api-1.4.M03.jar On Thu, Jun 9, 2011 at 20:32, Michael Hunger michael.hun...@neotechnology.com wrote: Can you please try to remove the lucene-core-3.0.1. It is possible that mixing two versions of lucene at the classpath messes things up. Cheers Michael Am 10.06.2011 um 02:27 schrieb Ian Bussières: Definitely on server side code. I start up the application directly in eclipse with the built in web server. C:\Users\Ian\Dev\PFE\pfe\src;C:\Users\Ian\Dev\PFE\pfe\lib;C:\Users\Ian\Dev\PFE\pfe\test-classes;C:\Users\Ian\Dev\PFE\pfe\war\WEB-INF\classes;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\gwt-user.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\gwt-dev.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\validation-api-1.0.0.GA-sources.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\validation-api-1.0.0.GA.jar;C:\Users\Ian\Dev\PFE\pfe\lib\geronimo-jta_1.1_spec-1.1.1.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-community-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-graph-algo-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-jmx-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-kernel-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-lucene-index-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\lucene-core-3.1.0.jar;C:\Users\Ian\Dev\PFE\pfe\lib\org.apache.servicemix.bundles.jline-0.9.94_1.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-shell-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-udc-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\server-api-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\lucene-core-3.0.1.jar On Thu, Jun 9, 2011 at 19:32, Michael Hunger michael.hun...@neotechnology.com wrote: But you're not trying to run Neo4j in the gwt client side code but rather on the server? How exactly do you start-up your application? The classpath you supplied is imho the build-classpath and not necessarily the run-classpath? Can you verify that? you can get the runtime classpath by using jsp to determine the pid of your java process and jinfo pid to extract the information. Cheers Michael Am 10.06.2011 um 01:20 schrieb Ian Bussières: Thanks for the quick answer, here's the config : JVM 1.6.0_24 I am compiling through GWT, which might somewhat impact the build, although I doubt it. Classpath, which answers some of your questions itself : ?xml version=1.0 encoding=UTF-8? classpath classpathentry kind=src path=src/ classpathentry kind=src output=test-classes path=test/ classpathentry kind=src path=lib/ classpathentry kind=con path=com.google.gwt.eclipse.core.GWT_CONTAINER/ classpathentry kind=con path=org.eclipse.jdt.launching.JRE_CONTAINER/ classpathentry kind=lib path=lib/geronimo-jta_1.1_spec-1.1.1.jar/ classpathentry kind=lib path=lib/neo4j-community-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-graph-algo-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-jmx-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-kernel-1.4.M03.jar sourcepath=C:/Users/Ian/.m2/repository/org/neo4j/neo4j-kernel/1.4.M03/neo4j-kernel-1.4.M03-sources.jar/ classpathentry kind=lib path=lib/neo4j-lucene-index-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-shell-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-udc-1.4.M03.jar/ classpathentry kind=lib path=lib/org.apache.servicemix.bundles.jline-0.9.94_1.jar/ classpathentry kind=lib path=lib/server-api-1.4.M03.jar/
Re: [Neo4j] WebAdmin executing bad requests
Hi Jim, The REST API returns a 201 when creating a node. It should be noted that the URLs returned from the REST API are all absolute ('self' references, etc). My understanding is that this is the expected behaviour. -- Tatham -Original Message- From: user-boun...@lists.neo4j.org [mailto:user-boun...@lists.neo4j.org] On Behalf Of Jim Webber Sent: Tuesday, 7 June 2011 10:25 PM To: Neo4j user discussions Subject: Re: [Neo4j] WebAdmin executing bad requests G'day Tatham, Just to prune the search tree a bit. Can you bring up your instance and try to interact with it via curl? That way if it succeeds we know we have a Webadmin problem, or if it fails it's likely we have a config to debug. Give this a shot: curl -X POST -H Accept:application/json -H Content-Type:application/json -d '{name:Shane Warne}' -v localhost:5105/node And let us know if it succeeds with a 201 response. 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
Re: [Neo4j] No index provider 'lucene' found
Ian, is that web-server a stock tomcat or jetty or something running an OSGi environment? So do you see something about OSGi containers being started in your console output (felix, equinox)? Could you have a look at the messages.log file in your graphdb directory if it shows anything unusual? Thanks Michael Am 10.06.2011 um 02:49 schrieb Ian Bussières: New buildpath, same problem. C:\Users\Ian\Dev\PFE\pfe\src;C:\Users\Ian\Dev\PFE\pfe\lib;C:\Users\Ian\Dev\PFE\pfe\test-classes;C:\Users\Ian\Dev\PFE\pfe\war\WEB-INF\classes;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\gwt-user.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\gwt-dev.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\validation-api-1.0.0.GA-sources.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\validation-api-1.0.0.GA.jar;C:\Users\Ian\Dev\PFE\pfe\lib\geronimo-jta_1.1_spec-1.1.1.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-community-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-graph-algo-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-jmx-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-kernel-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-lucene-index-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\lucene-core-3.1.0.jar;C:\Users\Ian\Dev\PFE\pfe\lib\org.apache.servicemix.bundles.jline-0.9.94_1.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-shell-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-udc-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\server-api-1.4.M03.jar On Thu, Jun 9, 2011 at 20:32, Michael Hunger michael.hun...@neotechnology.com wrote: Can you please try to remove the lucene-core-3.0.1. It is possible that mixing two versions of lucene at the classpath messes things up. Cheers Michael Am 10.06.2011 um 02:27 schrieb Ian Bussières: Definitely on server side code. I start up the application directly in eclipse with the built in web server. C:\Users\Ian\Dev\PFE\pfe\src;C:\Users\Ian\Dev\PFE\pfe\lib;C:\Users\Ian\Dev\PFE\pfe\test-classes;C:\Users\Ian\Dev\PFE\pfe\war\WEB-INF\classes;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\gwt-user.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\gwt-dev.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\validation-api-1.0.0.GA-sources.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\validation-api-1.0.0.GA.jar;C:\Users\Ian\Dev\PFE\pfe\lib\geronimo-jta_1.1_spec-1.1.1.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-community-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-graph-algo-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-jmx-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-kernel-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-lucene-index-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\lucene-core-3.1.0.jar;C:\Users\Ian\Dev\PFE\pfe\lib\org.apache.servicemix.bundles.jline-0.9.94_1.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-shell-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-udc-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\server-api-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\lucene-core-3.0.1.jar On Thu, Jun 9, 2011 at 19:32, Michael Hunger michael.hun...@neotechnology.com wrote: But you're not trying to run Neo4j in the gwt client side code but rather on the server? How exactly do you start-up your application? The classpath you supplied is imho the build-classpath and not necessarily the run-classpath? Can you verify that? you can get the runtime classpath by using jsp to determine the pid of your java process and jinfo pid to extract the information. Cheers Michael Am 10.06.2011 um 01:20 schrieb Ian Bussières: Thanks for the quick answer, here's the config : JVM 1.6.0_24 I am compiling through GWT, which might somewhat impact the build, although I doubt it. Classpath, which answers some of your questions itself : ?xml version=1.0 encoding=UTF-8? classpath classpathentry kind=src path=src/ classpathentry kind=src output=test-classes path=test/ classpathentry kind=src path=lib/ classpathentry kind=con path=com.google.gwt.eclipse.core.GWT_CONTAINER/ classpathentry kind=con path=org.eclipse.jdt.launching.JRE_CONTAINER/ classpathentry kind=lib path=lib/geronimo-jta_1.1_spec-1.1.1.jar/ classpathentry kind=lib path=lib/neo4j-community-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-graph-algo-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-jmx-1.4.M03.jar/ classpathentry kind=lib path=lib/neo4j-kernel-1.4.M03.jar
Re: [Neo4j] WebAdmin executing bad requests
Tatham, what version of neo4j-server are you running, and can you please post the content of the conf/neo4j-server.properties file? Thanks Michael Am 07.06.2011 um 04:20 schrieb Tatham Oddie: Howdy! Neo4j n00b here ... My /webadmin/ console loads but doesn't let me create nodes, relationships, or anything like that. It just fails silently. I've noticed that when it's loading, it attempts to make an AJAX call to this address: http://localhost:5105/http://localhost:5105/db/data/?_=1307412157988http://localhost:5105/http:/localhost:5105/db/data/?_=1307412157988 You'll notice that it's malformed, and thus results in a 404. Any tips on where I should go next? -- Tatham Oddie au mob: +61 414 275 989, us cell: +1 213 280 3556, skype: tathamoddie If you're printing this email, you're doing it wrong. This is a computer, not a typewriter. ___ 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] No index provider 'lucene' found
The web server is slightly ambiguous, because it's a GWT eclipse plugin that is used to run. I do believe it to be a Tomcat server. I'm trying to find a source that confirms that. Nothing about OSGi, no... The messages.log looks ok, apart from a few non clean shutdowns but successful recoveries. Ian Bussières Étudiant en Génie des Technologies de l'Information École de technologie supérieure [514] 814-0136 On Thu, Jun 9, 2011 at 21:03, Michael Hunger michael.hun...@neotechnology.com wrote: Ian, is that web-server a stock tomcat or jetty or something running an OSGi environment? So do you see something about OSGi containers being started in your console output (felix, equinox)? Could you have a look at the messages.log file in your graphdb directory if it shows anything unusual? Thanks Michael Am 10.06.2011 um 02:49 schrieb Ian Bussières: New buildpath, same problem. C:\Users\Ian\Dev\PFE\pfe\src;C:\Users\Ian\Dev\PFE\pfe\lib;C:\Users\Ian\Dev\PFE\pfe\test-classes;C:\Users\Ian\Dev\PFE\pfe\war\WEB-INF\classes;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\gwt-user.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\gwt-dev.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\validation-api-1.0.0.GA-sources.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\validation-api-1.0.0.GA.jar;C:\Users\Ian\Dev\PFE\pfe\lib\geronimo-jta_1.1_spec-1.1.1.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-community-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-graph-algo-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-jmx-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-kernel-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-lucene-index-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\lucene-core-3.1.0.jar;C:\Users\Ian\Dev\PFE\pfe\lib\org.apache.servicemix.bundles.jline-0.9.94_1.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-shell-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-udc-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\server-api-1.4.M03.jar On Thu, Jun 9, 2011 at 20:32, Michael Hunger michael.hun...@neotechnology.com wrote: Can you please try to remove the lucene-core-3.0.1. It is possible that mixing two versions of lucene at the classpath messes things up. Cheers Michael Am 10.06.2011 um 02:27 schrieb Ian Bussières: Definitely on server side code. I start up the application directly in eclipse with the built in web server. C:\Users\Ian\Dev\PFE\pfe\src;C:\Users\Ian\Dev\PFE\pfe\lib;C:\Users\Ian\Dev\PFE\pfe\test-classes;C:\Users\Ian\Dev\PFE\pfe\war\WEB-INF\classes;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\gwt-user.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\gwt-dev.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\validation-api-1.0.0.GA-sources.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\validation-api-1.0.0.GA.jar;C:\Users\Ian\Dev\PFE\pfe\lib\geronimo-jta_1.1_spec-1.1.1.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-community-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-graph-algo-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-jmx-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-kernel-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-lucene-index-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\lucene-core-3.1.0.jar;C:\Users\Ian\Dev\PFE\pfe\lib\org.apache.servicemix.bundles.jline-0.9.94_1.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-shell-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-udc-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\server-api-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\lucene-core-3.0.1.jar On Thu, Jun 9, 2011 at 19:32, Michael Hunger michael.hun...@neotechnology.com wrote: But you're not trying to run Neo4j in the gwt client side code but rather on the server? How exactly do you start-up your application? The classpath you supplied is imho the build-classpath and not necessarily the run-classpath? Can you verify that? you can get the runtime classpath by using jsp to determine the pid of your java process and jinfo pid to extract the information. Cheers Michael Am 10.06.2011 um 01:20 schrieb Ian Bussières: Thanks for the quick answer, here's the config : JVM 1.6.0_24 I am compiling through GWT, which might somewhat impact the build, although I doubt it. Classpath, which answers some of your questions itself : ?xml version=1.0 encoding=UTF-8? classpath classpathentry kind=src path=src/ classpathentry kind=src output=test-classes path=test/ classpathentry kind=src path=lib/ classpathentry kind=con path=com.google.gwt.eclipse.core.GWT_CONTAINER/
Re: [Neo4j] Gremlin
Hey, I got errors when building plugin: ~/Documents/_GraphDatabases/Neo4j/neo4j-gremlin-plugin$ mvn clean package Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 [INFO] Scanning for projects... [WARNING] [WARNING] Some problems were encountered while building the effective model for org.neo4j.server.plugin:neo4j-gremlin-plugin:jar:0.1-SNAPSHOT [WARNING] 'repositories.repository.layout' for maven-repository.dev.java.netuses the unsupported value 'legacy', artifact resolution might fail. @ line 225, column 15 [WARNING] [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. [WARNING] [WARNING] For this reason, future Maven versions might no longer support building such malformed projects. [WARNING] [INFO] [INFO] [INFO] Building neo4j-gremlin-plugin 0.1-SNAPSHOT [INFO] [WARNING] Could not transfer metadata org.neo4j.app:neo4j-server:1.4-SNAPSHOT/maven-metadata.xml from/to maven-repository.dev.java.net (http://download.java.net/maven/1): No connector available to access repository maven-repository.dev.java.net ( http://download.java.net/maven/1) of type legacy using the available factories WagonRepositoryConnectorFactory [WARNING] Could not transfer metadata org.neo4j.app:neo4j-server:1.4-SNAPSHOT/maven-metadata.xml from/to maven-repository.dev.java.net (http://download.java.net/maven/1): No connector available to access repository maven-repository.dev.java.net ( http://download.java.net/maven/1) of type legacy using the available factories WagonRepositoryConnectorFactory [WARNING] Could not transfer metadata org.neo4j:neo4j:1.4-SNAPSHOT/maven-metadata.xml from/to maven-repository.dev.java.net (http://download.java.net/maven/1): No connector available to access repository maven-repository.dev.java.net ( http://download.java.net/maven/1) of type legacy using the available factories WagonRepositoryConnectorFactory [WARNING] Could not transfer metadata org.neo4j:neo4j-kernel:1.4-SNAPSHOT/maven-metadata.xml from/to maven-repository.dev.java.net (http://download.java.net/maven/1): No connector available to access repository maven-repository.dev.java.net ( http://download.java.net/maven/1) of type legacy using the available factories WagonRepositoryConnectorFactory [WARNING] Could not transfer metadata org.neo4j:neo4j-kernel:1.4-SNAPSHOT/maven-metadata.xml from/to maven-repository.dev.java.net (http://download.java.net/maven/1): No connector available to access repository maven-repository.dev.java.net ( http://download.java.net/maven/1) of type legacy using the available factories WagonRepositoryConnectorFactory [WARNING] Could not transfer metadata org.neo4j:neo4j-lucene-index:1.4-SNAPSHOT/maven-metadata.xml from/to maven-repository.dev.java.net (http://download.java.net/maven/1): No connector available to access repository maven-repository.dev.java.net ( http://download.java.net/maven/1) of type legacy using the available factories WagonRepositoryConnectorFactory [WARNING] Could not transfer metadata org.neo4j:neo4j-lucene-index:1.4-SNAPSHOT/maven-metadata.xml from/to maven-repository.dev.java.net (http://download.java.net/maven/1): No connector available to access repository maven-repository.dev.java.net ( http://download.java.net/maven/1) of type legacy using the available factories WagonRepositoryConnectorFactory [WARNING] Could not transfer metadata org.neo4j:neo4j-graph-algo:1.4-SNAPSHOT/maven-metadata.xml from/to maven-repository.dev.java.net (http://download.java.net/maven/1): No connector available to access repository maven-repository.dev.java.net ( http://download.java.net/maven/1) of type legacy using the available factories WagonRepositoryConnectorFactory [WARNING] Could not transfer metadata org.neo4j:neo4j-graph-algo:1.4-SNAPSHOT/maven-metadata.xml from/to maven-repository.dev.java.net (http://download.java.net/maven/1): No connector available to access repository maven-repository.dev.java.net ( http://download.java.net/maven/1) of type legacy using the available factories WagonRepositoryConnectorFactory [WARNING] Could not transfer metadata org.neo4j:neo4j-udc:1.4-SNAPSHOT/maven-metadata.xml from/to maven-repository.dev.java.net (http://download.java.net/maven/1): No connector available to access repository maven-repository.dev.java.net ( http://download.java.net/maven/1) of type legacy using the available factories WagonRepositoryConnectorFactory [WARNING] Could not transfer metadata org.neo4j:neo4j-udc:1.4-SNAPSHOT/maven-metadata.xml from/to maven-repository.dev.java.net (http://download.java.net/maven/1): No connector available to access repository maven-repository.dev.java.net ( http://download.java.net/maven/1) of type legacy using the available factories WagonRepositoryConnectorFactory [WARNING] Could not transfer metadata org.neo4j:neo4j-graph-matching:1.4-SNAPSHOT/maven-metadata.xml
Re: [Neo4j] Gremlin
Hey, I've seen that before. You are building with Maven3 and the pom.xml of the Neo4j Server Gremlin plugin is done with Maven2. Its a simple fix -- basically, some aspects of the pom.xml are not respected, just need to be updated. Peter? Marko. http://markorodriguez.com On Jun 9, 2011, at 10:26 PM, Pierre De Wilde wrote: Hey, I got errors when building plugin: ~/Documents/_GraphDatabases/Neo4j/neo4j-gremlin-plugin$ mvn clean package Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 [INFO] Scanning for projects... [WARNING] [WARNING] Some problems were encountered while building the effective model for org.neo4j.server.plugin:neo4j-gremlin-plugin:jar:0.1-SNAPSHOT [WARNING] 'repositories.repository.layout' for maven-repository.dev.java.netuses the unsupported value 'legacy', artifact resolution might fail. @ line 225, column 15 [WARNING] [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. [WARNING] [WARNING] For this reason, future Maven versions might no longer support building such malformed projects. [WARNING] [INFO] [INFO] [INFO] Building neo4j-gremlin-plugin 0.1-SNAPSHOT [INFO] [WARNING] Could not transfer metadata org.neo4j.app:neo4j-server:1.4-SNAPSHOT/maven-metadata.xml from/to maven-repository.dev.java.net (http://download.java.net/maven/1): No connector available to access repository maven-repository.dev.java.net ( http://download.java.net/maven/1) of type legacy using the available factories WagonRepositoryConnectorFactory [WARNING] Could not transfer metadata org.neo4j.app:neo4j-server:1.4-SNAPSHOT/maven-metadata.xml from/to maven-repository.dev.java.net (http://download.java.net/maven/1): No connector available to access repository maven-repository.dev.java.net ( http://download.java.net/maven/1) of type legacy using the available factories WagonRepositoryConnectorFactory [WARNING] Could not transfer metadata org.neo4j:neo4j:1.4-SNAPSHOT/maven-metadata.xml from/to maven-repository.dev.java.net (http://download.java.net/maven/1): No connector available to access repository maven-repository.dev.java.net ( http://download.java.net/maven/1) of type legacy using the available factories WagonRepositoryConnectorFactory [WARNING] Could not transfer metadata org.neo4j:neo4j-kernel:1.4-SNAPSHOT/maven-metadata.xml from/to maven-repository.dev.java.net (http://download.java.net/maven/1): No connector available to access repository maven-repository.dev.java.net ( http://download.java.net/maven/1) of type legacy using the available factories WagonRepositoryConnectorFactory [WARNING] Could not transfer metadata org.neo4j:neo4j-kernel:1.4-SNAPSHOT/maven-metadata.xml from/to maven-repository.dev.java.net (http://download.java.net/maven/1): No connector available to access repository maven-repository.dev.java.net ( http://download.java.net/maven/1) of type legacy using the available factories WagonRepositoryConnectorFactory [WARNING] Could not transfer metadata org.neo4j:neo4j-lucene-index:1.4-SNAPSHOT/maven-metadata.xml from/to maven-repository.dev.java.net (http://download.java.net/maven/1): No connector available to access repository maven-repository.dev.java.net ( http://download.java.net/maven/1) of type legacy using the available factories WagonRepositoryConnectorFactory [WARNING] Could not transfer metadata org.neo4j:neo4j-lucene-index:1.4-SNAPSHOT/maven-metadata.xml from/to maven-repository.dev.java.net (http://download.java.net/maven/1): No connector available to access repository maven-repository.dev.java.net ( http://download.java.net/maven/1) of type legacy using the available factories WagonRepositoryConnectorFactory [WARNING] Could not transfer metadata org.neo4j:neo4j-graph-algo:1.4-SNAPSHOT/maven-metadata.xml from/to maven-repository.dev.java.net (http://download.java.net/maven/1): No connector available to access repository maven-repository.dev.java.net ( http://download.java.net/maven/1) of type legacy using the available factories WagonRepositoryConnectorFactory [WARNING] Could not transfer metadata org.neo4j:neo4j-graph-algo:1.4-SNAPSHOT/maven-metadata.xml from/to maven-repository.dev.java.net (http://download.java.net/maven/1): No connector available to access repository maven-repository.dev.java.net ( http://download.java.net/maven/1) of type legacy using the available factories WagonRepositoryConnectorFactory [WARNING] Could not transfer metadata org.neo4j:neo4j-udc:1.4-SNAPSHOT/maven-metadata.xml from/to maven-repository.dev.java.net (http://download.java.net/maven/1): No connector available to access repository maven-repository.dev.java.net ( http://download.java.net/maven/1) of type legacy using the available factories WagonRepositoryConnectorFactory [WARNING] Could not transfer
[Neo4j] Lake Constance Hackathon (South of Germany)
Hi all, we will do a Hackathon in Friedrichshafen and we have some ideas for Neo4j projects as well (see http://lcgtug.mixxt.de/networks/wiki/index.graphdb_project_proposals). So who ever is located at Lake Constance in Germany and is interested in Neo4j (-Spatial) is invited to attend :-) More Infos are here: http://lcgtug.mixxt.de/ -- Christopher twitter: @fakod blog: http://blog.fakod.eu ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] unique indexes
Sorry if this is covered somewhere, I couldn't find it in the docs. I was wondering if its possible to create unique indexes with the LuceneIndexProvider? -Matt ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] No index provider 'lucene' found
Ian, can you share your project somehow at least config and the startup class? What are eclipse and gwt plugin versions? M Sent from my iBrick4 Am 10.06.2011 um 03:33 schrieb Ian Bussières ian.bussie...@gmail.com: The web server is slightly ambiguous, because it's a GWT eclipse plugin that is used to run. I do believe it to be a Tomcat server. I'm trying to find a source that confirms that. Nothing about OSGi, no... The messages.log looks ok, apart from a few non clean shutdowns but successful recoveries. Ian Bussières Étudiant en Génie des Technologies de l'Information École de technologie supérieure [514] 814-0136 On Thu, Jun 9, 2011 at 21:03, Michael Hunger michael.hun...@neotechnology.com wrote: Ian, is that web-server a stock tomcat or jetty or something running an OSGi environment? So do you see something about OSGi containers being started in your console output (felix, equinox)? Could you have a look at the messages.log file in your graphdb directory if it shows anything unusual? Thanks Michael Am 10.06.2011 um 02:49 schrieb Ian Bussières: New buildpath, same problem. C:\Users\Ian\Dev\PFE\pfe\src;C:\Users\Ian\Dev\PFE\pfe\lib;C:\Users\Ian\Dev\PFE\pfe\test-classes;C:\Users\Ian\Dev\PFE\pfe\war\WEB-INF\classes;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\gwt-user.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\gwt-dev.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\validation-api-1.0.0.GA-sources.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\validation-api-1.0.0.GA.jar;C:\Users\Ian\Dev\PFE\pfe\lib\geronimo-jta_1.1_spec-1.1.1.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-community-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-graph-algo-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-jmx-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-kernel-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-lucene-index-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\lucene-core-3.1.0.jar;C:\Users\Ian\Dev\PFE\pfe\lib\org.apache.servicemix.bundles.jline-0.9.94_1.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-shell-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-udc-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\server-api-1.4.M03.jar On Thu, Jun 9, 2011 at 20:32, Michael Hunger michael.hun...@neotechnology.com wrote: Can you please try to remove the lucene-core-3.0.1. It is possible that mixing two versions of lucene at the classpath messes things up. Cheers Michael Am 10.06.2011 um 02:27 schrieb Ian Bussières: Definitely on server side code. I start up the application directly in eclipse with the built in web server. C:\Users\Ian\Dev\PFE\pfe\src;C:\Users\Ian\Dev\PFE\pfe\lib;C:\Users\Ian\Dev\PFE\pfe\test-classes;C:\Users\Ian\Dev\PFE\pfe\war\WEB-INF\classes;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\gwt-user.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\gwt-dev.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\validation-api-1.0.0.GA-sources.jar;C:\Program Files (x86)\Eclipse\plugins\com.google.gwt.eclipse.sdkbundle_2.3.0.r36v201104261928\gwt-2.3.0\validation-api-1.0.0.GA.jar;C:\Users\Ian\Dev\PFE\pfe\lib\geronimo-jta_1.1_spec-1.1.1.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-community-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-graph-algo-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-jmx-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-kernel-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-lucene-index-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\lucene-core-3.1.0.jar;C:\Users\Ian\Dev\PFE\pfe\lib\org.apache.servicemix.bundles.jline-0.9.94_1.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-shell-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\neo4j-udc-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\server-api-1.4.M03.jar;C:\Users\Ian\Dev\PFE\pfe\lib\lucene-core-3.0.1.jar On Thu, Jun 9, 2011 at 19:32, Michael Hunger michael.hun...@neotechnology.com wrote: But you're not trying to run Neo4j in the gwt client side code but rather on the server? How exactly do you start-up your application? The classpath you supplied is imho the build-classpath and not necessarily the run-classpath? Can you verify that? you can get the runtime classpath by using jsp to determine the pid of your java process and jinfo pid to extract the information. Cheers Michael Am 10.06.2011 um 01:20 schrieb Ian Bussières: Thanks for the quick answer, here's the config : JVM 1.6.0_24 I am compiling through GWT, which might somewhat impact the build, although I doubt it. Classpath, which answers some of your questions itself : ?xml
Re: [Neo4j] Design question: Del.icio.us
Not quite. What I am saying is that it is best to define the questions you want to answer before picking a solution and building a model. Look at Josef scenarios, a tagging table with fields [user_id][tag_id][bookmark_id][created_at] gives you tag activity streams and is not complex at all. I found a hybrid solution worked best for me. 90% of my questions were answered with a table and the other 10% with a simple graph model. Be pragmatic and don't limit yourself to having to choose. On Thu, Jun 9, 2011 at 1:49 PM, Aseem Kishore aseem.kish...@gmail.com wrote: Max, just to be clear, are you basically saying that this problem is best solved by a relational db instead of a graph db? Thanks, Aseem On Wed, Jun 8, 2011 at 11:21 PM, Max De Marzi Jr. maxdema...@gmail.comwrote: Aseem, Which users tagged what? SELECT DISTINCT user_id FROM USER_TAGS WHERE bookmark_id = x Which bookmarks did a user tag? SELECT DISTINCT bookmark_id FROM USER_TAGS WHERE user_id = x Which bookmarks were tagged with x? SELECT DISTINCT bookmark_id FROM USER_TAGS WHERE tag_id = x What question are you trying to answer that you can't get from a relational table? I think it's better to make your model depending on the questions you are trying to answer. I have a similar model (users tagging users) and I needed to answer: Which users have been tagged by me or my network 6 degrees out? What is the tagged distance a user is away from another user? Turns out, all I needed was User nodes with Tagged links. User - tagged - User - tagged - User Everything else I get from the relational db. When I start to care about which users have been tagged for by me or my network 6 degrees out for this KEYWORD, then I'll create a more complex model: User - UserKeyword - tagged - UserKeyword - User Keyword ---/ Keyword ---/ Regards, Max On Thu, Jun 9, 2011 at 12:33 AM, Aseem Kishore aseem.kish...@gmail.com wrote: Also forgot to add: now if you want to show all links (globally) for a given tag, how do you do that? Are you indexing each tag-link (as a key-value pair) every time a tag is added? Removing from the index every time a tag is deleted? Thanks, Aseem On Wed, Jun 8, 2011 at 10:31 PM, Aseem Kishore aseem.kish...@gmail.com wrote: I forgot to state this, but a key requirement of tags of course is that you can apply multiple of them to the same link. Would you still go that route then? If you want to delete a link from your bookmarks, it's a matter then of deleting each tag edge? Aseem On Wed, Jun 8, 2011 at 10:28 PM, Siddhartha Kasivajhula countvajh...@gmail.com wrote: Couldn't you use edges for tags instead of nodes? user1 --tag-- link1 user2 --tag-- link1 user1 --tag-- link2 On Wed, Jun 8, 2011 at 10:23 PM, Aseem Kishore aseem.kish...@gmail.com wrote: Hi guys, We're thinking about implementing tags in our system, and we're pondering a few ideas for how we'd go about it, and none of them seem perfect. I'd like to ask you guys: how would you design an analogous case: Del.icio.us ? At the core, *users bookmark links*, so it makes sense to have users and links as types of nodes, and bookmark as the type of edge that connects them. Now, you can see all the links a given user has bookmarked, and all the users that have bookmarked a given link. Now users can also *tag* links, of course, but the most interesting requirement is that, when I'm looking at *my links*, I only want to see *my tags*. Thus, tags can't be tied just to links; they have to be tied to users too. But most importantly, you have to maintain *which* user and *which* link *each* tag is for. Thus, it seems most intuitive to us if we could have tags be nodes that *point to the bookmark edges*. Unfortunately, that's a hypergraph, which Neo4j doesn't support. We could use intermediate nodes for bookmarks maybe, but that sort of sucks to lose the intuitiveness of the graph and introduce redundant edges, more complexity which makes consistency harder, etc. We have some other ideas, but I'm curious if any of you guys have thought about this already or have done it, or if you guys have thoughts. Thanks in advance! Aseem ___ 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