Re: [Neo4j] Using the REST neo4j

2010-09-16 Thread Jacob Hansson
On Thu, Sep 16, 2010 at 9:25 AM, Mattias Persson
matt...@neotechnology.comwrote:

 2010/9/15 Jacob Hansson ja...@voltvoodoo.com

  On Wed, Sep 15, 2010 at 5:37 PM, Jacob Hansson ja...@voltvoodoo.com
  wrote:
 
   Hi Alex, sorry this response took me so long, see responses inline!
  
   2010/9/10 Alexandru Popescu ☀ the.mindstorm.mailingl...@gmail.com
  
   On Tuesday, September 7, 2010, Jacob Hansson ja...@voltvoodoo.com
  wrote:
2010/9/6 Alexandru Popescu ☀ the.mindstorm.mailingl...@gmail.com
   
On Monday, September 6, 2010, Jim Webber j...@webber.name wrote:
 Hi Alex,

 While I still can achieve all these with the current packaging,
 it
 feels more hacky: I need to create a new Jetty6BasedWebServer
 or
 modify the existing one to enhance it with my own stuff. Each
  change
 would require compiling and repackaging the whole neo4j-rest.
 Definitely not as easy as dropping in my own jar and a new
  web.xml.

 That's an interesting point. In a sense, the neo-rest package is
   Neo's
REST package.
   
Interesting... My main question is: what exactly is this package
offering to the end user in the current form? IMO it cannot be an
off-the-shelf product as there is no security. It is not a library
either, as extending it is not so easy. Basically, and without any
intention to harm any feelings, it looks like one of those dummy
 web
UI interface to X. And I'd say it has much more potential than
 that!
   
   
  
   Jacob,
  
   I must confess I'm totally confused by your comments below.
  
I've always seen it as the beginnings of a proper stand-alone neo4j
   server.
  
   If it is the beginning, then what comes next? And more importantly
   from whom? Basically my proposal was meant to make things easier for
   people to built on top of it, so I'm not really sure how you see the
   continuation of it.
  
  
   There is lots of cool things that can be done next. Both continuing to
   extend the functionality of the REST server, but also (and more
  importantly)
   to look at and help out with the work being done on clients for the
  server
   in various languages. For instance I'd love to see simple-to-use ORMs
 on
  top
   of the python and php clients, enabling web developers to start
 building
   stuff with Neo4j as their database tier.
  
  
 
  Just to clarify (trying to keep my answers less confusing :) ):
 
  To answer the last portion of your question, I think making neo4j REST
 more
  extensible is great (see my last answer). However, I read your initial
  proposal as an argument for viewing neo4j-rest as a library and for
  switching to a WAR packaging model. Both of which I strongly oppose *if*
 it
  is done at the expense of the stand alone application.
 

 I don't think it's about making the standalone REST package into a WAR, but
 to add a packaging as a war as another option to use the REST service.
 There's really no reason not to have both packagings, or is there?


Yeah, I think I very much misunderstood the scope of Alexandrus initial
proposal - adding more packaging options, as well as making neo4j-rest
easier to extend is a great idea :)


 
 
A REST/JSON API to Neo4j opens up for remote clients in any
 language,
   and
would be an important part in matching offerings from other database
vendors. While extendability is a great thing, building it as a
  library
and/or packaging it as a WAR makes it very java-centric.
   
  
   Currently the neo4j-rest is distributed as a java application. So it
   is java-centric. What makes it attractive is that it allows using the
   HTTP protocol. Providing neo4j-rest as both a self contained app and
   as a web app will give you exactly the same benefits, with additional
   freedom on choosing how to use it, what servers to deploy it too, etc.
  
  
   True, the neo4j-rest project is, but I see the biggest potential of the
   REST project in it's stand-alone version, neo4j-rest-standalone. The
  reason
   for that is precisely what I mentioned before, the fact that it is not
  java
   centric.
  
   Distributing both as a WAR and as a stand-alone application sounds like
 a
   great solution!
  
  
  
Like you say, there is no security, and I agree it is currently the
  main
culprit stopping neo4j REST from production use. This can of course
 be
offset with firewalling etc, but I couldn't agree more of the
  importance
   of
a proper security layer.
   
  
   Security was used as a basic example of things that could be much
   easier to be added on top of the neo4j-rest if provided in a simpler
   format. As you probably know already firewalls will give you at most a
   very basic sort of authentication, but nothing else.
  
  
As far as UI interface to X goes, the area to focus on I think is
  the
   JSON
part of the API. With that, a UI can be built in any language. Take
 a
   look
at http://github.com/neo4j/webadmin for a more 

Re: [Neo4j] Using the REST neo4j

2010-09-15 Thread Jacob Hansson
Hi Alex, sorry this response took me so long, see responses inline!

2010/9/10 Alexandru Popescu ☀ the.mindstorm.mailingl...@gmail.com

 On Tuesday, September 7, 2010, Jacob Hansson ja...@voltvoodoo.com wrote:
  2010/9/6 Alexandru Popescu ☀ the.mindstorm.mailingl...@gmail.com
 
  On Monday, September 6, 2010, Jim Webber j...@webber.name wrote:
   Hi Alex,
  
   While I still can achieve all these with the current packaging, it
   feels more hacky: I need to create a new Jetty6BasedWebServer or
   modify the existing one to enhance it with my own stuff. Each change
   would require compiling and repackaging the whole neo4j-rest.
   Definitely not as easy as dropping in my own jar and a new web.xml.
  
   That's an interesting point. In a sense, the neo-rest package is Neo's
  REST package.
 
  Interesting... My main question is: what exactly is this package
  offering to the end user in the current form? IMO it cannot be an
  off-the-shelf product as there is no security. It is not a library
  either, as extending it is not so easy. Basically, and without any
  intention to harm any feelings, it looks like one of those dummy web
  UI interface to X. And I'd say it has much more potential than that!
 
 

 Jacob,

 I must confess I'm totally confused by your comments below.

  I've always seen it as the beginnings of a proper stand-alone neo4j
 server.

 If it is the beginning, then what comes next? And more importantly
 from whom? Basically my proposal was meant to make things easier for
 people to built on top of it, so I'm not really sure how you see the
 continuation of it.


There is lots of cool things that can be done next. Both continuing to
extend the functionality of the REST server, but also (and more importantly)
to look at and help out with the work being done on clients for the server
in various languages. For instance I'd love to see simple-to-use ORMs on top
of the python and php clients, enabling web developers to start building
stuff with Neo4j as their database tier.



  A REST/JSON API to Neo4j opens up for remote clients in any language, and
  would be an important part in matching offerings from other database
  vendors. While extendability is a great thing, building it as a library
  and/or packaging it as a WAR makes it very java-centric.
 

 Currently the neo4j-rest is distributed as a java application. So it
 is java-centric. What makes it attractive is that it allows using the
 HTTP protocol. Providing neo4j-rest as both a self contained app and
 as a web app will give you exactly the same benefits, with additional
 freedom on choosing how to use it, what servers to deploy it too, etc.


True, the neo4j-rest project is, but I see the biggest potential of the REST
project in it's stand-alone version, neo4j-rest-standalone. The reason for
that is precisely what I mentioned before, the fact that it is not java
centric.

Distributing both as a WAR and as a stand-alone application sounds like a
great solution!



  Like you say, there is no security, and I agree it is currently the main
  culprit stopping neo4j REST from production use. This can of course be
  offset with firewalling etc, but I couldn't agree more of the importance
 of
  a proper security layer.
 

 Security was used as a basic example of things that could be much
 easier to be added on top of the neo4j-rest if provided in a simpler
 format. As you probably know already firewalls will give you at most a
 very basic sort of authentication, but nothing else.


  As far as UI interface to X goes, the area to focus on I think is the
 JSON
  part of the API. With that, a UI can be built in any language. Take a
 look
  at http://github.com/neo4j/webadmin for a more powerful browsing UI for
  neo4j REST.
 

 I think you mis-read my post. I'm not looking for a nice UI, but
 rather for a basis to further build REST services on top of a neo4j
 db. As Jim mentioned in his posts, currently neo4j-rest is just
 exposing the basics of a neo4j db.


It's true that the functionality exposed by neo4j-rest so far is fairly
basic. There are several important parts of the neo4j API that should be
exposed via REST (like transactions). I don't see that as an argument to
make neo4j-rest more extendable though, as I feel these core items should be
added the same way the data browsing, index and traversal APIs have been
added.

That said - extendability would be a great thing, and there are ways to make
neo4j-rest much more accessible than it is today. I know Andreas is looking
into the possibility of making neo4j-rest use OSGi-magic, which if
implemented would make it possible to hot-deploy extensions into neo4j-rest
as well as package extensions with it.

I think the main reason of our disagreement (and my confusing answers :) )
is that we view neo4j-rest from two sides. I see it through the eyes of a
web-developer. I'm used to having my database at some given port and a
client in my web tier that throws work at the database. You see it as a

Re: [Neo4j] Using the REST neo4j

2010-09-15 Thread Jacob Hansson
On Wed, Sep 15, 2010 at 5:37 PM, Jacob Hansson ja...@voltvoodoo.com wrote:

 Hi Alex, sorry this response took me so long, see responses inline!

 2010/9/10 Alexandru Popescu ☀ the.mindstorm.mailingl...@gmail.com

 On Tuesday, September 7, 2010, Jacob Hansson ja...@voltvoodoo.com wrote:
  2010/9/6 Alexandru Popescu ☀ the.mindstorm.mailingl...@gmail.com
 
  On Monday, September 6, 2010, Jim Webber j...@webber.name wrote:
   Hi Alex,
  
   While I still can achieve all these with the current packaging, it
   feels more hacky: I need to create a new Jetty6BasedWebServer or
   modify the existing one to enhance it with my own stuff. Each change
   would require compiling and repackaging the whole neo4j-rest.
   Definitely not as easy as dropping in my own jar and a new web.xml.
  
   That's an interesting point. In a sense, the neo-rest package is
 Neo's
  REST package.
 
  Interesting... My main question is: what exactly is this package
  offering to the end user in the current form? IMO it cannot be an
  off-the-shelf product as there is no security. It is not a library
  either, as extending it is not so easy. Basically, and without any
  intention to harm any feelings, it looks like one of those dummy web
  UI interface to X. And I'd say it has much more potential than that!
 
 

 Jacob,

 I must confess I'm totally confused by your comments below.

  I've always seen it as the beginnings of a proper stand-alone neo4j
 server.

 If it is the beginning, then what comes next? And more importantly
 from whom? Basically my proposal was meant to make things easier for
 people to built on top of it, so I'm not really sure how you see the
 continuation of it.


 There is lots of cool things that can be done next. Both continuing to
 extend the functionality of the REST server, but also (and more importantly)
 to look at and help out with the work being done on clients for the server
 in various languages. For instance I'd love to see simple-to-use ORMs on top
 of the python and php clients, enabling web developers to start building
 stuff with Neo4j as their database tier.



Just to clarify (trying to keep my answers less confusing :) ):

To answer the last portion of your question, I think making neo4j REST more
extensible is great (see my last answer). However, I read your initial
proposal as an argument for viewing neo4j-rest as a library and for
switching to a WAR packaging model. Both of which I strongly oppose *if* it
is done at the expense of the stand alone application.


  A REST/JSON API to Neo4j opens up for remote clients in any language,
 and
  would be an important part in matching offerings from other database
  vendors. While extendability is a great thing, building it as a library
  and/or packaging it as a WAR makes it very java-centric.
 

 Currently the neo4j-rest is distributed as a java application. So it
 is java-centric. What makes it attractive is that it allows using the
 HTTP protocol. Providing neo4j-rest as both a self contained app and
 as a web app will give you exactly the same benefits, with additional
 freedom on choosing how to use it, what servers to deploy it too, etc.


 True, the neo4j-rest project is, but I see the biggest potential of the
 REST project in it's stand-alone version, neo4j-rest-standalone. The reason
 for that is precisely what I mentioned before, the fact that it is not java
 centric.

 Distributing both as a WAR and as a stand-alone application sounds like a
 great solution!



  Like you say, there is no security, and I agree it is currently the main
  culprit stopping neo4j REST from production use. This can of course be
  offset with firewalling etc, but I couldn't agree more of the importance
 of
  a proper security layer.
 

 Security was used as a basic example of things that could be much
 easier to be added on top of the neo4j-rest if provided in a simpler
 format. As you probably know already firewalls will give you at most a
 very basic sort of authentication, but nothing else.


  As far as UI interface to X goes, the area to focus on I think is the
 JSON
  part of the API. With that, a UI can be built in any language. Take a
 look
  at http://github.com/neo4j/webadmin for a more powerful browsing UI for
  neo4j REST.
 

 I think you mis-read my post. I'm not looking for a nice UI, but
 rather for a basis to further build REST services on top of a neo4j
 db. As Jim mentioned in his posts, currently neo4j-rest is just
 exposing the basics of a neo4j db.


 It's true that the functionality exposed by neo4j-rest so far is fairly
 basic. There are several important parts of the neo4j API that should be
 exposed via REST (like transactions). I don't see that as an argument to
 make neo4j-rest more extendable though, as I feel these core items should be
 added the same way the data browsing, index and traversal APIs have been
 added.

 That said - extendability would be a great thing, and there are ways to
 make neo4j-rest much more accessible than 

Re: [Neo4j] Using the REST neo4j

2010-09-14 Thread Mattias Persson
I see your point and I think that it'd be a good idea to have the
ability to build/download a .war file for convenience, in addition to
the current format. I don't really see any arguments against it at
least. And it should be a fairly easy task to create such an assembly.


2010/9/10, Alexandru Popescu ☀ the.mindstorm.mailingl...@gmail.com:
 On Tuesday, September 7, 2010, Jacob Hansson ja...@voltvoodoo.com wrote:
 2010/9/6 Alexandru Popescu ☀ the.mindstorm.mailingl...@gmail.com

 On Monday, September 6, 2010, Jim Webber j...@webber.name wrote:
  Hi Alex,
 
  While I still can achieve all these with the current packaging, it
  feels more hacky: I need to create a new Jetty6BasedWebServer or
  modify the existing one to enhance it with my own stuff. Each change
  would require compiling and repackaging the whole neo4j-rest.
  Definitely not as easy as dropping in my own jar and a new web.xml.
 
  That's an interesting point. In a sense, the neo-rest package is Neo's
 REST package.

 Interesting... My main question is: what exactly is this package
 offering to the end user in the current form? IMO it cannot be an
 off-the-shelf product as there is no security. It is not a library
 either, as extending it is not so easy. Basically, and without any
 intention to harm any feelings, it looks like one of those dummy web
 UI interface to X. And I'd say it has much more potential than that!



 Jacob,

 I must confess I'm totally confused by your comments below.

 I've always seen it as the beginnings of a proper stand-alone neo4j
 server.

 If it is the beginning, then what comes next? And more importantly
 from whom? Basically my proposal was meant to make things easier for
 people to built on top of it, so I'm not really sure how you see the
 continuation of it.

 A REST/JSON API to Neo4j opens up for remote clients in any language, and
 would be an important part in matching offerings from other database
 vendors. While extendability is a great thing, building it as a library
 and/or packaging it as a WAR makes it very java-centric.


 Currently the neo4j-rest is distributed as a java application. So it
 is java-centric. What makes it attractive is that it allows using the
 HTTP protocol. Providing neo4j-rest as both a self contained app and
 as a web app will give you exactly the same benefits, with additional
 freedom on choosing how to use it, what servers to deploy it too, etc.

 Like you say, there is no security, and I agree it is currently the main
 culprit stopping neo4j REST from production use. This can of course be
 offset with firewalling etc, but I couldn't agree more of the importance
 of
 a proper security layer.


 Security was used as a basic example of things that could be much
 easier to be added on top of the neo4j-rest if provided in a simpler
 format. As you probably know already firewalls will give you at most a
 very basic sort of authentication, but nothing else.

 As far as UI interface to X goes, the area to focus on I think is the
 JSON
 part of the API. With that, a UI can be built in any language. Take a look
 at http://github.com/neo4j/webadmin for a more powerful browsing UI for
 neo4j REST.


 I think you mis-read my post. I'm not looking for a nice UI, but
 rather for a basis to further build REST services on top of a neo4j
 db. As Jim mentioned in his posts, currently neo4j-rest is just
 exposing the basics of a neo4j db.

 :- alex



  However the notion of just letting end users write their own code
  hadn't
 occurred at least to me. I guess I always assumed that if users really
 wanted a domain specific API then they'd write their own. But the notion
 of
 user-registered filters (at least) is pretty sensible.
 

 I think your initial assumption makes a lot of sense. But why would
 one have to duplicate all the work when this could provide him not
 only with a good example, but a common basis for a complete solution.
 I'm looking at it from the perspective of a DB vizualization tool:
 what's in there offers you the default view. Next you could build your
 own views, etc. You could even build your complete application using
 it.

 Best thing is that I don't even think it is difficult to get it being
 more a matter of packaging than anything else. All would be needed:

 - a web.xml file with some configuration options in it (db location)
 - providing better access to the GraphDatabaseService (see my previous
 suggestion) and other common shared resources (IndexService, etc)
 - a different final package in form of a war
 - done

 Does it make sense to you?

 :- alex

  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




 --
 Jacob Hansson
 Phone: +46 (0) 763503395
 Twitter: @jakewins
 ___
 Neo4j 

Re: [Neo4j] Using the REST neo4j

2010-09-09 Thread Alexandru Popescu ☀
On Tuesday, September 7, 2010, Jacob Hansson ja...@voltvoodoo.com wrote:
 2010/9/6 Alexandru Popescu ☀ the.mindstorm.mailingl...@gmail.com

 On Monday, September 6, 2010, Jim Webber j...@webber.name wrote:
  Hi Alex,
 
  While I still can achieve all these with the current packaging, it
  feels more hacky: I need to create a new Jetty6BasedWebServer or
  modify the existing one to enhance it with my own stuff. Each change
  would require compiling and repackaging the whole neo4j-rest.
  Definitely not as easy as dropping in my own jar and a new web.xml.
 
  That's an interesting point. In a sense, the neo-rest package is Neo's
 REST package.

 Interesting... My main question is: what exactly is this package
 offering to the end user in the current form? IMO it cannot be an
 off-the-shelf product as there is no security. It is not a library
 either, as extending it is not so easy. Basically, and without any
 intention to harm any feelings, it looks like one of those dummy web
 UI interface to X. And I'd say it has much more potential than that!



Jacob,

I must confess I'm totally confused by your comments below.

 I've always seen it as the beginnings of a proper stand-alone neo4j server.

If it is the beginning, then what comes next? And more importantly
from whom? Basically my proposal was meant to make things easier for
people to built on top of it, so I'm not really sure how you see the
continuation of it.

 A REST/JSON API to Neo4j opens up for remote clients in any language, and
 would be an important part in matching offerings from other database
 vendors. While extendability is a great thing, building it as a library
 and/or packaging it as a WAR makes it very java-centric.


Currently the neo4j-rest is distributed as a java application. So it
is java-centric. What makes it attractive is that it allows using the
HTTP protocol. Providing neo4j-rest as both a self contained app and
as a web app will give you exactly the same benefits, with additional
freedom on choosing how to use it, what servers to deploy it too, etc.

 Like you say, there is no security, and I agree it is currently the main
 culprit stopping neo4j REST from production use. This can of course be
 offset with firewalling etc, but I couldn't agree more of the importance of
 a proper security layer.


Security was used as a basic example of things that could be much
easier to be added on top of the neo4j-rest if provided in a simpler
format. As you probably know already firewalls will give you at most a
very basic sort of authentication, but nothing else.

 As far as UI interface to X goes, the area to focus on I think is the JSON
 part of the API. With that, a UI can be built in any language. Take a look
 at http://github.com/neo4j/webadmin for a more powerful browsing UI for
 neo4j REST.


I think you mis-read my post. I'm not looking for a nice UI, but
rather for a basis to further build REST services on top of a neo4j
db. As Jim mentioned in his posts, currently neo4j-rest is just
exposing the basics of a neo4j db.

:- alex



  However the notion of just letting end users write their own code hadn't
 occurred at least to me. I guess I always assumed that if users really
 wanted a domain specific API then they'd write their own. But the notion of
 user-registered filters (at least) is pretty sensible.
 

 I think your initial assumption makes a lot of sense. But why would
 one have to duplicate all the work when this could provide him not
 only with a good example, but a common basis for a complete solution.
 I'm looking at it from the perspective of a DB vizualization tool:
 what's in there offers you the default view. Next you could build your
 own views, etc. You could even build your complete application using
 it.

 Best thing is that I don't even think it is difficult to get it being
 more a matter of packaging than anything else. All would be needed:

 - a web.xml file with some configuration options in it (db location)
 - providing better access to the GraphDatabaseService (see my previous
 suggestion) and other common shared resources (IndexService, etc)
 - a different final package in form of a war
 - done

 Does it make sense to you?

 :- alex

  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




 --
 Jacob Hansson
 Phone: +46 (0) 763503395
 Twitter: @jakewins
 ___
 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] Using the REST neo4j

2010-09-07 Thread Jacob Hansson
2010/9/6 Alexandru Popescu ☀ the.mindstorm.mailingl...@gmail.com

 On Monday, September 6, 2010, Jim Webber j...@webber.name wrote:
  Hi Alex,
 
  While I still can achieve all these with the current packaging, it
  feels more hacky: I need to create a new Jetty6BasedWebServer or
  modify the existing one to enhance it with my own stuff. Each change
  would require compiling and repackaging the whole neo4j-rest.
  Definitely not as easy as dropping in my own jar and a new web.xml.
 
  That's an interesting point. In a sense, the neo-rest package is Neo's
 REST package.

 Interesting... My main question is: what exactly is this package
 offering to the end user in the current form? IMO it cannot be an
 off-the-shelf product as there is no security. It is not a library
 either, as extending it is not so easy. Basically, and without any
 intention to harm any feelings, it looks like one of those dummy web
 UI interface to X. And I'd say it has much more potential than that!


I've always seen it as the beginnings of a proper stand-alone neo4j server.
A REST/JSON API to Neo4j opens up for remote clients in any language, and
would be an important part in matching offerings from other database
vendors. While extendability is a great thing, building it as a library
and/or packaging it as a WAR makes it very java-centric.

Like you say, there is no security, and I agree it is currently the main
culprit stopping neo4j REST from production use. This can of course be
offset with firewalling etc, but I couldn't agree more of the importance of
a proper security layer.

As far as UI interface to X goes, the area to focus on I think is the JSON
part of the API. With that, a UI can be built in any language. Take a look
at http://github.com/neo4j/webadmin for a more powerful browsing UI for
neo4j REST.



  However the notion of just letting end users write their own code hadn't
 occurred at least to me. I guess I always assumed that if users really
 wanted a domain specific API then they'd write their own. But the notion of
 user-registered filters (at least) is pretty sensible.
 

 I think your initial assumption makes a lot of sense. But why would
 one have to duplicate all the work when this could provide him not
 only with a good example, but a common basis for a complete solution.
 I'm looking at it from the perspective of a DB vizualization tool:
 what's in there offers you the default view. Next you could build your
 own views, etc. You could even build your complete application using
 it.

 Best thing is that I don't even think it is difficult to get it being
 more a matter of packaging than anything else. All would be needed:

 - a web.xml file with some configuration options in it (db location)
 - providing better access to the GraphDatabaseService (see my previous
 suggestion) and other common shared resources (IndexService, etc)
 - a different final package in form of a war
 - done

 Does it make sense to you?

 :- alex

  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




-- 
Jacob Hansson
Phone: +46 (0) 763503395
Twitter: @jakewins
___
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


Re: [Neo4j] Using the REST neo4j

2010-09-06 Thread Jim Webber
Hi Alex,

AFAIK the neo-rest stuff isn't intended for you to create your own resources at 
this point. It's a way of projecting an internal graph onto the big graph (i.e. 
the Web).

If you're going to build your own RESTful service at this point, then go ahead 
an use something like Jersey and bind to Neo4j directly through the Java API 
(which is what neo-rest does).

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


Re: [Neo4j] Using the REST neo4j

2010-09-06 Thread Alexandru Popescu ☀
On Monday, September 6, 2010, Jim Webber j...@webber.name wrote:
 Hi Alex,

 AFAIK the neo-rest stuff isn't intended for you to create your own resources 
 at this point. It's a way of projecting an internal graph onto the big graph 
 (i.e. the Web).

 If you're going to build your own RESTful service at this point, then go 
 ahead an use something like Jersey and bind to Neo4j directly through the 
 Java API (which is what neo-rest does).


Isn't it a pitty that I'll have to duplicate all this work? Not to
mention that all this could go away with a very small change: a web
app packaging instead of providing an application like packaging. In
fact I think it would be quite easy to provide both using the same
project stracture and resources, only two different builds.

For my little experiment I was looking for adding a single
'computational' resource: an advanced/custom search. Everything else
would have served me well. How easy would have been to create this
additional resource, add the jar to the lib and update the resource
packages in web.xml?

Anyways, for my little experiment I'll go with a command line approach
as I'm more interested for now in the final result than the form of
it.

By the way, don't get me wrong: I'm not arguing the decisions that led
to this sort of distribution of neo4j-rest. I'm just trying to say
that a different packaging would allow a much easier adoption of this
component as people would be able to effectively reuse and extend it,
while currently the only option is to use it as it is.

Bests,

:- alex

 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] Using the REST neo4j

2010-09-06 Thread Jim Webber
Hi Alex,

 Isn't it a pitty that I'll have to duplicate all this work? 

Could you elaborate on what you'd need to do to avoid duplication? Are you 
suggesting you'd like to sit in the same Jersey instance as the neo-rest 
service?

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


Re: [Neo4j] Using the REST neo4j

2010-09-06 Thread Alexandru Popescu ☀
On Mon, Sep 6, 2010 at 12:20 PM, Jim Webber j...@webber.name wrote:
 Hi Alex,

 Isn't it a pitty that I'll have to duplicate all this work?

 Could you elaborate on what you'd need to do to avoid duplication? Are you 
 suggesting you'd like to sit in the same Jersey instance as the neo-rest 
 service?

Yes: what is provided by neo4j-rest is a good start. Then you can
build around it your own/custom resources.

If neo4j-rest would be available as a webapp, then things like:

1. adding custom filters (e.g. security) would be trivial
2. adding custom resources would simply require a new deployed jar and
a small change in web.xml
3. dealing with static resources in a simpler way would be easier (not
the way it is currently implemented ;-)

etc.

While I still can achieve all these with the current packaging, it
feels more hacky: I need to create a new Jetty6BasedWebServer or
modify the existing one to enhance it with my own stuff. Each change
would require compiling and repackaging the whole neo4j-rest.
Definitely not as easy as dropping in my own jar and a new web.xml.

2. On the same note, I was wondering why the GraphDatabaseService is
not initialized on some ContextListener and made available/injected
through the ServletContext or something like that.

Thoughts?

:- alex


 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] Using the REST neo4j

2010-09-06 Thread Jim Webber
Hi Alex,

 While I still can achieve all these with the current packaging, it
 feels more hacky: I need to create a new Jetty6BasedWebServer or
 modify the existing one to enhance it with my own stuff. Each change
 would require compiling and repackaging the whole neo4j-rest.
 Definitely not as easy as dropping in my own jar and a new web.xml.

That's an interesting point. In a sense, the neo-rest package is Neo's REST 
package. Over time I expect to see a much richer set of functionality there 
(e.g. the ability to send traversal code to the server), security, etc.

However the notion of just letting end users write their own code hadn't 
occurred at least to me. I guess I always assumed that if users really wanted a 
domain specific API then they'd write their own. But the notion of 
user-registered filters (at least) is pretty sensible.

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


Re: [Neo4j] Using the REST neo4j

2010-09-06 Thread Alexandru Popescu ☀
On Monday, September 6, 2010, Jim Webber j...@webber.name wrote:
 Hi Alex,

 While I still can achieve all these with the current packaging, it
 feels more hacky: I need to create a new Jetty6BasedWebServer or
 modify the existing one to enhance it with my own stuff. Each change
 would require compiling and repackaging the whole neo4j-rest.
 Definitely not as easy as dropping in my own jar and a new web.xml.

 That's an interesting point. In a sense, the neo-rest package is Neo's REST 
 package.

Interesting... My main question is: what exactly is this package
offering to the end user in the current form? IMO it cannot be an
off-the-shelf product as there is no security. It is not a library
either, as extending it is not so easy. Basically, and without any
intention to harm any feelings, it looks like one of those dummy web
UI interface to X. And I'd say it has much more potential than that!

 However the notion of just letting end users write their own code hadn't 
 occurred at least to me. I guess I always assumed that if users really wanted 
 a domain specific API then they'd write their own. But the notion of 
 user-registered filters (at least) is pretty sensible.


I think your initial assumption makes a lot of sense. But why would
one have to duplicate all the work when this could provide him not
only with a good example, but a common basis for a complete solution.
I'm looking at it from the perspective of a DB vizualization tool:
what's in there offers you the default view. Next you could build your
own views, etc. You could even build your complete application using
it.

Best thing is that I don't even think it is difficult to get it being
more a matter of packaging than anything else. All would be needed:

- a web.xml file with some configuration options in it (db location)
- providing better access to the GraphDatabaseService (see my previous
suggestion) and other common shared resources (IndexService, etc)
- a different final package in form of a war
- done

Does it make sense to you?

:- alex

 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] Using the REST neo4j

2010-09-06 Thread Jim Webber
Hi Alex,

 Interesting... My main question is: what exactly is this package
 offering to the end user in the current form? IMO it cannot be an
 off-the-shelf product as there is no security. It is not a library
 either, as extending it is not so easy. Basically, and without any
 intention to harm any feelings, it looks like one of those dummy web
 UI interface to X. And I'd say it has much more potential than that!

All it offers at the moment is a way to connect Neo graphs to the big graph 
(aka WWW). That's all we had in mind for the first release. We had other 
features in mind for subsequent releases (which we'd cleverly codenamed crawl, 
walk, and run), but nobody's gotten round to them yet.

TLS is always an option for security, but more fine-grained access would also 
be useful. That would be an interesting use-case for filters perhaps.

 I think your initial assumption makes a lot of sense. But why would
 one have to duplicate all the work when this could provide him not
 only with a good example, but a common basis for a complete solution.

Ah, that would be the Neo server aka run which hasn't yet been designed, 
let alone built. But you're right - at the moment the REST interface is basic. 
What form the full REST-ified server would take is still up for grabs. 

 I'm looking at it from the perspective of a DB vizualization tool:
 what's in there offers you the default view. Next you could build your
 own views, etc. You could even build your complete application using
 it.

RIght. That would be something like the traverser framework support I'd like to 
see go into the walk version of the interface. Or perhaps it's a JavaScript 
framework that goes into the run version of the server. I dunno - perhaps 
some kind of roadmap might be a good idea.

 Does it make sense to you?

Makes sense. Somebody (perhaps even me) just needs to find some time to do it.

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


[Neo4j] Using the REST neo4j

2010-09-05 Thread Alexandru Popescu ☀
Hi all,

I know this will probably sound much more stupid than my first email
to the list, but after thinking for a bit I'm not sure I understand
how one would be using the pre-packaged neo4j-rest.

I've used some groovy script to load some test data in a neo4j db. I'm
pretty sure it is in there as my script is also checking on this. Then
I'm starting the neo4j-rest and try to look under the node 0...
nothing. I want to navigate from node 0 but there are no relationships
listed. Maybe I can access directly a node as my script is listing the
IDs out. Nothing...

So, how exactly would one use neo4j-rest?

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


Re: [Neo4j] Using the REST neo4j

2010-09-05 Thread Alexandru Popescu ☀
To answer my own question: it looks like deploying a jar including the
relationship definitions and including this in wrapper.conf gives you
access to the nodes.

My bad,

:- alex

2010/9/5 Alexandru Popescu ☀ the.mindstorm.mailingl...@gmail.com:
 Hi all,

 I know this will probably sound much more stupid than my first email
 to the list, but after thinking for a bit I'm not sure I understand
 how one would be using the pre-packaged neo4j-rest.

 I've used some groovy script to load some test data in a neo4j db. I'm
 pretty sure it is in there as my script is also checking on this. Then
 I'm starting the neo4j-rest and try to look under the node 0...
 nothing. I want to navigate from node 0 but there are no relationships
 listed. Maybe I can access directly a node as my script is listing the
 IDs out. Nothing...

 So, how exactly would one use neo4j-rest?

 :- alex

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


Re: [Neo4j] Using the REST neo4j

2010-09-05 Thread Alexandru Popescu ☀
2010/9/6 Alexandru Popescu ☀ the.mindstorm.mailingl...@gmail.com:
 Still on the neo4j-rest component. Is this the correct SVN info:

 https://svn.neo4j.org/laboratory/components/rest/

 I don't seem to find the web.xml in there...

 As I'm not an expert, I'm wondering if someone could tell me how to
 enable the neo4j maven repository as the project doesn't seem to build
 without it.


I guess in the end we should delete this thread... it seems like I'm
too tired and asking only stupid questions. I wasn't expecting to see
a main class instead of the webapp though

:- alex
 thanks,

 :- alex



 2010/9/5 Alexandru Popescu ☀ the.mindstorm.mailingl...@gmail.com:
 To answer my own question: it looks like deploying a jar including the
 relationship definitions and including this in wrapper.conf gives you
 access to the nodes.

 My bad,

 :- alex

 2010/9/5 Alexandru Popescu ☀ the.mindstorm.mailingl...@gmail.com:
 Hi all,

 I know this will probably sound much more stupid than my first email
 to the list, but after thinking for a bit I'm not sure I understand
 how one would be using the pre-packaged neo4j-rest.

 I've used some groovy script to load some test data in a neo4j db. I'm
 pretty sure it is in there as my script is also checking on this. Then
 I'm starting the neo4j-rest and try to look under the node 0...
 nothing. I want to navigate from node 0 but there are no relationships
 listed. Maybe I can access directly a node as my script is listing the
 IDs out. Nothing...

 So, how exactly would one use neo4j-rest?

 :- alex



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


Re: [Neo4j] Using the REST neo4j

2010-09-05 Thread Paddy
Hi Alex,
I don't think theres such thing as a stupid question! Keep asking, it the
only way to learn :) Did you get it working? Maybe the documentation needs
to be expanded.  I don't have much experience with the neo4j REST but maybe
this would help?
http://wiki.neo4j.org/content/Getting_Started_Guide#If_you_use_Maven
http://blog.neo4j.org/2010/04/neo4j-rest-server-part1-get-it-going.html


Paddy


2010/9/5 Alexandru Popescu ☀ the.mindstorm.mailingl...@gmail.com

 2010/9/6 Alexandru Popescu ☀ the.mindstorm.mailingl...@gmail.com:
  Still on the neo4j-rest component. Is this the correct SVN info:
 
  https://svn.neo4j.org/laboratory/components/rest/
 
  I don't seem to find the web.xml in there...
 
  As I'm not an expert, I'm wondering if someone could tell me how to
  enable the neo4j maven repository as the project doesn't seem to build
  without it.
 

 I guess in the end we should delete this thread... it seems like I'm
 too tired and asking only stupid questions. I wasn't expecting to see
 a main class instead of the webapp though

 :- alex
  thanks,
 
  :- alex
 
 
 
  2010/9/5 Alexandru Popescu ☀ the.mindstorm.mailingl...@gmail.com:
  To answer my own question: it looks like deploying a jar including the
  relationship definitions and including this in wrapper.conf gives you
  access to the nodes.
 
  My bad,
 
  :- alex
 
  2010/9/5 Alexandru Popescu ☀ the.mindstorm.mailingl...@gmail.com:
  Hi all,
 
  I know this will probably sound much more stupid than my first email
  to the list, but after thinking for a bit I'm not sure I understand
  how one would be using the pre-packaged neo4j-rest.
 
  I've used some groovy script to load some test data in a neo4j db. I'm
  pretty sure it is in there as my script is also checking on this. Then
  I'm starting the neo4j-rest and try to look under the node 0...
  nothing. I want to navigate from node 0 but there are no relationships
  listed. Maybe I can access directly a node as my script is listing the
  IDs out. Nothing...
 
  So, how exactly would one use neo4j-rest?
 
  :- alex
 
 
 
 ___
 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] Using the REST neo4j

2010-09-05 Thread Alexandru Popescu ☀
On Mon, Sep 6, 2010 at 2:37 AM, Paddy paddyf...@gmail.com wrote:
 Hi Alex,
 I don't think theres such thing as a stupid question! Keep asking, it the
 only way to learn :) Did you get it working? Maybe the documentation needs
 to be expanded.  I don't have much experience with the neo4j REST but maybe
 this would help?
 http://wiki.neo4j.org/content/Getting_Started_Guide#If_you_use_Maven
 http://blog.neo4j.org/2010/04/neo4j-rest-server-part1-get-it-going.html


Getting it started works as explained in those documents. But I was
looking to extend it with some custom functionality (an advanced
query) which doesn't seem to be as easy as I thought.

My assumption was that the neo4j-rest is a web app using jersey and so
adding new functionality would just mean:

- creating my own resources
- get my hands on the GraphDatabaseService and the IndexServices I needed
- adding my resource package(s) to the web.xml

I might still be able to get it working, but it would basically mean
to rebuild the whole neo4j-rest project.

:- alex




 Paddy


 2010/9/5 Alexandru Popescu ☀ the.mindstorm.mailingl...@gmail.com

 2010/9/6 Alexandru Popescu ☀ the.mindstorm.mailingl...@gmail.com:
  Still on the neo4j-rest component. Is this the correct SVN info:
 
  https://svn.neo4j.org/laboratory/components/rest/
 
  I don't seem to find the web.xml in there...
 
  As I'm not an expert, I'm wondering if someone could tell me how to
  enable the neo4j maven repository as the project doesn't seem to build
  without it.
 

 I guess in the end we should delete this thread... it seems like I'm
 too tired and asking only stupid questions. I wasn't expecting to see
 a main class instead of the webapp though

 :- alex
  thanks,
 
  :- alex
 
 
 
  2010/9/5 Alexandru Popescu ☀ the.mindstorm.mailingl...@gmail.com:
  To answer my own question: it looks like deploying a jar including the
  relationship definitions and including this in wrapper.conf gives you
  access to the nodes.
 
  My bad,
 
  :- alex
 
  2010/9/5 Alexandru Popescu ☀ the.mindstorm.mailingl...@gmail.com:
  Hi all,
 
  I know this will probably sound much more stupid than my first email
  to the list, but after thinking for a bit I'm not sure I understand
  how one would be using the pre-packaged neo4j-rest.
 
  I've used some groovy script to load some test data in a neo4j db. I'm
  pretty sure it is in there as my script is also checking on this. Then
  I'm starting the neo4j-rest and try to look under the node 0...
  nothing. I want to navigate from node 0 but there are no relationships
  listed. Maybe I can access directly a node as my script is listing the
  IDs out. Nothing...
 
  So, how exactly would one use neo4j-rest?
 
  :- alex
 
 
 
 ___
 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