Joshi, currently, the REST API supports Node, Relationship and Path representations. That means, in the return, make sure you have one of these, see http://docs.neo4j.org/chunked/snapshot/server-plugins.html
You are returning Iterable<RelationshipType> which is not supported (yet), but sounds like a good addition! Maybe you can file an issue on that so people can start looking at it? Cheers, /peter neubauer GTalk: neubauer.peter Skype peter.neubauer Phone +46 704 106975 LinkedIn http://www.linkedin.com/in/neubauer Twitter http://twitter.com/peterneubauer http://www.neo4j.org - Your high performance graph database. http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. On Wed, Feb 2, 2011 at 5:31 AM, Joshi Hemant - hjoshi <[email protected]> wrote: > Oh.. yes..it is very well documented. I just needed to read through. :) > I have got couple of questions related to plugins: > 1) Instead of plugins being accessible through POST method to the URI, can > they be declared accessible as a GET request? > > 2) The following function did not show up at http://localhost:7474/db/data/ > though it compiles: > > @Name( "getAllRelationshipTypes" ) > @Description( "Get all relationship types of the graph" ) > @PluginTarget( GraphDatabaseService.class ) > public Iterable<RelationshipType> getAllRelationshipTypes( @Source > GraphDatabaseService graphDb) > { > Return graphDb.getRelationshipTypes(); > } > > My guess is that the current API does not support Iterable<RelationshipType> > as a json document. Instead the following works: > @Name( "getAllRelationshipTypes" ) > @Description( "Get all relationship types of the graph" ) > @PluginTarget( GraphDatabaseService.class ) > public Iterable<String> getAllRelationshipTypes( @Source > GraphDatabaseService graphDb) > { > Vector<String> v = new Vector<String>(); > for(RelationshipType rType : graphDb.getRelationshipTypes()){ > v.add(rType.name()); > } > return v; > } > which returns Iterable<String> with additional manipulations. > Is that the case or am I missing something? > -Hemant > > -----Original Message----- > From: [email protected] [mailto:[email protected]] On > Behalf Of Jim Webber > Sent: Tuesday, February 01, 2011 9:41 PM > To: Neo4j user discussions > Subject: Re: [Neo4j] neo4j plugins > > Hi, > > Looking at the docs, it already says that the conventional place for > extensions is $NEO4J_HOME/plugins. I've updated the docs to emphasise that > more clearly. > > Jim > > On 1 Feb 2011, at 19:22, Joshi Hemant - hjoshi wrote: > >> Thanks Michael. I don't think I can update documentation at >> http://docs.neo4j.org/chunked/snapshot/server-plugins.html >> Is http://wiki.neo4j.org/content/Using_the_Neo4j_Server_with_Java a good >> place to add section about plugins that are REST URI accessible? >> >> -Hemant >> >> >> -----Original Message----- >> From: [email protected] [mailto:[email protected]] On >> Behalf Of Michael Hunger >> Sent: Tuesday, February 01, 2011 5:04 PM >> To: Neo4j user discussions >> Subject: Re: [Neo4j] Neo4j 1.2 server on Linux X86 - 64 bit >> >> Hemant, >> >> Good work, perhaps you'd like to publish it somewhere in the wiki or in a >> blog post. >> Now you also know how to speed up your app, whenever the existing REST API >> is too chatty for a usecase. Just write a plugin that gets the data (nodes, >> relationships) that you want to get in one request (e.g. via a traversal) >> and return them. >> >> Cheers >> >> Michael >> >> >> Am 01.02.2011 um 23:55 schrieb Joshi Hemant - hjoshi: >> >>> I solved it!! The jar file needed to be in the plugins folder. >>> -Hemant >>> >>> -----Original Message----- >>> From: [email protected] [mailto:[email protected]] On >>> Behalf Of Joshi Hemant - hjoshi >>> Sent: Tuesday, February 01, 2011 4:50 PM >>> To: Neo4j user discussions >>> Subject: Re: [Neo4j] Neo4j 1.2 server on Linux X86 - 64 bit >>> >>> I could create OldIndex plugin to read index created using 0.8 snapshot of >>> REST server and made entry for the plugin in the >>> org.neo4j.server.plugins.ServerPlugin as follows: >>> org.neo4j.examples.server.plugins.OldIndex >>> The code for OldIndex is very straight forward : >>> >>> @Name( "getNodes" ) >>> @Description( "Get all nodes from the lucene index" ) >>> @PluginTarget( GraphDatabaseService.class ) >>> public Iterable<Node> getAllNodes( @Source GraphDatabaseService graphDb, >>> @Description( "The key to search old lucene index with" ) >>> @Parameter( name = "key" ) String key, >>> @Description( "The value to search old lucene index with" ) >>> @Parameter( name = "value" ) String value) >>> { >>> IndexService ind = new LuceneReadOnlyIndexService(graphDb); >>> IndexHits<Node> nodeHits = ind.getNodes(key, value); >>> return nodeHits; >>> } >>> >>> When I post to URL >>> http://localhost:7474/db/data/ext/OldIndex/graphdb/getNodes with key as >>> name and value as "JOHN DOE", I should get a single node back as it was >>> indexed and accessible earlier through old 0.8 REST snapshot. >>> >>> According to wrapper.log file, the request was handled and returned with >>> 200 HTTP code. >>> >>> INFO | jvm 1 | 2011/02/01 16:38:46 | [org.mortbay.log] : REQUEST >>> /db/data/ext/OldIndex/graphdb/getNodes on >>> org.mortbay.jetty.HttpConnection@124e935 >>> INFO | jvm 1 | 2011/02/01 16:38:46 | [org.mortbay.log] : >>> sessionManager=org.mortbay.jetty.servlet.HashSessionManager@14b5f4a >>> INFO | jvm 1 | 2011/02/01 16:38:46 | [org.mortbay.log] : session=null >>> INFO | jvm 1 | 2011/02/01 16:38:46 | [org.mortbay.log] : >>> servlet=org.neo4j.server.web.NeoServletContainer-19297865 >>> INFO | jvm 1 | 2011/02/01 16:38:46 | [org.mortbay.log] : chain=null >>> INFO | jvm 1 | 2011/02/01 16:38:46 | [org.mortbay.log] : servlet >>> holder=org.neo4j.server.web.NeoServletContainer-19297865 >>> INFO | jvm 1 | 2011/02/01 16:38:46 | [org.mortbay.log] : RESPONSE >>> /db/data/ext/OldIndex/graphdb/getNodes 200 >>> INFO | jvm 1 | 2011/02/01 16:38:46 | [org.mortbay.log] : EOF >>> >>> But there were no results returned. >>> The question is: how does one access old lucene index created with 0.8 >>> snapshot in the new 1.2 server plugin framework? >>> -Hemant >>> >>> -----Original Message----- >>> From: [email protected] [mailto:[email protected]] On >>> Behalf Of Peter Neubauer >>> Sent: Thursday, January 27, 2011 4:43 PM >>> To: Neo4j user discussions >>> Subject: Re: [Neo4j] Neo4j 1.2 server on Linux X86 - 64 bit >>> >>> Joshi, >>> you can see the process here, >>> http://docs.neo4j.org/chunked/snapshot/server-plugins.html, and and an >>> example under neo4j-examples (part of the server distribution) under >>> /examples/java/site/server-plugins.html that links to the local >>> example code. >>> >>> Let me know if you encounter problems, and I will try to help you! >>> >>> 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://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. >>> >>> >>> >>> On Thu, Jan 27, 2011 at 10:06 AM, Joshi Hemant - hjoshi >>> <[email protected]> wrote: >>>> I can write a java program if it is straight forward process. Otherwise, I >>>> will have to wait. >>>> -Hemant >>>> >>>> -----Original Message----- >>>> From: [email protected] [mailto:[email protected]] >>>> On Behalf Of Peter Neubauer >>>> Sent: Thursday, January 27, 2011 10:35 AM >>>> To: Neo4j user discussions >>>> Subject: Re: [Neo4j] Neo4j 1.2 server on Linux X86 - 64 bit >>>> >>>> Joshi, >>>> would it be possible for you to write that extension? Otherwise, I can >>>> try to power it through one of these days :/ >>>> >>>> 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://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. >>>> >>>> >>>> >>>> On Thu, Jan 27, 2011 at 8:08 AM, Joshi Hemant - hjoshi >>>> <[email protected]> wrote: >>>>> I do not think I have an options of updating index to new provider >>>>> framework using REST or java. I think an extension would make updating to >>>>> latest release much easier for us. >>>>> -Hemant >>>>> >>>>> -----Original Message----- >>>>> From: [email protected] [mailto:[email protected]] >>>>> On Behalf Of Peter Neubauer >>>>> Sent: Wednesday, January 26, 2011 11:59 PM >>>>> To: Neo4j user discussions >>>>> Subject: Re: [Neo4j] Neo4j 1.2 server on Linux X86 - 64 bit >>>>> >>>>> Joshi, >>>>> the current REST API exposes the new Indexes that you can create on >>>>> nodes and relatoinships. The old indexes (that your DB probably is >>>>> indexed with) are not exposed via the Server REST API. >>>>> >>>>> I would suggest to reindex your data using either the current REST >>>>> API, >>>>> http://components.neo4j.org/neo4j-server/snapshot/rest.html#Add_indices_with_provided_configuration_parameters >>>>> >>>>> or in Java code http://wiki.neo4j.org/content/Index_Framework or >>>>> >>>>> Is that possible for you? Otherwise we would need to find another >>>>> solution, or write an extension that provides access to the old index >>>>> API, since this has come up repeatedly now. >>>>> >>>>> 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://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. >>>>> >>>>> >>>>> >>>>> On Wed, Jan 26, 2011 at 8:53 PM, Joshi Hemant - hjoshi >>>>> <[email protected]> wrote: >>>>>> Thanks Peter. You were right. Changing those 2 entries did solve the >>>>>> problem of connecting to the webadmin UI as well as getting json >>>>>> document back for simple requests such as >>>>>> >>>>>> curl -H Accept:application/json >>>>>> http://gigdev8028.gig.acxiom.net:9999/db/data/node/1 >>>>>> >>>>>> Here are the 2 issues that are still puzzling to me. >>>>>> 1) Though I have put the 2 aforementioned settings in neo4j.properties >>>>>> file under conf folder (attached), I was still able to create a new node >>>>>> without problems and could get json document back for the new node as >>>>>> well. >>>>>> >>>>>> 2) When I pointed neo4j 1.2 server to my old neo4j-rest-db directory, I >>>>>> could access all nodes, relationships as well properties etc. online >>>>>> through webadmin as well as json requests but I am not able to access >>>>>> the lucene index I have created on this data. I have several nodes I >>>>>> have indexed in the old version that I would like to access using 1.2 >>>>>> but when I try to get to >>>>>> http://gigdev8028.gig.acxiom.net:9999/db/data/index/node >>>>>> >>>>>> So far I get no response (no error either) I have attached neo4j.log and >>>>>> wrapper.log if that helps. >>>>>> Thanks for your help. >>>>>> -Hemant >>>>>> >>>>>> -----Original Message----- >>>>>> From: [email protected] [mailto:use >>>>>> [email protected]] On Behalf Of Peter Neubauer >>>>>> Sent: Tuesday, January 25, 2011 9:27 PM >>>>>> To: Neo4j user discussions >>>>>> Subject: Re: [Neo4j] Neo4j 1.2 server on Linux X86 - 64 bit >>>>>> >>>>>> Joshi, >>>>>> I am a bit suspicious of your wrapper.log, >>>>>> >>>>>> STATUS | wrapper | 2011/01/24 11:34:47 | Launching a JVM... >>>>>> INFO | jvm 1 | 2011/01/24 11:34:47 | WrapperManager: Initializing... >>>>>> INFO | jvm 1 | 2011/01/24 11:34:47 | WrapperManager: >>>>>> INFO | jvm 1 | 2011/01/24 11:34:47 | WrapperManager: WARNING - >>>>>> Unable to load the Wrapper's native library because none of the >>>>>> INFO | jvm 1 | 2011/01/24 11:34:47 | WrapperManager: >>>>>> following files: >>>>>> INFO | jvm 1 | 2011/01/24 11:34:47 | WrapperManager: >>>>>> libwrapper-linux-x86-64.so >>>>>> INFO | jvm 1 | 2011/01/24 11:34:47 | WrapperManager: >>>>>> libwrapper.so >>>>>> INFO | jvm 1 | 2011/01/24 11:34:47 | WrapperManager: >>>>>> could be located on the following java.library.path: >>>>>> INFO | jvm 1 | 2011/01/24 11:34:47 | WrapperManager: >>>>>> /home/hjoshi/neo4j-1.2/bin/lib >>>>>> INFO | jvm 1 | 2011/01/24 11:34:47 | WrapperManager: >>>>>> Please see the documentation for the wrapper.java.library.path >>>>>> INFO | jvm 1 | 2011/01/24 11:34:47 | WrapperManager: >>>>>> configuration property. >>>>>> INFO | jvm 1 | 2011/01/24 11:34:47 | WrapperManager: >>>>>> System signals will not be handled correctly. >>>>>> >>>>>> but that should not be fatal. >>>>>> >>>>>> It seems you are accessing the webadmin from outside localhost with >>>>>> the external name? In that case, you should tell the external address >>>>>> in the conf/neo4j-server.properties: >>>>>> >>>>>> # REST endpoint for the data API >>>>>> # Note the / in the end is mandatory >>>>>> org.neo4j.server.webadmin.data.uri=http://localhost:7474/db/data/ >>>>>> >>>>>> # REST endpoint of the administration API (used by Webadmin) >>>>>> org.neo4j.server.webadmin.management.uri=http://localhost:7474/db/manage/ >>>>>> >>>>>> should be changed to >>>>>> >>>>>> # REST endpoint for the data API >>>>>> # Note the / in the end is mandatory >>>>>> org.neo4j.server.webadmin.data.uri=http://gigdev8028.gig.acxiom.net:7474/db/data/ >>>>>> >>>>>> # REST endpoint of the administration API (used by Webadmin) >>>>>> org.neo4j.server.webadmin.management.uri=http://gigdev8028.gig.acxiom.net:7474/db/manage/ >>>>>> >>>>>> Does that change things for the webadmin? >>>>>> >>>>>> 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://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. >>>>>> >>>>>> >>>>>> >>>>>> On Sat, Jan 22, 2011 at 9:08 AM, Peter Neubauer >>>>>> <[email protected]> wrote: >>>>>>> Joshi, >>>>>>> Could youy send over the contents of the log files under data/log to >>>>>>> me in order to take a look? >>>>>>> >>>>>>> /peter >>>>>>> >>>>>>> On Friday, January 21, 2011, Joshi Hemant - hjoshi >>>>>>> <[email protected]> wrote: >>>>>>>> I downloaded Neo4j 1.2 release for linux from >>>>>>>> http://neo4j.org/get?file=neo4j-1.2-unix.tar.gz and extracted it to a >>>>>>>> directory using tar -zxvf <file>. I installed the service using >>>>>>>> bin/neo4j install option. Next, I followed documentation at >>>>>>>> http://wiki.neo4j.org/content/Getting_Started_With_Neo4j_Server. After >>>>>>>> the neo4j server is started successfully, when I try the curl command >>>>>>>> curl -H Accept:application/json http://localhost:7474/db/data/ >>>>>>>> >>>>>>>> I get the following response: >>>>>>>> <HTML> >>>>>>>> <HEAD><TITLE>Redirection</TITLE></HEAD> >>>>>>>> <BODY><H1>Redirect</H1></BODY> >>>>>>>> >>>>>>>> Also from firefox, when I try to access webadmin at >>>>>>>> http://gigdev8028.gig.acxiom.net:7474/webadmin/ >>>>>>>> I get the following error message: >>>>>>>> Server connection lost >>>>>>>> Attempting to re-establish connection.. >>>>>>>> >>>>>>>> I have not changed any config files. uname-a command returns the >>>>>>>> following: >>>>>>>> 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 >>>>>>>> x86_64 GNU/Linux >>>>>>>> >>>>>>>> The 2 log files neo4j.log and wrapper.log under data/log directory do >>>>>>>> not show any error messages. >>>>>>>> >>>>>>>> Am I missing something? >>>>>>>> -Hemant >>>>>>>> *************************************************************************** >>>>>>>> The information contained in this communication is confidential, is >>>>>>>> intended only for the use of the recipient named above, and may be >>>>>>>> legally >>>>>>>> privileged. >>>>>>>> >>>>>>>> If the reader of this message is not the intended recipient, you are >>>>>>>> hereby notified that any dissemination, distribution or copying of this >>>>>>>> communication is strictly prohibited. >>>>>>>> >>>>>>>> If you have received this communication in error, please resend this >>>>>>>> communication to the sender and delete the original message or any copy >>>>>>>> of it from your computer system. >>>>>>>> >>>>>>>> Thank You. >>>>>>>> **************************************************************************** >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Neo4j mailing list >>>>>>>> [email protected] >>>>>>>> https://lists.neo4j.org/mailman/listinfo/user >>>>>>>> >>>>>>> >>>>>> _______________________________________________ >>>>>> Neo4j mailing list >>>>>> [email protected] >>>>>> https://lists.neo4j.org/mailman/listinfo/user >>>>>> _______________________________________________ >>>>>> Neo4j mailing list >>>>>> [email protected] >>>>>> https://lists.neo4j.org/mailman/listinfo/user >>>>>> >>>>> _______________________________________________ >>>>> Neo4j mailing list >>>>> [email protected] >>>>> https://lists.neo4j.org/mailman/listinfo/user >>>>> _______________________________________________ >>>>> Neo4j mailing list >>>>> [email protected] >>>>> https://lists.neo4j.org/mailman/listinfo/user >>>>> >>>> _______________________________________________ >>>> Neo4j mailing list >>>> [email protected] >>>> https://lists.neo4j.org/mailman/listinfo/user >>>> _______________________________________________ >>>> Neo4j mailing list >>>> [email protected] >>>> https://lists.neo4j.org/mailman/listinfo/user >>>> >>> _______________________________________________ >>> Neo4j mailing list >>> [email protected] >>> https://lists.neo4j.org/mailman/listinfo/user >>> _______________________________________________ >>> Neo4j mailing list >>> [email protected] >>> https://lists.neo4j.org/mailman/listinfo/user >>> _______________________________________________ >>> Neo4j mailing list >>> [email protected] >>> https://lists.neo4j.org/mailman/listinfo/user >> >> _______________________________________________ >> Neo4j mailing list >> [email protected] >> https://lists.neo4j.org/mailman/listinfo/user >> _______________________________________________ >> Neo4j mailing list >> [email protected] >> https://lists.neo4j.org/mailman/listinfo/user > > _______________________________________________ > Neo4j mailing list > [email protected] > https://lists.neo4j.org/mailman/listinfo/user > _______________________________________________ > Neo4j mailing list > [email protected] > https://lists.neo4j.org/mailman/listinfo/user > _______________________________________________ Neo4j mailing list [email protected] https://lists.neo4j.org/mailman/listinfo/user

