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

Reply via email to