Re: [Neo4j] Using the REST neo4j
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
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
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
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
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/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
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
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
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
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
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
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
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
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
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/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
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
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